MediaWiki  REL1_24
UploadFromUrl Class Reference

Implements uploading from a HTTP resource. More...

Inheritance diagram for UploadFromUrl:
Collaboration diagram for UploadFromUrl:

List of all members.

Public Member Functions

 checkWarnings ()
 Wrapper around the parent function in order to defer checking warnings until the file really has been fetched.
 fetchFile ($httpOptions=array())
 Download the file (if not async)
 getSourceType ()
 initialize ($name, $url, $async=false)
 Entry point for API upload.
 initializeFromRequest (&$request)
 Entry point for SpecialUpload.
 performUpload ($comment, $pageText, $watch, $user)
 Wrapper around the parent function in order to defer uploading to the job queue for asynchronous uploads.
 saveTempFileChunk ($req, $buffer)
 Callback: save a chunk of the result of a HTTP request to the temporary file.
 verifyTitlePermissions ($user)
 Wrapper around the parent function in order to defer checking protection until we are sure that the file can actually be uploaded.
 verifyUpload ()
 Wrapper around the parent function in order to defer verifying the upload until the file really has been fetched.

Static Public Member Functions

static isAllowed ($user)
 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 whitelist 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)

Public Attributes

 $mTmpHandle
 $mUrl

Protected Member Functions

 insertJob ($comment, $pageText, $watch, $user)
 makeTemporaryFile ()
 Create a new temporary file in the URL subdirectory of wfTempDir().
 reallyFetchFile ($httpOptions=array())
 Download the file, save it to the temporary file and update the file size and set $mRemoveTempFile to true.

Protected Attributes

 $mAsync
 $mIgnoreWarnings = true
 $mTempPath

Static Protected Attributes

static $allowedUrls = array()

Detailed Description

Implements uploading from a HTTP resource.

Author:
Bryan Tong Minh
Michael Dale

Definition at line 31 of file UploadFromUrl.php.


Member Function Documentation

Wrapper around the parent function in order to defer checking warnings until the file really has been fetched.

Returns:
array

Reimplemented from UploadBase.

Definition at line 316 of file UploadFromUrl.php.

References array().

UploadFromUrl::fetchFile ( httpOptions = array())

Download the file (if not async)

Parameters:
array$httpOptionsArray of options for MWHttpRequest. Ignored if async. This could be used to override the timeout on the http request.
Returns:
Status

Definition at line 196 of file UploadFromUrl.php.

References Http\isValidURI(), Status\newFatal(), Status\newGood(), and reallyFetchFile().

Returns:
string

Reimplemented from UploadBase.

Definition at line 185 of file UploadFromUrl.php.

UploadFromUrl::initialize ( name,
url,
async = false 
)

Entry point for API upload.

Parameters:
string$name
string$url
bool | string$asyncWhether the download should be performed asynchronous. False for synchronous, async or async-leavemessage for asynchronous download.
Exceptions:
MWException

Definition at line 138 of file UploadFromUrl.php.

References $name, global, UploadBase\initializePathInfo(), and makeTemporaryFile().

Referenced by initializeFromRequest().

Entry point for SpecialUpload.

Parameters:
WebRequest$request

Reimplemented from UploadBase.

Definition at line 156 of file UploadFromUrl.php.

References initialize().

UploadFromUrl::insertJob ( comment,
pageText,
watch,
user 
) [protected]
Parameters:
string$comment
string$pageText
bool$watch
User$user
Returns:
string

Definition at line 366 of file UploadFromUrl.php.

References $comment, $job, $user, array(), UploadBase\getTitle(), JobQueueGroup\singleton(), and UploadBase\stashSession().

Referenced by performUpload().

static UploadFromUrl::isAllowed ( user) [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.

Parameters:
User$user
Returns:
bool|string

Reimplemented from UploadBase.

Definition at line 48 of file UploadFromUrl.php.

References $user.

Referenced by UploadForm\getSourceSection().

static UploadFromUrl::isAllowedHost ( url) [static]

Checks whether the URL is for an allowed host The domains in the whitelist can include wildcard characters (*) in place of any of the domain levels, e.g.

'*.flickr.com' or 'upload.*.gov.uk'.

Parameters:
string$url
Returns:
bool

Definition at line 74 of file UploadFromUrl.php.

References as, global, and wfParseUrl().

static UploadFromUrl::isAllowedUrl ( url) [static]

Checks whether the URL is not allowed.

Parameters:
string$url
Returns:
bool

Definition at line 118 of file UploadFromUrl.php.

References array(), and wfRunHooks().

static UploadFromUrl::isEnabled ( ) [static]

Checks if the upload from URL feature is enabled.

Returns:
bool

Reimplemented from UploadBase.

Definition at line 60 of file UploadFromUrl.php.

References global.

Referenced by UploadForm\getSourceSection().

static UploadFromUrl::isValidRequest ( request) [static]
Parameters:
WebRequest$request
Returns:
bool

Reimplemented from UploadBase.

Definition at line 172 of file UploadFromUrl.php.

References $wgUser, empty, global, and Http\isValidURI().

Create a new temporary file in the URL subdirectory of wfTempDir().

Returns:
string Path to the file

Definition at line 219 of file UploadFromUrl.php.

References TempFSFile\factory().

Referenced by initialize().

UploadFromUrl::performUpload ( comment,
pageText,
watch,
user 
)

Wrapper around the parent function in order to defer uploading to the job queue for asynchronous uploads.

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

Reimplemented from UploadBase.

Definition at line 349 of file UploadFromUrl.php.

References $comment, $user, insertJob(), and Status\newFatal().

UploadFromUrl::reallyFetchFile ( httpOptions = array()) [protected]

Download the file, save it to the temporary file and update the file size and set $mRemoveTempFile to true.

Parameters:
array$httpOptionsArray of options for MWHttpRequest
Returns:
Status

Definition at line 254 of file UploadFromUrl.php.

References $options, array(), MWHttpRequest\factory(), global, and Status\newFatal().

Referenced by fetchFile().

UploadFromUrl::saveTempFileChunk ( req,
buffer 
)

Callback: save a chunk of the result of a HTTP request to the temporary file.

Parameters:
mixed$req
string$buffer
Returns:
int Number of bytes handled

Definition at line 233 of file UploadFromUrl.php.

Wrapper around the parent function in order to defer checking protection until we are sure that the file can actually be uploaded.

Parameters:
User$user
Returns:
bool|mixed

Reimplemented from UploadBase.

Definition at line 332 of file UploadFromUrl.php.

References $user.

Wrapper around the parent function in order to defer verifying the upload until the file really has been fetched.

Returns:
array|mixed

Reimplemented from UploadBase.

Definition at line 303 of file UploadFromUrl.php.

References array(), and UploadBase\OK.


Member Data Documentation

UploadFromUrl::$allowedUrls = array() [static, protected]

Definition at line 37 of file UploadFromUrl.php.

UploadFromUrl::$mAsync [protected]

Definition at line 32 of file UploadFromUrl.php.

UploadFromUrl::$mIgnoreWarnings = true [protected]

Definition at line 33 of file UploadFromUrl.php.

UploadFromUrl::$mTempPath [protected]

Reimplemented from UploadBase.

Definition at line 35 of file UploadFromUrl.php.

UploadFromUrl::$mTmpHandle

Definition at line 35 of file UploadFromUrl.php.

UploadFromUrl::$mUrl

Definition at line 32 of file UploadFromUrl.php.


The documentation for this class was generated from the following file: