<?php
/**
- * @file
- * @ingroup upload
- *
* Implements uploading from previously stored file.
*
+ * @file
+ * @ingroup upload
* @author Bryan Tong Minh
*/
is_array( $sessionData ) &&
isset( $sessionData[$key] ) &&
isset( $sessionData[$key]['version'] ) &&
- $sessionData[$key]['version'] == self::SESSION_VERSION;
+ $sessionData[$key]['version'] == UploadBase::SESSION_VERSION;
}
public static function isValidRequest( $request ) {
- $sessionData = $request->getSessionData( self::SESSION_KEYNAME );
+ $sessionData = $request->getSessionData( UploadBase::SESSION_KEYNAME );
return self::isValidSessionKey(
- $request->getInt( 'wpSessionKey' ),
+ $request->getText( 'wpSessionKey' ),
$sessionData
);
}
public function initialize( $name, $sessionKey, $sessionData ) {
- /**
- * Confirming a temporarily stashed upload.
- * We don't want path names to be forged, so we keep
- * them in the session on the server and just give
- * an opaque key to the user agent.
- */
+ /**
+ * Confirming a temporarily stashed upload.
+ * We don't want path names to be forged, so we keep
+ * them in the session on the server and just give
+ * an opaque key to the user agent.
+ */
- $this->initializePathInfo( $name,
- $this->getRealPath ( $sessionData['mTempPath'] ),
- $sessionData['mFileSize'],
- false
- );
-
- $this->mSessionKey = $sessionKey;
- $this->mVirtualTempPath = $sessionData['mTempPath'];
- $this->mFileProps = $sessionData['mFileProps'];
+ $this->initializePathInfo( $name,
+ $this->getRealPath ( $sessionData['mTempPath'] ),
+ $sessionData['mFileSize'],
+ false
+ );
+
+ $this->mSessionKey = $sessionKey;
+ $this->mVirtualTempPath = $sessionData['mTempPath'];
+ $this->mFileProps = $sessionData['mFileProps'];
+ $this->mSourceType = isset( $sessionData['mSourceType'] ) ?
+ $sessionData['mSourceType'] : null;
}
public function initializeFromRequest( &$request ) {
- $sessionKey = $request->getInt( 'wpSessionKey' );
- $sessionData = $request->getSessionData( self::SESSION_KEYNAME );
+ $sessionKey = $request->getText( 'wpSessionKey' );
+ $sessionData = $request->getSessionData( UploadBase::SESSION_KEYNAME );
$desiredDestName = $request->getText( 'wpDestFile' );
if( !$desiredDestName )
return $this->initialize( $desiredDestName, $sessionKey, $sessionData[$sessionKey] );
}
+ public function getSourceType() {
+ return $this->mSourceType;
+ }
+
/**
* File has been previously verified so no need to do so again.
*/
/**
* There is no need to stash the image twice
*/
- public function stashSession() {
+ public function stashSession( $key = null ) {
if ( !empty( $this->mSessionKey ) )
return $this->mSessionKey;
return parent::stashSession();