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