MediaWiki REL1_27
UploadFromStash Class Reference

Implements uploading from previously stored file. More...

Inheritance diagram for UploadFromStash:
Collaboration diagram for UploadFromStash:

Public Member Functions

 __construct ( $user=false, $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.
 
 stashFile (User $user=null)
 Stash the file.
 
 stashSession ()
 This should return the key instead of the UploadStashFile instance, for backward compatibility.
 
 unsaveUploadedFile ()
 Remove a temporarily kept file stashed by saveTempUploadedFile().
 
- Public Member Functions inherited from UploadBase
 __construct ()
 
 checkSvgScriptCallback ( $element, $attribs, $data=null)
 
 checkWarnings ()
 Check for non fatal problems with the file.
 
 cleanupTempFile ()
 If we've modified the upload file we need to manually remove it on exit to clean up.
 
 convertVerifyErrorToStatus ( $error)
 
 fetchFile ()
 Fetch the file.
 
 getFileSize ()
 Return the file size.
 
 getImageInfo ( $result)
 Gets image info about the file just uploaded.
 
 getLocalFile ()
 Return the local file and initializes if necessary.
 
 getRealPath ( $srcPath)
 
 getTempPath ()
 
 getTitle ()
 Returns the title of the file to be uploaded.
 
 getVerificationErrorCode ( $error)
 
 initializePathInfo ( $name, $tempPath, $fileSize, $removeTempFile=false)
 Initialize the path information.
 
 isEmptyFile ()
 Return true if the file is empty.
 
 performUpload ( $comment, $pageText, $watch, $user, $tags=[])
 Really perform the upload.
 
 stashFileGetKey ()
 Stash a file in a temporary directory, returning a key which can be used to find the file again.
 
 validateName ()
 Verify that the name is valid and, if necessary, that we can overwrite.
 
 verifyPermissions ( $user)
 Alias for verifyTitlePermissions.
 
 verifyTitlePermissions ( $user)
 Check whether the user can edit, upload and create the image.
 
 verifyUpload ()
 Verify whether the upload is sane.
 
 zipEntryCallback ( $entry)
 Callback for ZipDirectoryReader to detect Java class files.
 

Static Public Member Functions

static isValidKey ( $key)
 
static isValidRequest ( $request)
 
- Static Public Member Functions inherited from 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 checkSvgExternalDTD ( $type, $publicId, $systemId)
 Verify that DTD urls referenced are only the standard dtds.
 
static checkSvgPICallback ( $target, $data)
 Callback to filter SVG Processing Instructions.
 
static checkXMLEncodingMissmatch ( $file)
 Check a whitelist of xml encodings that are known not to be interpreted differently by the server's xml parser (expat) and some common browsers.
 
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 blacklisted 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 the MediaWiki maximum uploaded file size for given type of upload, based on $wgMaxUploadSize.
 
static getSessionStatus (User $user, $statusKey)
 Get the current status of a chunked upload (used for polling)
 
static isAllowed ( $user)
 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 setSessionStatus (User $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 userCanReUpload (User $user, 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

 $mFileKey
 
 $mFileProps
 
 $mSourceType
 
 $mVirtualTempPath
 
- Protected Attributes inherited from UploadBase
 $mBlackListedExtensions
 
 $mDesiredDestName
 
 $mDestName
 
 $mFileProps
 
 $mFileSize
 
 $mFilteredName
 
 $mFinalExtension
 
 $mJavaDetected
 
 $mLocalFile
 
 $mRemoveTempFile
 
 $mSourceType
 
 $mSVGNSError
 
string $mTempPath
 Local file system path to the file to upload (or a local copy)
 
 $mTitle = false
 
 $mTitleError = 0
 
TempFSFile null $tempFileObj
 Wrapper to handle deleting the temp file.
 

Private Attributes

 $repo
 
 $stash
 

Additional Inherited Members

- Public Attributes inherited from UploadBase
const EMPTY_FILE = 3
 
const FILE_TOO_LARGE = 12
 
const FILENAME_TOO_LONG = 14
 
const FILETYPE_BADTYPE = 9
 
const FILETYPE_MISSING = 8
 
const HOOK_ABORTED = 11
 
const ILLEGAL_FILENAME = 5
 
const MIN_LENGTH_PARTNAME = 4
 
const OK = 0
 
const OVERWRITE_EXISTING_FILE = 7
 
const SUCCESS = 0
 
const VERIFICATION_ERROR = 10
 
const WINDOWS_NONASCII_FILENAME = 13
 
- Protected Member Functions inherited from UploadBase
 detectScriptInSvg ( $filename, $partial)
 
 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.
 
- Static Protected Attributes inherited from UploadBase
static $safeXmlEncodings
 

Detailed Description

Implements uploading from previously stored file.

Author
Bryan Tong Minh

Definition at line 30 of file UploadFromStash.php.

Constructor & Destructor Documentation

◆ __construct()

UploadFromStash::__construct (   $user = false,
  $stash = false,
  $repo = false 
)
Parameters
User | bool$userDefault: false
UploadStash | bool$stashDefault: false
FileRepo | bool$repoDefault: false

Definition at line 47 of file UploadFromStash.php.

References $repo, $stash, $user, RepoGroup\singleton(), user, and wfDebug().

Member Function Documentation

◆ getSourceType()

UploadFromStash::getSourceType ( )
Returns
string

Reimplemented from UploadBase.

Definition at line 134 of file UploadFromStash.php.

References $mSourceType.

◆ getTempFileSha1Base36()

UploadFromStash::getTempFileSha1Base36 ( )

Get the base 36 SHA1 of the file.

Returns
string

Reimplemented from UploadBase.

Definition at line 142 of file UploadFromStash.php.

◆ initialize()

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

Definition at line 95 of file UploadFromStash.php.

References $name, false, UploadBase\getRealPath(), and UploadBase\initializePathInfo().

Referenced by initializeFromRequest().

◆ initializeFromRequest()

UploadFromStash::initializeFromRequest ( $request)
Parameters
WebRequest$request

Reimplemented from UploadBase.

Definition at line 118 of file UploadFromStash.php.

References $request, and initialize().

◆ isValidKey()

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

Definition at line 74 of file UploadFromStash.php.

References UploadStash\KEY_FORMAT_REGEX.

Referenced by isValidRequest(), and ApiUpload\selectUploadModule().

◆ isValidRequest()

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

Reimplemented from UploadBase.

Definition at line 83 of file UploadFromStash.php.

References $request, and isValidKey().

Referenced by UploadStashTest\testValidRequestWithInvalidRequests(), and UploadStashTest\testValidRequestWithValidRequests().

◆ postProcessUpload()

UploadFromStash::postProcessUpload ( )

Remove the database record after a successful upload.

Reimplemented from UploadBase.

Definition at line 183 of file UploadFromStash.php.

References unsaveUploadedFile().

◆ stashFile()

UploadFromStash::stashFile ( User  $user = null)

Stash the file.

Parameters
User$user
Returns
UploadStashFile

Reimplemented from UploadBase.

Definition at line 156 of file UploadFromStash.php.

References UploadBase\$mLocalFile, and $user.

Referenced by stashSession().

◆ stashSession()

UploadFromStash::stashSession ( )

This should return the key instead of the UploadStashFile instance, for backward compatibility.

Returns
string

Reimplemented from UploadBase.

Definition at line 168 of file UploadFromStash.php.

References stashFile().

◆ unsaveUploadedFile()

UploadFromStash::unsaveUploadedFile ( )

Remove a temporarily kept file stashed by saveTempUploadedFile().

Returns
bool Success

Definition at line 176 of file UploadFromStash.php.

Referenced by postProcessUpload().

Member Data Documentation

◆ $mFileKey

UploadFromStash::$mFileKey
protected

Definition at line 31 of file UploadFromStash.php.

◆ $mFileProps

UploadFromStash::$mFileProps
protected

Definition at line 33 of file UploadFromStash.php.

◆ $mSourceType

UploadFromStash::$mSourceType
protected

Definition at line 34 of file UploadFromStash.php.

Referenced by getSourceType().

◆ $mVirtualTempPath

UploadFromStash::$mVirtualTempPath
protected

Definition at line 32 of file UploadFromStash.php.

◆ $repo

UploadFromStash::$repo
private

Definition at line 40 of file UploadFromStash.php.

Referenced by __construct().

◆ $stash

UploadFromStash::$stash
private

Definition at line 37 of file UploadFromStash.php.

Referenced by __construct().


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