* The intention is that this function replaces all old wfMsg* functions.
* @param $key \string Message key.
* Varargs: normal message parameters.
- * @return \type{Message}
+ * @return Message
* @since 1.17
*/
function wfMessage( $key /*...*/) {
return;
}
-
// Upload verification
$details = $this->mUpload->verifyUpload();
if ( $details['status'] != UploadBase::OK ) {
protected $mDesiredDestName, $mDestName, $mRemoveTempFile, $mSourceType;
protected $mTitle = false, $mTitleError = 0;
protected $mFilteredName, $mFinalExtension;
- protected $mLocalFile;
+ protected $mLocalFile, $mFileSize, $mFileProps;
+ protected $mBlackListedExtensions;
const SUCCESS = 0;
const OK = 0;
* Returns true if the user can use this upload module or else a string
* identifying the missing permission.
* Can be overriden by subclasses.
+ *
+ * @param $user User
*/
public static function isAllowed( $user ) {
foreach ( array( 'upload', 'edit' ) as $permission ) {
/**
* Create a form of UploadBase depending on wpSourceType and initializes it
+ *
+ * @param $request WebRequest
*/
public static function createFromRequest( &$request, $type = null ) {
$type = $type ? $type : $request->getVal( 'wpSourceType', 'File' );
* isAllowed() should be called as well for generic is-user-blocked or
* can-user-upload checking.
*
- * @param $user the User object to verify the permissions against
+ * @param $user User object to verify the permissions against
* @return mixed An array as returned by getUserPermissionsErrors or true
* in case the user has proper permissions.
*/
* Really perform the upload. Stores the file in the local repo, watches
* if necessary and runs the UploadComplete hook.
*
+ * @param $user User
+ *
* @return Status indicating the whether the upload succeeded.
*/
public function performUpload( $comment, $pageText, $watch, $user ) {
/**
* Return the local file and initializes if necessary.
+ *
+ * @return LocalFile
*/
public function getLocalFile() {
if( is_null( $this->mLocalFile ) ) {
* Check if there's an overwrite conflict and, if so, if restrictions
* forbid this user from performing the upload.
*
+ * @param $user User
+ *
* @return mixed true on success, error string on failure
*/
private function checkOverwrite( $user ) {
*/
class UploadFromFile extends UploadBase {
+
+ /**
+ * @var WebRequestUpload
+ */
protected $mUpload = null;
+ /**
+ * @param $request WebRequest
+ */
function initializeFromRequest( &$request ) {
$upload = $request->getUpload( 'wpUploadFile' );
$desiredDestName = $request->getText( 'wpDestFile' );
public function getFileTempname() {
return $this->mUpload->getTempname();
}
-
-
}
*/
class UploadFromStash extends UploadBase {
+
+ protected $initializePathInfo, $mSessionKey, $mVirtualTempPath,
+ $mFileProps, $mSourceType;
+
public static function isValidSessionKey( $key, $sessionData ) {
return !empty( $key ) &&
is_array( $sessionData ) &&
$sessionData[$key]['version'] == UploadBase::SESSION_VERSION;
}
+ /**
+ * @param $request WebRequest
+ *
+ * @return Boolean
+ */
public static function isValidRequest( $request ) {
$sessionData = $request->getSessionData( UploadBase::SESSION_KEYNAME );
return self::isValidSessionKey(
$sessionData['mSourceType'] : null;
}
+ /**
+ * @param $request WebRequest
+ */
public function initializeFromRequest( &$request ) {
$sessionKey = $request->getText( 'wpSessionKey' );
$sessionData = $request->getSessionData( UploadBase::SESSION_KEYNAME );
return true;
}
-
/**
* There is no need to stash the image twice
*/
protected $mAsync, $mUrl;
protected $mIgnoreWarnings = true;
+ protected $mTempPath;
+
/**
* Checks if the user is allowed to use the upload-by-URL feature. If the
* user is allowed, pass on permissions checking to the parent.
+ *
+ * @param $user User
*/
public static function isAllowed( $user ) {
if ( !$user->isAllowed( 'upload_by_url' ) )
/**
* Entry point for SpecialUpload
- * @param $request Object: WebRequest object
+ * @param $request WebRequest object
*/
public function initializeFromRequest( &$request ) {
$desiredDestName = $request->getText( 'wpDestFile' );
}
/**
- * @param $request Object: WebRequest object
+ * @param $request WebRequest object
*/
public static function isValidRequest( $request ) {
global $wgUser;
return $sessionKey;
}
-
}
public $repo;
// array of initialized objects obtained from session (lazily initialized upon getFile())
- private $files = array();
+ private $files = array();
// TODO: Once UploadBase starts using this, switch to use these constants rather than UploadBase::SESSION*
// const SESSION_VERSION = 2;
}
-
/**
* Get a file and its metadata from the stash.
* May throw exception if session data cannot be parsed due to schema change, or key not found.
throw new UploadStashBadPathException( "key '$key' is not in a proper format" );
}
-
// if not already in a temporary area, put it there
$status = $this->repo->storeTemp( basename( $path ), $path );
private $sessionKey;
private $sessionData;
private $urlName;
+ protected $url;
/**
* A LocalFile wrapper around a file that has been temporarily stashed, so we can do things like create thumbnails for it