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

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. More...
 
static checkFileExtensionList ( $ext, $list)
 Perform case-insensitive match against a list of file extensions. More...
 
static checkSvgPICallback ( $target, $data)
 Callback to filter SVG Processing Instructions. More...
 
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. More...
 
static createFromRequest (&$request, $type=null)
 Create a form of UploadBase depending on wpSourceType and initializes it. More...
 
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. More...
 
static detectVirus ( $file)
 Generic wrapper function for a virus scanner program. More...
 
static getExistsWarning ( $file)
 Helper function that does various existence checks for a file. More...
 
static getFilenamePrefixBlacklist ()
 Get a list of blacklisted filename prefixes from [[MediaWiki:Filename-prefix-blacklist]]. More...
 
static getMaxUploadSize ( $forType=null)
 
static getSessionStatus ( $statusKey)
 Get the current status of a chunked upload (used for polling). More...
 
static isAllowed ( $user)
 Returns true if the user can use this upload module or else a string identifying the missing permission. More...
 
static isEnabled ()
 Returns true if uploads are enabled. More...
 
static isThumbName ( $filename)
 Helper function that checks whether the filename looks like a thumbnail. More...
 
static setSessionStatus ( $statusKey, $value)
 Set the current status of a chunked upload (used for polling). More...
 
static splitExtensions ( $filename)
 Split a file into a base name and all dot-delimited 'extensions' on the end. More...
 
static userCanReUpload (User $user, $img)
 Check if a user is the last uploader. More...
 
static verifyExtension ( $mime, $extension)
 Checks if the mime type of the uploaded file matches the file extension. More...
 

Protected Attributes

 $mFileKey
 
 $mFileProps
 
 $mSourceType
 
 $mVirtualTempPath
 
- Protected Attributes inherited from UploadBase
 $mBlackListedExtensions
 
 $mDesiredDestName
 
 $mFilteredName
 
 $mJavaDetected
 
 $mLocalFile
 
 $mTempPath
 
 $mTitle = false
 

Private Attributes

 $repo
 
 $stash
 

Additional Inherited Members

- Public Attributes inherited from UploadBase
 $mDestName
 
 $mFileProps
 
 $mFileSize
 
 $mFinalExtension
 
 $mRemoveTempFile
 
 $mSourceType
 
 $mSVGNSError
 
 $mTitleError = 0
 
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 SESSION_STATUS_KEY = 'wsUploadStatusData'
 
const SUCCESS = 0
 
const UPLOAD_VERIFICATION_ERROR = 11
 
const VERIFICATION_ERROR = 10
 
const WINDOWS_NONASCII_FILENAME = 13
 
- Static Public Attributes inherited from UploadBase
static $uploadHandlers = array( 'Stash', 'File', 'Url' )
 
- Protected Member Functions inherited from UploadBase
 detectScriptInSvg ( $filename)
 
 verifyFile ()
 Verifies that it's ok to include the uploaded file. More...
 
 verifyMimeType ( $mime)
 Verify the mime type. More...
 
 verifyPartialFile ()
 A verification routine suitable for partial files. More...
 
- Static Protected Attributes inherited from UploadBase
static $safeXmlEncodings = array( 'UTF-8', 'ISO-8859-1', 'ISO-8859-2', 'UTF-16', 'UTF-32' )
 

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, 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 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 isValidKey().

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

◆ performUpload()

UploadFromStash::performUpload (   $comment,
  $pageText,
  $watch,
  $user 
)

Perform the upload, then remove the database record afterward.

Parameters
string$comment
string$pageText
bool$watch
User$user
Returns
Status

Reimplemented from UploadBase.

Definition at line 187 of file UploadFromStash.php.

References $comment, $user, and 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 167 of file UploadFromStash.php.

References stashFile().

◆ unsaveUploadedFile()

UploadFromStash::unsaveUploadedFile ( )

Remove a temporarily kept file stashed by saveTempUploadedFile().

Returns
bool Success

Definition at line 175 of file UploadFromStash.php.

Referenced by performUpload().

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: