MediaWiki master
MediaWiki\Upload\UploadFromStash Class Reference

Implements uploading from previously stored file. More...

Inherits MediaWiki\Upload\UploadBase.

Collaboration diagram for MediaWiki\Upload\UploadFromStash:

Public Member Functions

 __construct (?UserIdentity $user=null, $stash=false, $repo=false)
 
 getSourceType ()
 
 getTempFileSha1Base36 ()
 Get the base 36 SHA1 of the file.
 
 initialize ( $key, $name='upload_file', $initTempFile=true)
 
 initializeFromRequest (&$request)
 
 postProcessUpload ()
 Remove the database record after a successful upload.
 
 unsaveUploadedFile ()
 Remove a temporarily kept file stashed by saveTempUploadedFile().
 
- Public Member Functions inherited from MediaWiki\Upload\UploadBase
 __construct ()
 
 authorizeUpload (Authority $performer)
 Check whether the user can upload the image.
 
 canFetchFile ()
 Perform checks to see if the file can be fetched.
 
 checkWarnings ( $user=null)
 Check for non fatal problems with the file.
 
 cleanupTempFile ()
 If we've modified the upload file, then we need to manually remove it on exit to clean up.
 
 convertVerifyErrorToStatus (array $error)
 
 fetchFile ()
 Fetch the file.
 
 getDesiredDestName ()
 Get the desired destination name.
 
 getFileSize ()
 Return the file size.
 
 getImageInfo ( $result=null)
 Gets image info about the file just uploaded.
 
 getLocalFile ()
 Return the local file and initializes if necessary.
 
 getRealPath ( $srcPath)
 
 getStashFile ()
 
 getTempPath ()
 
 getTitle ()
 Returns the title of the file to be uploaded.
 
 getVerificationErrorCode ( $error)
 
 initializePathInfo ( $name, $tempPath, $fileSize, $removeTempFile=false)
 
 isEmptyFile ()
 Return true if the file is empty.
 
 performUpload ( $comment, $pageText, $watch, $user, $tags=[], ?string $watchlistExpiry=null)
 Really perform the upload.
 
 skipStashFileAttempt ()
 Check, if stash file attempt should be skipped, for example when the file is already known to stash.
 
 tryStashFile (User $user, $isPartial=false)
 Like stashFile(), but respects extensions' wishes to prevent the stashing.
 
 validateName ()
 Verify that the name is valid and, if necessary, that we can overwrite.
 
 verifyUpload ()
 Verify whether the upload is sensible.
 

Static Public Member Functions

static isValidKey ( $key)
 
static isValidRequest ( $request)
 
- Static Public Member Functions inherited from MediaWiki\Upload\UploadBase
static checkFileExtension ( $ext, $list)
 Perform case-insensitive match against a list of file extensions.
 
static checkFileExtensionList ( $ext, $list)
 Perform case-insensitive match against a list of file extensions.
 
static createFromRequest (&$request, $type=null)
 Create a form of UploadBase depending on wpSourceType and initializes it.
 
static detectScript ( $file, $mime, $extension)
 Heuristic for detecting files that could contain JavaScript instructions or things that may look like HTML to a browser and are thus potentially harmful.
 
static detectVirus ( $file)
 Generic wrapper function for a virus scanner program.
 
static getExistsWarning ( $file)
 Helper function that does various existence checks for a file.
 
static getFilenamePrefixBlacklist ()
 Get a list of disallowed filename prefixes from [[MediaWiki:Filename-prefix-blacklist]].
 
static getMaxPhpUploadSize ()
 Get the PHP maximum uploaded file size, based on ini settings.
 
static getMaxUploadSize ( $forType=null)
 Get MediaWiki's maximum uploaded file size for a given type of upload, based on $wgMaxUploadSize.
 
static getSessionStatus (UserIdentity $user, $statusKey)
 Get the current status of a chunked upload (used for polling).
 
static isAllowed (Authority $performer)
 Returns true if the user can use this upload module or else a string identifying the missing permission.
 
static isEnabled ()
 Returns true if uploads are enabled.
 
static isThrottled ( $user)
 Returns true if the user has surpassed the upload rate limit, false otherwise.
 
static isThumbName ( $filename)
 Helper function that checks whether the filename looks like a thumbnail.
 
static makeWarningsSerializable ( $warnings)
 Convert the warnings array returned by checkWarnings() to something that can be serialized, and that is suitable for inclusion directly in action API results.
 
static setSessionStatus (UserIdentity $user, $statusKey, $value)
 Set the current status of a chunked upload (used for polling).
 
static splitExtensions ( $filename)
 Split a file into a base name and all dot-delimited 'extensions' on the end.
 
static unserializeWarnings ( $warnings)
 Convert the serialized warnings array created by makeWarningsSerializable() back to the output of checkWarnings().
 
static userCanReUpload (Authority $performer, File $img)
 Check if a user is the last uploader.
 
static verifyExtension ( $mime, $extension)
 Checks if the MIME type of the uploaded file matches the file extension.
 

Protected Attributes

string $mFileKey
 
string $mSourceType
 
string $mVirtualTempPath
 
- Protected Attributes inherited from MediaWiki\Upload\UploadBase
string[] $mBlackListedExtensions
 
string null $mDesiredDestName
 
string null $mDestName
 
array null $mFileProps
 
int null $mFileSize
 
string null $mFilteredName
 
string null $mFinalExtension
 
LocalFile null $mLocalFile
 
bool null $mRemoveTempFile
 
string null $mSourceType
 
UploadStashFile null $mStashFile
 
string null $mTempPath
 Local file system path to the file to upload (or a local copy)
 
Title false null $mTitle = false
 
int $mTitleError = 0
 
TempFSFile null $tempFileObj
 Wrapper to handle deleting the temp file.
 

Additional Inherited Members

- Public Attributes inherited from MediaWiki\Upload\UploadBase
const EMPTY_FILE = 3
 
const FILE_TOO_LARGE = 12
 
const FILENAME_TOO_LONG = 14
 
const FILETYPE_BADTYPE = 9
 
const FILETYPE_MISSING = 8
 
const ILLEGAL_FILENAME = 5
 
const MIN_LENGTH_PARTNAME = 4
 
const OK = 0
 
const SUCCESS = 0
 
const VERIFICATION_ERROR = 10
 
const WINDOWS_NONASCII_FILENAME = 13
 
- Protected Member Functions inherited from MediaWiki\Upload\UploadBase
 doStashFile (?User $user=null)
 Implementation for stashFile() and tryStashFile().
 
 getFileProps ()
 File props is very expensive on large files (due to sha1 calc) so it is important we save the result to reuse.
 
 runUploadStashFileHook (User $user)
 
 setTempFile ( $tempPath, $fileSize=null)
 
 verifyFile ()
 Verifies that it's ok to include the uploaded file.
 
 verifyMimeType ( $mime)
 Verify the MIME type.
 
 verifyPartialFile ()
 A verification routine suitable for partial files.
 

Detailed Description

Implements uploading from previously stored file.

Author
Bryan Tong Minh

Definition at line 25 of file UploadFromStash.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Upload\UploadFromStash::__construct ( ?UserIdentity $user = null,
$stash = false,
$repo = false )
Parameters
UserIdentity | null$userDefault: null Sometimes this won't exist, as when running from cron.
UploadStash | false$stashDefault: false
LocalRepo | false$repoDefault: false

Definition at line 44 of file UploadFromStash.php.

References MediaWiki\MediaWikiServices\getInstance(), and wfDebug().

Member Function Documentation

◆ getSourceType()

MediaWiki\Upload\UploadFromStash::getSourceType ( )
Returns
string

Reimplemented from MediaWiki\Upload\UploadBase.

Definition at line 134 of file UploadFromStash.php.

References MediaWiki\Upload\UploadFromStash\$mSourceType.

◆ getTempFileSha1Base36()

MediaWiki\Upload\UploadFromStash::getTempFileSha1Base36 ( )

Get the base 36 SHA1 of the file.

Returns
string

Reimplemented from MediaWiki\Upload\UploadBase.

Definition at line 142 of file UploadFromStash.php.

◆ initialize()

MediaWiki\Upload\UploadFromStash::initialize ( $key,
$name = 'upload_file',
$initTempFile = true )
Parameters
string$key
string$name
bool$initTempFile

Definition at line 90 of file UploadFromStash.php.

References MediaWiki\Upload\UploadBase\getRealPath(), MediaWiki\Upload\UploadBase\initializePathInfo(), and wfMessage().

Referenced by MediaWiki\Upload\UploadFromStash\initializeFromRequest().

◆ initializeFromRequest()

MediaWiki\Upload\UploadFromStash::initializeFromRequest ( & $request)
Parameters
WebRequest&$request

Reimplemented from MediaWiki\Upload\UploadBase.

Definition at line 118 of file UploadFromStash.php.

References MediaWiki\Upload\UploadFromStash\initialize().

◆ isValidKey()

static MediaWiki\Upload\UploadFromStash::isValidKey ( $key)
static
Parameters
string$key
Returns
bool

Definition at line 69 of file UploadFromStash.php.

References MediaWiki\Upload\UploadStash\KEY_FORMAT_REGEX.

Referenced by MediaWiki\Upload\UploadFromStash\isValidRequest().

◆ isValidRequest()

static MediaWiki\Upload\UploadFromStash::isValidRequest ( $request)
static
Parameters
WebRequest$request
Returns
bool

Reimplemented from MediaWiki\Upload\UploadBase.

Definition at line 78 of file UploadFromStash.php.

References MediaWiki\Upload\UploadFromStash\isValidKey().

◆ postProcessUpload()

MediaWiki\Upload\UploadFromStash::postProcessUpload ( )

Remove the database record after a successful upload.

Reimplemented from MediaWiki\Upload\UploadBase.

Definition at line 165 of file UploadFromStash.php.

References MediaWiki\Upload\UploadFromStash\unsaveUploadedFile().

◆ unsaveUploadedFile()

MediaWiki\Upload\UploadFromStash::unsaveUploadedFile ( )

Remove a temporarily kept file stashed by saveTempUploadedFile().

Returns
bool Success

Definition at line 157 of file UploadFromStash.php.

Referenced by MediaWiki\Upload\UploadFromStash\postProcessUpload().

Member Data Documentation

◆ $mFileKey

string MediaWiki\Upload\UploadFromStash::$mFileKey
protected

Definition at line 27 of file UploadFromStash.php.

◆ $mSourceType

string MediaWiki\Upload\UploadFromStash::$mSourceType
protected

Definition at line 31 of file UploadFromStash.php.

Referenced by MediaWiki\Upload\UploadFromStash\getSourceType().

◆ $mVirtualTempPath

string MediaWiki\Upload\UploadFromStash::$mVirtualTempPath
protected

Definition at line 29 of file UploadFromStash.php.


The documentation for this class was generated from the following file: