MediaWiki master
|
Implements uploading from chunks. More...
Inherits UploadFromFile.
Public Member Functions | |||||||
__construct (User $user, $stash=false, $repo=false) | |||||||
@noinspection PhpMissingParentConstructorInspection | |||||||
addChunk ( $chunkPath, $chunkSize, $offset) | |||||||
Add a chunk to the temporary directory. | |||||||
concatenateChunks () | |||||||
Append the final chunk and ready file for parent::performUpload() | |||||||
continueChunks ( $name, $key, $webRequestUpload) | |||||||
Continue chunk uploading. | |||||||
getOffset () | |||||||
Get the offset at which the next uploaded chunk will be appended to. | |||||||
tryStashFile (User $user, $isPartial=false) | |||||||
Like stashFile(), but respects extensions' wishes to prevent the stashing.verifyUpload() must be called before calling this method (unless $isPartial is true).Upload stash exceptions are also caught and converted to an error status.
| |||||||
Public Member Functions inherited from UploadFromFile | |||||||
getSourceType () | |||||||
initialize ( $name, $webRequestUpload) | |||||||
Initialize from a filename and a MediaWiki\Request\WebRequestUpload. | |||||||
initializeFromRequest (&$request) | |||||||
verifyUpload () | |||||||
Public Member Functions inherited from UploadBase | |||||||
__construct () | |||||||
canFetchFile () | |||||||
Perform checks to see if the file can be fetched. | |||||||
checkSvgScriptCallback ( $element, $attribs, $data=null) | |||||||
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 ( $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 () | |||||||
getTempFileSha1Base36 () | |||||||
Get the base 36 SHA1 of the file. | |||||||
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. | |||||||
postProcessUpload () | |||||||
Perform extra steps after a successful upload. | |||||||
validateName () | |||||||
Verify that the name is valid and, if necessary, that we can overwrite. | |||||||
verifyPermissions (Authority $performer) | |||||||
Alias for verifyTitlePermissions. | |||||||
verifyTitlePermissions (Authority $performer) | |||||||
Check whether the user can edit, upload and create the image. | |||||||
zipEntryCallback ( $entry) | |||||||
Callback for ZipDirectoryReader to detect Java class files. | |||||||
Public Attributes | |
UploadStash | $stash |
User | $user |
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 | |
doStashFile (?User $user=null) | |
Calls the parent doStashFile and updates the uploadsession table to handle "chunks". | |
Protected Member Functions inherited from UploadBase | |
detectScriptInSvg ( $filename, $partial) | |
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. | |
Protected Attributes | |
int null | $mChunkIndex |
string | $mFileKey |
int null | $mOffset |
string null | $mVirtualTempPath |
Protected Attributes inherited from UploadFromFile | |
WebRequestUpload | $mUpload = null |
Protected Attributes inherited from UploadBase | |
string[] | $mBlackListedExtensions |
string null | $mDesiredDestName |
string null | $mDestName |
array null | $mFileProps |
int null | $mFileSize |
string null | $mFilteredName |
string null | $mFinalExtension |
bool null | $mJavaDetected |
LocalFile null | $mLocalFile |
bool null | $mRemoveTempFile |
string null | $mSourceType |
UploadStashFile null | $mStashFile |
string false | $mSVGNSError |
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 | |
Static Public Member Functions inherited from UploadFromFile | |
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 an allowed list 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 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. | |
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. | |
Implements uploading from chunks.
Definition at line 41 of file UploadFromChunks.php.
UploadFromChunks::__construct | ( | User | $user, |
$stash = false, | |||
$repo = false ) |
@noinspection PhpMissingParentConstructorInspection
Setup local pointers to stash, repo and user (similar to UploadFromStash)
User | $user | |
UploadStash | false | $stash | Default: false |
FileRepo | false | $repo | Default: false |
Definition at line 69 of file UploadFromChunks.php.
References MediaWiki\User\User\getId(), and wfDebug().
UploadFromChunks::addChunk | ( | $chunkPath, | |
$chunkSize, | |||
$offset ) |
Add a chunk to the temporary directory.
string | $chunkPath | Path to temporary chunk file |
int | $chunkSize | Size of the current chunk |
int | $offset | Offset of current chunk ( mutch match database chunk offset ) |
Definition at line 315 of file UploadFromChunks.php.
References UploadBase\getMaxUploadSize(), and getOffset().
UploadFromChunks::concatenateChunks | ( | ) |
Append the final chunk and ready file for parent::performUpload()
Definition at line 152 of file UploadFromChunks.php.
References getOffset(), UploadBase\getVerificationErrorCode(), UploadBase\OK, UploadBase\runUploadStashFileHook(), UploadBase\setTempFile(), UploadFromFile\verifyUpload(), and wfDebugLog().
UploadFromChunks::continueChunks | ( | $name, | |
$key, | |||
$webRequestUpload ) |
Continue chunk uploading.
string | $name | |
string | $key | |
WebRequestUpload | $webRequestUpload |
Definition at line 134 of file UploadFromChunks.php.
References UploadBase\getRealPath(), and UploadBase\initializePathInfo().
|
protected |
Calls the parent doStashFile and updates the uploadsession table to handle "chunks".
User | null | $user |
Reimplemented from UploadBase.
Definition at line 107 of file UploadFromChunks.php.
UploadFromChunks::getOffset | ( | ) |
Get the offset at which the next uploaded chunk will be appended to.
Definition at line 416 of file UploadFromChunks.php.
UploadFromChunks::tryStashFile | ( | User | $user, |
$isPartial = false ) |
Like stashFile(), but respects extensions' wishes to prevent the stashing.verifyUpload() must be called before calling this method (unless $isPartial is true).Upload stash exceptions are also caught and converted to an error status.
User | $user | |
bool | $isPartial | Pass true if this is a part of a chunked upload (not a complete file). |
Reimplemented from UploadBase.
Definition at line 91 of file UploadFromChunks.php.
|
protected |
Definition at line 52 of file UploadFromChunks.php.
|
protected |
Definition at line 54 of file UploadFromChunks.php.
|
protected |
Definition at line 50 of file UploadFromChunks.php.
|
protected |
Definition at line 56 of file UploadFromChunks.php.
UploadStash UploadFromChunks::$stash |
Definition at line 45 of file UploadFromChunks.php.
User UploadFromChunks::$user |
Definition at line 47 of file UploadFromChunks.php.