MediaWiki  1.23.14
UploadFromUrl Class Reference

Implements uploading from a HTTP resource. More...

Inheritance diagram for UploadFromUrl:
Collaboration diagram for UploadFromUrl:

Public Member Functions

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

Static Public Member Functions

static isAllowed ( $user)
 Checks if the user is allowed to use the upload-by-URL feature. More...
 
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. More...
 
static isAllowedUrl ( $url)
 Checks whether the URL is not allowed. More...
 
static isEnabled ()
 Checks if the upload from URL feature is enabled. More...
 
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(). More...
 
 reallyFetchFile ( $httpOptions=array())
 Download the file, save it to the temporary file and update the file size and set $mRemoveTempFile to true. More...
 

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

◆ checkWarnings()

UploadFromUrl::checkWarnings ( )

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

Returns
Array

Definition at line 308 of file UploadFromUrl.php.

References array().

◆ fetchFile()

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().

◆ getSourceType()

UploadFromUrl::getSourceType ( )
Returns
string

Definition at line 180 of file UploadFromUrl.php.

◆ initialize()

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, and makeTemporaryFile().

Referenced by initializeFromRequest(), and ApiUpload\selectUploadModule().

◆ initializeFromRequest()

UploadFromUrl::initializeFromRequest ( $request)

Entry point for SpecialUpload.

Parameters
$requestWebRequest object

Definition at line 152 of file UploadFromUrl.php.

References $request, and initialize().

◆ insertJob()

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

Definition at line 355 of file UploadFromUrl.php.

References $comment, $job, $mIgnoreWarnings, $user, array(), and JobQueueGroup\singleton().

Referenced by performUpload().

◆ isAllowed()

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

Definition at line 48 of file UploadFromUrl.php.

References $user.

Referenced by UploadForm\getSourceSection().

◆ isAllowedHost()

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().

Referenced by ApiUpload\selectUploadModule().

◆ isAllowedUrl()

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().

Referenced by ApiUpload\selectUploadModule().

◆ isEnabled()

static UploadFromUrl::isEnabled ( )
static

Checks if the upload from URL feature is enabled.

Returns
bool

Definition at line 59 of file UploadFromUrl.php.

References global.

Referenced by UploadForm\getSourceSection(), and ApiUpload\selectUploadModule().

◆ isValidRequest()

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

Definition at line 168 of file UploadFromUrl.php.

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

◆ makeTemporaryFile()

UploadFromUrl::makeTemporaryFile ( )
protected

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

Returns
string Path to the file

Definition at line 213 of file UploadFromUrl.php.

References TempFSFile\factory().

Referenced by initialize().

◆ performUpload()

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

Definition at line 338 of file UploadFromUrl.php.

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

◆ reallyFetchFile()

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 247 of file UploadFromUrl.php.

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

Referenced by fetchFile().

◆ saveTempFileChunk()

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 226 of file UploadFromUrl.php.

◆ verifyTitlePermissions()

UploadFromUrl::verifyTitlePermissions (   $user)

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

Definition at line 322 of file UploadFromUrl.php.

References $user.

◆ verifyUpload()

UploadFromUrl::verifyUpload ( )

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

Returns
array|mixed

Definition at line 296 of file UploadFromUrl.php.

References array().

Member Data Documentation

◆ $allowedUrls

UploadFromUrl::$allowedUrls = array()
staticprotected

Definition at line 37 of file UploadFromUrl.php.

◆ $mAsync

UploadFromUrl::$mAsync
protected

Definition at line 32 of file UploadFromUrl.php.

◆ $mIgnoreWarnings

UploadFromUrl::$mIgnoreWarnings = true
protected

Definition at line 33 of file UploadFromUrl.php.

Referenced by insertJob().

◆ $mTempPath

UploadFromUrl::$mTempPath
protected

Definition at line 35 of file UploadFromUrl.php.

◆ $mTmpHandle

UploadFromUrl::$mTmpHandle

Definition at line 35 of file UploadFromUrl.php.

◆ $mUrl

UploadFromUrl::$mUrl

Definition at line 32 of file UploadFromUrl.php.


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