|
MediaWiki master
|
Implements uploading from chunks. More...
Inherits MediaWiki\Upload\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 MediaWiki\Upload\UploadFromFile | |||||||
| getSourceType () | |||||||
| initialize ( $name, $webRequestUpload) | |||||||
| Initialize from a filename and a MediaWiki\Request\WebRequestUpload. | |||||||
| initializeFromRequest (&$request) | |||||||
| skipStashFileAttempt () | |||||||
| Check, if stash file attempt should be skipped, for example when the file is already known to stash. | |||||||
| verifyUpload () | |||||||
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 () | |||||||
| 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. | |||||||
Public Attributes | |
| UploadStash | $stash |
| User | $user |
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 | |
| doStashFile (?User $user=null) | |
| Calls the parent doStashFile and updates the uploadsession table to handle "chunks". | |
Protected Member Functions inherited from MediaWiki\Upload\UploadBase | |
| 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. | |
Protected Attributes | |
| int null | $mChunkIndex |
| string | $mFileKey |
| int null | $mOffset |
| string null | $mVirtualTempPath |
Protected Attributes inherited from MediaWiki\Upload\UploadFromFile | |
| WebRequestUpload | $mUpload = null |
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 | |
Static Public Member Functions inherited from MediaWiki\Upload\UploadFromFile | |
| 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. | |
Implements uploading from chunks.
Definition at line 34 of file UploadFromChunks.php.
| MediaWiki\Upload\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 |
| LocalRepo | false | $repo | Default: false |
Definition at line 62 of file UploadFromChunks.php.
References MediaWiki\Upload\UploadFromChunks\$stash, MediaWiki\Upload\UploadFromChunks\$user, MediaWiki\User\User\getId(), MediaWiki\MediaWikiServices\getInstance(), and wfDebug().
| MediaWiki\Upload\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 (must match database chunk offset) |
Definition at line 313 of file UploadFromChunks.php.
References MediaWiki\Upload\UploadBase\$mTempPath, MediaWiki\Upload\UploadBase\getMaxUploadSize(), and MediaWiki\Upload\UploadFromChunks\getOffset().
| MediaWiki\Upload\UploadFromChunks::concatenateChunks | ( | ) |
Append the final chunk and ready file for parent::performUpload()
Definition at line 151 of file UploadFromChunks.php.
References MediaWiki\Upload\UploadFromChunks\$mFileKey, MediaWiki\Upload\UploadBase\convertVerifyErrorToStatus(), Wikimedia\FileBackend\FileBackend\extensionFromPath(), MediaWiki\MediaWikiServices\getInstance(), MediaWiki\Upload\UploadFromChunks\getOffset(), MediaWiki\Upload\UploadBase\OK, MediaWiki\Upload\UploadBase\runUploadStashFileHook(), MediaWiki\Upload\UploadBase\setTempFile(), MediaWiki\Upload\UploadFromFile\verifyUpload(), and wfDebugLog().
| MediaWiki\Upload\UploadFromChunks::continueChunks | ( | $name, | |
| $key, | |||
| $webRequestUpload ) |
Continue chunk uploading.
| string | $name | |
| string | $key | |
| WebRequestUpload | $webRequestUpload |
Definition at line 129 of file UploadFromChunks.php.
References MediaWiki\Upload\UploadBase\getRealPath(), MediaWiki\Upload\UploadBase\initializePathInfo(), and wfMessage().
|
protected |
Calls the parent doStashFile and updates the uploadsession table to handle "chunks".
| User | null | $user |
Reimplemented from MediaWiki\Upload\UploadBase.
Definition at line 101 of file UploadFromChunks.php.
References MediaWiki\Upload\UploadBase\$mStashFile, and MediaWiki\Upload\UploadFromChunks\$user.
| MediaWiki\Upload\UploadFromChunks::getOffset | ( | ) |
Get the offset at which the next uploaded chunk will be appended to.
Definition at line 414 of file UploadFromChunks.php.
Referenced by MediaWiki\Upload\UploadFromChunks\addChunk(), and MediaWiki\Upload\UploadFromChunks\concatenateChunks().
| MediaWiki\Upload\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 MediaWiki\Upload\UploadBase.
Definition at line 85 of file UploadFromChunks.php.
References MediaWiki\Upload\UploadFromChunks\$user.
|
protected |
Definition at line 45 of file UploadFromChunks.php.
|
protected |
Definition at line 47 of file UploadFromChunks.php.
Referenced by MediaWiki\Upload\UploadFromChunks\concatenateChunks().
|
protected |
Definition at line 43 of file UploadFromChunks.php.
|
protected |
Definition at line 49 of file UploadFromChunks.php.
| UploadStash MediaWiki\Upload\UploadFromChunks::$stash |
Definition at line 38 of file UploadFromChunks.php.
Referenced by MediaWiki\Upload\UploadFromChunks\__construct().
| User MediaWiki\Upload\UploadFromChunks::$user |
Definition at line 40 of file UploadFromChunks.php.
Referenced by MediaWiki\Upload\UploadFromChunks\__construct(), MediaWiki\Upload\UploadFromChunks\doStashFile(), and MediaWiki\Upload\UploadFromChunks\tryStashFile().