|
MediaWiki master
|
Implements uploading from a HTTP resource. More...
Inherits MediaWiki\Upload\UploadBase.

Public Member Functions | |
| canFetchFile () | |
| verify we can actually download the file | |
| fetchFile ( $httpOptions=[]) | |
| Download the file. | |
| getSourceType () | |
| getUrl () | |
| Get the URL of the file to be uploaded. | |
| initialize ( $name, $url, $initTempFile=true) | |
| Entry point for API upload. | |
| initializeFromRequest (&$request) | |
| Entry point for SpecialUpload. | |
| saveTempFileChunk ( $req, $buffer) | |
| Callback: save a chunk of the result of a HTTP request to the temporary file. | |
Public Member Functions inherited from MediaWiki\Upload\UploadBase | |
| __construct () | |
| authorizeUpload (Authority $performer) | |
| Check whether the user can upload the image. | |
| 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. | |
| 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 | getAllowedHosts () |
| static | getCacheKey ( $params) |
| Provides a caching key for an upload from url set of parameters Used to set the status of an async job in UploadFromUrlJob and retrieve it in frontend clients like ApiUpload. | |
| static | getCacheKeyFromRequest (&$request) |
| Get the caching key from a web request. | |
| static | isAllowed (Authority $performer) |
| Checks if the user is allowed to use the upload-by-URL feature. | |
| static | isAllowedHost ( $url) |
| Checks whether the URL is for an allowed host The domains in the allowlist can include wildcard characters (*) in place of any of the domain levels, e.g. | |
| static | isAllowedUrl ( $url) |
| Checks whether the URL is not allowed. | |
| static | isEnabled () |
| Checks if the upload from URL feature is enabled. | |
| 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 | 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 Member Functions | |
| makeTemporaryFile () | |
| Create a new temporary file in the URL subdirectory of wfTempDir(). | |
| reallyFetchFile ( $httpOptions=[]) | |
| Download the file, save it to the temporary file and update the file size and set $mRemoveTempFile to true. | |
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. | |
Protected Attributes | |
| resource null false | $mTmpHandle |
| string | $mUrl |
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. | |
Static Protected Attributes | |
| static array< string, bool > | $allowedUrls = [] |
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 |
Implements uploading from a HTTP resource.
Definition at line 28 of file UploadFromUrl.php.
| MediaWiki\Upload\UploadFromUrl::canFetchFile | ( | ) |
verify we can actually download the file
Reimplemented from MediaWiki\Upload\UploadBase.
Definition at line 279 of file UploadFromUrl.php.
References MediaWiki\Http\MWHttpRequest\isValidURI().
| MediaWiki\Upload\UploadFromUrl::fetchFile | ( | $httpOptions = [] | ) |
Download the file.
| array | $httpOptions | Array of options for MWHttpRequest. This could be used to override the timeout on the http request. |
Definition at line 266 of file UploadFromUrl.php.
|
static |
Definition at line 159 of file UploadFromUrl.php.
References wfMessage().
Referenced by MediaWiki\Upload\UploadFromUrl\isAllowedHost().
|
static |
Provides a caching key for an upload from url set of parameters Used to set the status of an async job in UploadFromUrlJob and retrieve it in frontend clients like ApiUpload.
Will return the empty string if not all parameters are present.
| array | $params |
Definition at line 121 of file UploadFromUrl.php.
Referenced by MediaWiki\Upload\UploadFromUrl\getCacheKeyFromRequest().
|
static |
Get the caching key from a web request.
| WebRequest | &$request |
Definition at line 138 of file UploadFromUrl.php.
References $request, and MediaWiki\Upload\UploadFromUrl\getCacheKey().
| MediaWiki\Upload\UploadFromUrl::getSourceType | ( | ) |
Reimplemented from MediaWiki\Upload\UploadBase.
Definition at line 255 of file UploadFromUrl.php.
| MediaWiki\Upload\UploadFromUrl::getUrl | ( | ) |
Get the URL of the file to be uploaded.
Definition at line 202 of file UploadFromUrl.php.
| MediaWiki\Upload\UploadFromUrl::initialize | ( | $name, | |
| $url, | |||
| $initTempFile = true ) |
Entry point for API upload.
| string | $name | |
| string | $url | |
| bool | $initTempFile |
Definition at line 213 of file UploadFromUrl.php.
References $url.
Referenced by MediaWiki\JobQueue\Jobs\UploadFromUrlJob\getUpload(), and MediaWiki\Api\ApiUpload\selectUploadModule().
| MediaWiki\Upload\UploadFromUrl::initializeFromRequest | ( | & | $request | ) |
Entry point for SpecialUpload.
| WebRequest | &$request |
Reimplemented from MediaWiki\Upload\UploadBase.
Definition at line 226 of file UploadFromUrl.php.
References $request.
|
static |
Checks if the user is allowed to use the upload-by-URL feature.
If the user is not allowed, return the name of the user right as a string. If the user is allowed, have the parent do further permissions checking.
| Authority | $performer |
Reimplemented from MediaWiki\Upload\UploadBase.
Definition at line 47 of file UploadFromUrl.php.
References MediaWiki\Permissions\Authority\isAllowed().
|
static |
Checks whether the URL is for an allowed host The domains in the allowlist can include wildcard characters (*) in place of any of the domain levels, e.g.
'*.flickr.com' or 'upload.*.gov.uk'.
| string | $url |
Definition at line 73 of file UploadFromUrl.php.
References $url, MediaWiki\Upload\UploadFromUrl\getAllowedHosts(), and MediaWiki\MediaWikiServices\getInstance().
|
static |
Checks whether the URL is not allowed.
| string | $url |
Definition at line 187 of file UploadFromUrl.php.
References $url, and MediaWiki\MediaWikiServices\getInstance().
|
static |
Checks if the upload from URL feature is enabled.
Reimplemented from MediaWiki\Upload\UploadBase.
Definition at line 59 of file UploadFromUrl.php.
References MediaWiki\MainConfigNames\AllowCopyUploads, and MediaWiki\MediaWikiServices\getInstance().
|
static |
| WebRequest | $request |
Reimplemented from MediaWiki\Upload\UploadBase.
Definition at line 241 of file UploadFromUrl.php.
References $request, $url, and MediaWiki\MediaWikiServices\getInstance().
|
protected |
Create a new temporary file in the URL subdirectory of wfTempDir().
Definition at line 298 of file UploadFromUrl.php.
References MediaWiki\MediaWikiServices\getInstance().
|
protected |
Download the file, save it to the temporary file and update the file size and set $mRemoveTempFile to true.
| array | $httpOptions | Array of options for MWHttpRequest |
Definition at line 340 of file UploadFromUrl.php.
References MediaWiki\MainConfigNames\CopyUploadProxy, MediaWiki\MainConfigNames\CopyUploadTimeout, MediaWiki\MediaWikiServices\getInstance(), and wfDebugLog().
| MediaWiki\Upload\UploadFromUrl::saveTempFileChunk | ( | $req, | |
| $buffer ) |
Callback: save a chunk of the result of a HTTP request to the temporary file.
| mixed | $req | |
| string | $buffer |
Definition at line 313 of file UploadFromUrl.php.
References wfDebugLog().
|
staticprotected |
Definition at line 36 of file UploadFromUrl.php.
|
protected |
Definition at line 33 of file UploadFromUrl.php.
|
protected |
Definition at line 30 of file UploadFromUrl.php.