MediaWiki  REL1_22
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 305 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 191 of file UploadFromUrl.php.

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

Returns:
string

Reimplemented from UploadBase.

Definition at line 180 of file UploadFromUrl.php.

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

Entry point for API upload.

Parameters:
$namestring
$urlstring
$asyncmixed Whether the download should be performed asynchronous. False for synchronous, async or async-leavemessage for asynchronous download.
Exceptions:
MWException

Definition at line 134 of file UploadFromUrl.php.

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

Referenced by initializeFromRequest().

Entry point for SpecialUpload.

Parameters:
$requestWebRequest object

Reimplemented from UploadBase.

Definition at line 152 of file UploadFromUrl.php.

References initialize().

UploadFromUrl::insertJob ( comment,
pageText,
watch,
user 
) [protected]
Parameters:
$comment
$pageText
$watch
$userUser
Returns:
String

Definition at line 352 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:
$userUser
Returns:
bool|string

Reimplemented from UploadBase.

Definition at line 48 of file UploadFromUrl.php.

References $user.

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:
$urlstring
Returns:
bool

Definition at line 72 of file UploadFromUrl.php.

References as, global, and wfParseUrl().

static UploadFromUrl::isAllowedUrl ( url) [static]

Checks whether the URL is not allowed.

Parameters:
$urlstring
Returns:
bool

Definition at line 115 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 59 of file UploadFromUrl.php.

References global.

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

Reimplemented from UploadBase.

Definition at line 168 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 212 of file UploadFromUrl.php.

References wfTempDir().

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:
$commentstring
$pageTextstring
$watchbool
$userUser
Returns:
Status

Reimplemented from UploadBase.

Definition at line 335 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 244 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:
$reqmixed
$bufferstring
Returns:
int number of bytes handled

Definition at line 223 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:
$userUser
Returns:
bool|mixed

Reimplemented from UploadBase.

Definition at line 319 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 293 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: