MediaWiki REL1_41
|
Implements uploading from a HTTP resource. More...
Inherits UploadBase.
Public Member Functions | |
fetchFile ( $httpOptions=[]) | |
Download the file. | |
getSourceType () | |
initialize ( $name, $url) | |
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 UploadBase | |
__construct () | |
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. | |
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) | |
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. | |
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. | |
verifyPermissions (Authority $performer) | |
Alias for verifyTitlePermissions. | |
verifyTitlePermissions (Authority $performer) | |
Check whether the user can edit, upload and create the image. | |
verifyUpload () | |
Verify whether the upload is sensible. | |
zipEntryCallback ( $entry) | |
Callback for ZipDirectoryReader to detect Java class files. | |
Static Public Member Functions | |
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 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 | 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 | 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 UploadBase | |
detectScriptInSvg ( $filename, $partial) | |
doStashFile (User $user=null) | |
Implementation for stashFile() and tryStashFile(). | |
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 | |
$mTempPath | |
$mTmpHandle | |
$mUrl | |
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. | |
Static Protected Attributes | |
static | $allowedUrls = [] |
Static Protected Attributes inherited from UploadBase | |
static | $safeXmlEncodings |
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 |
Implements uploading from a HTTP resource.
Definition at line 38 of file UploadFromUrl.php.
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 219 of file UploadFromUrl.php.
UploadFromUrl::getSourceType | ( | ) |
UploadFromUrl::initialize | ( | $name, | |
$url ) |
Entry point for API upload.
string | $name | |
string | $url |
MWException |
Definition at line 167 of file UploadFromUrl.php.
Referenced by ApiUpload\selectUploadModule().
UploadFromUrl::initializeFromRequest | ( | & | $request | ) |
Entry point for SpecialUpload.
WebRequest | &$request |
Reimplemented from UploadBase.
Definition at line 179 of file UploadFromUrl.php.
|
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 UploadBase.
Definition at line 54 of file UploadFromUrl.php.
References MediaWiki\Permissions\Authority\isAllowed().
Referenced by UploadForm\getSourceSection().
|
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 80 of file UploadFromUrl.php.
References wfParseUrl().
Referenced by ApiUpload\selectUploadModule().
|
static |
Checks whether the URL is not allowed.
string | $url |
Definition at line 149 of file UploadFromUrl.php.
Referenced by ApiUpload\selectUploadModule().
|
static |
Checks if the upload from URL feature is enabled.
Reimplemented from UploadBase.
Definition at line 66 of file UploadFromUrl.php.
Referenced by UploadForm\getSourceSection(), and ApiUpload\selectUploadModule().
|
static |
WebRequest | $request |
Reimplemented from UploadBase.
Definition at line 194 of file UploadFromUrl.php.
|
protected |
Create a new temporary file in the URL subdirectory of wfTempDir().
Definition at line 238 of file UploadFromUrl.php.
|
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 280 of file UploadFromUrl.php.
References wfDebugLog().
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 253 of file UploadFromUrl.php.
References wfDebugLog().
|
staticprotected |
Definition at line 43 of file UploadFromUrl.php.
|
protected |
Definition at line 41 of file UploadFromUrl.php.
|
protected |
Definition at line 41 of file UploadFromUrl.php.
|
protected |
Definition at line 39 of file UploadFromUrl.php.