here it is ... the upload-api, script-server, js2 (javascript phase2) branch merge...
[lhc/web/wiklou.git] / includes / upload / UploadFromStash.php
1 <?php
2 class UploadFromStash extends UploadBase {
3 static function isValidSessionKey( $key, $sessionData ) {
4 return !empty( $key ) &&
5 is_array( $sessionData ) &&
6 isset( $sessionData[$key] ) &&
7 isset( $sessionData[$key]['version'] ) &&
8 $sessionData[$key]['version'] == self::SESSION_VERSION
9 ;
10 }
11 static function isValidRequest(& $request ) {
12 $sessionData = $request->getSessionData('wsUploadData');
13 return self::isValidSessionKey(
14 $request->getInt( 'wpSessionKey' ),
15 $sessionData
16 );
17 }
18 function initialize( $name, $sessionData ) {
19 /**
20 * Confirming a temporarily stashed upload.
21 * We don't want path names to be forged, so we keep
22 * them in the session on the server and just give
23 * an opaque key to the user agent.
24 */
25 parent::initialize( $name,
26 $sessionData['mTempPath'],
27 $sessionData['mFileSize'],
28 false
29 );
30
31 $this->mFileProps = $sessionData['mFileProps'];
32 }
33 function initializeFromRequest( &$request ) {
34 $sessionKey = $request->getInt( 'wpSessionKey' );
35 $sessionData = $request->getSessionData('wsUploadData');
36
37 $desiredDestName = $request->getText( 'wpDestFile' );
38 if( !$desiredDestName )
39 $desiredDestName = $request->getText( 'wpUploadFile' );
40 return $this->initialize( $desiredDestName, $sessionData[$sessionKey] );
41 }
42
43 /**
44 * File has been previously verified so no need to do so again.
45 */
46 protected function verifyFile( $tmpfile ) {
47 return true;
48 }
49 /**
50 * We're here from "ignore warnings anyway" so return just OK
51 */
52 function checkWarnings() {
53 return array();
54 }
55 }
56 ?>