From baf83f74b8ec77a4a7a9ccb5195f80ec2243a7d7 Mon Sep 17 00:00:00 2001 From: Sam Reed Date: Sun, 20 Feb 2011 13:33:42 +0000 Subject: [PATCH] More explicit variable definitions, function documentation --- includes/GlobalFunctions.php | 2 +- includes/specials/SpecialUpload.php | 1 - includes/upload/UploadBase.php | 15 +++++++++++++-- includes/upload/UploadFromFile.php | 9 +++++++-- includes/upload/UploadFromStash.php | 13 ++++++++++++- includes/upload/UploadFromUrl.php | 9 ++++++--- includes/upload/UploadStash.php | 5 ++--- 7 files changed, 41 insertions(+), 13 deletions(-) diff --git a/includes/GlobalFunctions.php b/includes/GlobalFunctions.php index 3b427422dc..e925c4b52a 100644 --- a/includes/GlobalFunctions.php +++ b/includes/GlobalFunctions.php @@ -473,7 +473,7 @@ function wfUILang() { * 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 /*...*/) { diff --git a/includes/specials/SpecialUpload.php b/includes/specials/SpecialUpload.php index b25b89640b..8525e522fd 100644 --- a/includes/specials/SpecialUpload.php +++ b/includes/specials/SpecialUpload.php @@ -440,7 +440,6 @@ class SpecialUpload extends SpecialPage { return; } - // Upload verification $details = $this->mUpload->verifyUpload(); if ( $details['status'] != UploadBase::OK ) { diff --git a/includes/upload/UploadBase.php b/includes/upload/UploadBase.php index 5f5dcfabd0..da2bc97258 100644 --- a/includes/upload/UploadBase.php +++ b/includes/upload/UploadBase.php @@ -18,7 +18,8 @@ abstract class UploadBase { 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; @@ -81,6 +82,8 @@ abstract class UploadBase { * 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 ) { @@ -96,6 +99,8 @@ abstract class UploadBase { /** * 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' ); @@ -399,7 +404,7 @@ abstract class UploadBase { * 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. */ @@ -504,6 +509,8 @@ abstract class UploadBase { * 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 ) { @@ -618,6 +625,8 @@ abstract class UploadBase { /** * Return the local file and initializes if necessary. + * + * @return LocalFile */ public function getLocalFile() { if( is_null( $this->mLocalFile ) ) { @@ -1049,6 +1058,8 @@ abstract class UploadBase { * 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 ) { diff --git a/includes/upload/UploadFromFile.php b/includes/upload/UploadFromFile.php index e38fbcf4da..b094828a18 100644 --- a/includes/upload/UploadFromFile.php +++ b/includes/upload/UploadFromFile.php @@ -8,8 +8,15 @@ */ class UploadFromFile extends UploadBase { + + /** + * @var WebRequestUpload + */ protected $mUpload = null; + /** + * @param $request WebRequest + */ function initializeFromRequest( &$request ) { $upload = $request->getUpload( 'wpUploadFile' ); $desiredDestName = $request->getText( 'wpDestFile' ); @@ -61,6 +68,4 @@ class UploadFromFile extends UploadBase { public function getFileTempname() { return $this->mUpload->getTempname(); } - - } diff --git a/includes/upload/UploadFromStash.php b/includes/upload/UploadFromStash.php index 804db6b4ed..50974c329c 100644 --- a/includes/upload/UploadFromStash.php +++ b/includes/upload/UploadFromStash.php @@ -8,6 +8,10 @@ */ class UploadFromStash extends UploadBase { + + protected $initializePathInfo, $mSessionKey, $mVirtualTempPath, + $mFileProps, $mSourceType; + public static function isValidSessionKey( $key, $sessionData ) { return !empty( $key ) && is_array( $sessionData ) && @@ -16,6 +20,11 @@ class UploadFromStash extends UploadBase { $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( @@ -45,6 +54,9 @@ class UploadFromStash extends UploadBase { $sessionData['mSourceType'] : null; } + /** + * @param $request WebRequest + */ public function initializeFromRequest( &$request ) { $sessionKey = $request->getText( 'wpSessionKey' ); $sessionData = $request->getSessionData( UploadBase::SESSION_KEYNAME ); @@ -66,7 +78,6 @@ class UploadFromStash extends UploadBase { return true; } - /** * There is no need to stash the image twice */ diff --git a/includes/upload/UploadFromUrl.php b/includes/upload/UploadFromUrl.php index 93a2b0b322..c65dcb7750 100644 --- a/includes/upload/UploadFromUrl.php +++ b/includes/upload/UploadFromUrl.php @@ -12,9 +12,13 @@ class UploadFromUrl extends UploadBase { 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' ) ) @@ -56,7 +60,7 @@ class UploadFromUrl extends UploadBase { /** * Entry point for SpecialUpload - * @param $request Object: WebRequest object + * @param $request WebRequest object */ public function initializeFromRequest( &$request ) { $desiredDestName = $request->getText( 'wpDestFile' ); @@ -70,7 +74,7 @@ class UploadFromUrl extends UploadBase { } /** - * @param $request Object: WebRequest object + * @param $request WebRequest object */ public static function isValidRequest( $request ) { global $wgUser; @@ -215,5 +219,4 @@ class UploadFromUrl extends UploadBase { return $sessionKey; } - } diff --git a/includes/upload/UploadStash.php b/includes/upload/UploadStash.php index ce73b8ba67..8a8ad80641 100644 --- a/includes/upload/UploadStash.php +++ b/includes/upload/UploadStash.php @@ -21,7 +21,7 @@ class UploadStash { 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; @@ -46,7 +46,6 @@ class UploadStash { } - /** * 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. @@ -126,7 +125,6 @@ class UploadStash { 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 ); @@ -230,6 +228,7 @@ class UploadStashFile extends UnregisteredLocalFile { 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 -- 2.20.1