MediaWiki  1.23.2
ApiUpload Class Reference
Inheritance diagram for ApiUpload:
Collaboration diagram for ApiUpload:

Public Member Functions

 execute ()
 Evaluates the parameters, performs the requested query, and sets up the result. More...
 
 getAllowedParams ()
 Returns an array of allowed parameters (parameter name) => (default value) or (parameter name) => (array with PARAM_* constants as keys) Don't call this function directly: use getFinalParams() to allow hooks to modify parameters as needed. More...
 
 getDescription ()
 Returns the description string for this module. More...
 
 getExamples ()
 Returns usage examples for this module. More...
 
 getHelpUrls ()
 
 getParamDescription ()
 Returns an array of parameter descriptions. More...
 
 getPossibleErrors ()
 Returns a list of all possible errors returned by the module. More...
 
 getResultProperties ()
 Returns possible properties in the result, grouped by the value of the prop parameter that shows them. More...
 
 getTokenSalt ()
 Returns the token salt if there is one, '' if the module doesn't require a salt, else false if the module doesn't need a token You have also to override needsToken() Value is passed to User::getEditToken. More...
 
 isWriteMode ()
 Indicates whether this module requires write mode. More...
 
 mustBePosted ()
 Indicates whether this module must be called with a POST request. More...
 
 needsToken ()
 Returns whether this module requires a token to execute It is used to show possible errors in action=paraminfo see bug 25248. More...
 
- Public Member Functions inherited from ApiBase
 __construct ( $mainModule, $moduleName, $modulePrefix='')
 Constructor. More...
 
 createContext ()
 Create a new RequestContext object to use e.g. More...
 
 dieReadOnly ()
 Helper function for readonly errors. More...
 
 dieStatus ( $status)
 Throw a UsageException based on the errors in the Status object. More...
 
 dieUsage ( $description, $errorCode, $httpRespCode=0, $extradata=null)
 Throw a UsageException, which will (if uncaught) call the main module's error handler and die with an error message. More...
 
 dieUsageMsg ( $error)
 Output the error message related to a certain array. More...
 
 dieUsageMsgOrDebug ( $error)
 Will only set a warning instead of failing if the global $wgDebugAPI is set to true. More...
 
 encodeParamName ( $paramName)
 This method mangles parameter name based on the prefix supplied to the constructor. More...
 
 extractRequestParams ( $parseLimit=true)
 Using getAllowedParams(), this function makes an array of the values provided by the user, with key being the name of the variable, and value - validated value from user or default. More...
 
 getCustomPrinter ()
 If the module may only be used with a certain format module, it should override this method to return an instance of that formatter. More...
 
 getErrorFromStatus ( $status)
 Get error (as code, string) from a Status object. More...
 
 getFinalDescription ()
 Get final module description, after hooks have had a chance to tweak it as needed. More...
 
 getFinalParamDescription ()
 Get final parameter descriptions, after hooks have had a chance to tweak it as needed. More...
 
 getFinalParams ( $flags=0)
 Get final list of parameters, after hooks have had a chance to tweak it as needed. More...
 
 getFinalPossibleErrors ()
 Get final list of possible errors, after hooks have had a chance to tweak it as needed. More...
 
 getFinalResultProperties ()
 Get final possible result properties, after hooks have had a chance to tweak it as needed. More...
 
 getMain ()
 Get the main module. More...
 
 getModuleManager ()
 Get the module manager, or null if this module has no sub-modules. More...
 
 getModuleName ()
 Get the name of the module being executed by this instance. More...
 
 getModulePrefix ()
 Get parameter prefix (usually two letters or an empty string). More...
 
 getModuleProfileName ( $db=false)
 Get the name of the module as shown in the profiler log. More...
 
 getProfileDBTime ()
 Total time the module used the database. More...
 
 getProfileTime ()
 Total time the module was executed. More...
 
 getRequireAtLeastOneParameterErrorMessages ( $params)
 Generates the possible errors requireAtLeastOneParameter() can die with. More...
 
 getRequireMaxOneParameterErrorMessages ( $params)
 Generates the possible error requireMaxOneParameter() can die with. More...
 
 getRequireOnlyOneParameterErrorMessages ( $params)
 Generates the possible errors requireOnlyOneParameter() can die with. More...
 
 getResult ()
 Get the result object. More...
 
 getResultData ()
 Get the result data array (read-only) More...
 
 getTitleOrPageId ( $params, $load=false)
 
 getTitleOrPageIdErrorMessage ()
 
 getVersion ()
 Returns a string that identifies the version of the extending class. More...
 
 getWatchlistUser ( $params)
 Gets the user for whom to get the watchlist. More...
 
 isMain ()
 Returns true if this module is the main module ($this === $this->mMainModule), false otherwise. More...
 
 isReadMode ()
 Indicates whether this module requires read rights. More...
 
 makeHelpMsg ()
 Generates help message for this module, or false if there is no description. More...
 
 makeHelpMsgParameters ()
 Generates the parameter descriptions for this module, to be displayed in the module's help. More...
 
 parseErrors ( $errors)
 Parses a list of errors into a standardised format. More...
 
 parseMsg ( $error)
 Return the error message related to a certain array. More...
 
 profileDBIn ()
 Start module profiling. More...
 
 profileDBOut ()
 End database profiling. More...
 
 profileIn ()
 Start module profiling. More...
 
 profileOut ()
 End module profiling. More...
 
 requireAtLeastOneParameter ( $params)
 Die if none of a certain set of parameters is set and not false. More...
 
 requireMaxOneParameter ( $params)
 Die if more than one of a certain set of parameters is set and not false. More...
 
 requireOnlyOneParameter ( $params)
 Die if none or more than one of a certain set of parameters is set and not false. More...
 
 safeProfileOut ()
 When modules crash, sometimes it is needed to do a profileOut() regardless of the profiling state the module was in. More...
 
 setWarning ( $warning)
 Set warning section for this module. More...
 
 shouldCheckMaxlag ()
 Indicates if this module needs maxlag to be checked. More...
 
 validateLimit ( $paramName, &$value, $min, $max, $botMax=null, $enforceLimits=false)
 Validate the value against the minimum and user/bot maximum limits. More...
 
 validateTimestamp ( $value, $encParamName)
 Validate and normalize of parameters of type 'timestamp'. More...
 
- Public Member Functions inherited from ContextSource
 canUseWikiPage ()
 Check whether a WikiPage object can be get with getWikiPage(). More...
 
 exportSession ()
 Export the resolved user IP, HTTP headers, user ID, and session ID. More...
 
 getConfig ()
 Get the Config object. More...
 
 getContext ()
 Get the RequestContext object. More...
 
 getLang ()
 Get the Language object. More...
 
 getLanguage ()
 Get the Language object. More...
 
 getOutput ()
 Get the OutputPage object. More...
 
 getRequest ()
 Get the WebRequest object. More...
 
 getSkin ()
 Get the Skin object. More...
 
 getTitle ()
 Get the Title object. More...
 
 getUser ()
 Get the User object. More...
 
 getWikiPage ()
 Get the WikiPage object. More...
 
 msg ()
 Get a Message object with context set Parameters are the same as wfMessage() More...
 
 setContext (IContextSource $context)
 Set the IContextSource object. More...
 

Protected Member Functions

 checkAsyncDownloadEnabled ()
 Checks if asynchronous copy uploads are enabled and throws an error if they are not. More...
 
 checkPermissions ( $user)
 Checks that the user has permissions to perform this upload. More...
 
 checkVerification (array $verification)
 Performs file verification, dies on error. More...
 
 getApiWarnings ()
 Check warnings. More...
 
 performUpload ( $warnings)
 Perform the actual upload. More...
 
 selectUploadModule ()
 Select an upload module and set it to mUpload. More...
 
 transformWarnings ( $warnings)
 
 verifyUpload ()
 Performs file verification, dies on error. More...
 
- Protected Member Functions inherited from ApiBase
 dieContinueUsageIf ( $condition)
 Die with the $prefix. More...
 
 getDB ()
 Gets a default slave database connection object. More...
 
 getParameter ( $paramName, $parseLimit=true)
 Get a value for the given parameter. More...
 
 getParameterFromSettings ( $paramName, $paramSettings, $parseLimit)
 Using the settings determine the value for the given parameter. More...
 
 getWatchlistValue ( $watchlist, $titleObj, $userOption=null)
 Return true if we're to watch the page, false if not, null if no change. More...
 
 makeHelpArrayToString ( $prefix, $title, $input)
 
 parseMultiValue ( $valueName, $value, $allowMultiple, $allowedValues)
 Return an array of values that were given in a 'a|b|c' notation, after it optionally validates them against the list allowed values. More...
 
 setWatch ( $watch, $titleObj, $userOption=null)
 Set a watch (or unwatch) based the based on a watchlist parameter. More...
 

Protected Attributes

 $mParams
 
UploadBase $mUpload = null
 

Private Member Functions

 dieRecoverableError ( $error, $parameter, $data=array())
 Throw an error that the user can recover from by providing a better value for $parameter. More...
 
 getChunkResult ( $warnings)
 Get the result of a chunk upload. More...
 
 getContextResult ()
 Get an upload result based on upload context. More...
 
 getStashResult ( $warnings)
 Get Stash Result, throws an exception if the file could not be stashed. More...
 
 getWarningsResult ( $warnings)
 Get Warnings Result. More...
 
 performStash ()
 Stash the file and return the file key Also re-raises exceptions with slightly more informative message strings (useful for API) More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ApiBase
static debugPrint ( $value, $name='unknown', $backtrace=false)
 Debugging function that prints a value and an optional backtrace. More...
 
static truncateArray (&$arr, $limit)
 Truncate an array to a certain length. More...
 
- Public Attributes inherited from ApiBase
 $mDBTime = 0
 
 $mModuleName
 
 $mModulePrefix
 
 $mModuleTime = 0
 
const GET_VALUES_FOR_HELP = 1
 getAllowedParams() flag: When set, the result could take longer to generate, but should be more thorough. More...
 
const LIMIT_BIG1 = 500
 
const LIMIT_BIG2 = 5000
 
const LIMIT_SML1 = 50
 
const LIMIT_SML2 = 500
 
const PARAM_ALLOW_DUPLICATES = 6
 
const PARAM_DEPRECATED = 7
 
const PARAM_DFLT = 0
 
const PARAM_ISMULTI = 1
 
const PARAM_MAX = 3
 
const PARAM_MAX2 = 4
 
const PARAM_MIN = 5
 
const PARAM_RANGE_ENFORCE = 9
 
const PARAM_REQUIRED = 8
 
const PARAM_TYPE = 2
 
const PROP_LIST = 'LIST'
 
const PROP_NULLABLE = 1
 
const PROP_ROOT = 'ROOT'
 
const PROP_TYPE = 0
 
- Static Public Attributes inherited from ApiBase
static $messageMap
 Array that maps message keys to error messages. More...
 
- Static Protected Member Functions inherited from ApiBase
static addTokenProperties (&$props, $tokenFunctions)
 Add token properties to the array used by getResultProperties, based on a token functions mapping. More...
 
static dieDebug ( $method, $message)
 Internal code errors should be reported with this method. More...
 

Detailed Description

Definition at line 30 of file ApiUpload.php.

Member Function Documentation

◆ checkAsyncDownloadEnabled()

ApiUpload::checkAsyncDownloadEnabled ( )
protected

Checks if asynchronous copy uploads are enabled and throws an error if they are not.

Definition at line 679 of file ApiUpload.php.

References ApiBase\dieUsage(), and global.

Referenced by selectUploadModule().

◆ checkPermissions()

ApiUpload::checkPermissions (   $user)
protected

Checks that the user has permissions to perform this upload.

Dies with usage message on inadequate permissions.

Parameters
$userUser The user to check.

Definition at line 450 of file ApiUpload.php.

References $user, array(), and ApiBase\dieUsageMsg().

Referenced by execute().

◆ checkVerification()

◆ dieRecoverableError()

ApiUpload::dieRecoverableError (   $error,
  $parameter,
  $data = array() 
)
private

Throw an error that the user can recover from by providing a better value for $parameter.

Parameters
array$errorError array suitable for passing to dieUsageMsg()
string$parameterParameter that needs revising
array$dataOptional extra data to pass to the user
Exceptions
UsageException

Definition at line 305 of file ApiUpload.php.

References $e, $error, ApiBase\dieUsage(), ApiBase\parseMsg(), and performStash().

Referenced by checkVerification(), and execute().

◆ execute()

ApiUpload::execute ( )

Evaluates the parameters, performs the requested query, and sets up the result.

Concrete implementations of ApiBase must override this method to provide whatever functionality their module offers. Implementations must not produce any output on their own and are not expected to handle any errors.

The execute() method will be invoked directly by ApiMain immediately before the result of the module is output. Aside from the constructor, implementations should assume that no other methods will be called externally on the module before the result is processed.

The result data should be stored in the ApiResult object available through getResult().

Reimplemented from ApiBase.

Definition at line 35 of file ApiUpload.php.

References $e, $error, $user, checkPermissions(), dieRecoverableError(), ApiBase\dieUsage(), ApiBase\dieUsageMsg(), ApiBase\extractRequestParams(), getContextResult(), ApiBase\getMain(), ApiBase\getModuleName(), ApiBase\getResult(), ContextSource\getUser(), global, UploadBase\isEnabled(), selectUploadModule(), verifyUpload(), and wfDebug().

◆ getAllowedParams()

ApiUpload::getAllowedParams ( )

Returns an array of allowed parameters (parameter name) => (default value) or (parameter name) => (array with PARAM_* constants as keys) Don't call this function directly: use getFinalParams() to allow hooks to modify parameters as needed.

Some derived classes may choose to handle an integer $flags parameter in the overriding methods. Callers of this method can pass zero or more OR-ed flags like GET_VALUES_FOR_HELP.

Returns
array|bool

Reimplemented from ApiBase.

Definition at line 694 of file ApiUpload.php.

References $params, array(), ApiBase\PARAM_DEPRECATED, ApiBase\PARAM_DFLT, ApiBase\PARAM_REQUIRED, and ApiBase\PARAM_TYPE.

◆ getApiWarnings()

ApiUpload::getApiWarnings ( )
protected

Check warnings.

Returns a suitable array for inclusion into API results if there were warnings Returns the empty array if there were no warnings

Returns
array

Definition at line 549 of file ApiUpload.php.

References transformWarnings().

Referenced by getContextResult().

◆ getChunkResult()

ApiUpload::getChunkResult (   $warnings)
private

Get the result of a chunk upload.

Parameters
array$warningsArray of Api upload warnings
Returns
array

Definition at line 195 of file ApiUpload.php.

References $e, $ok, array(), ApiBase\dieUsage(), ContextSource\exportSession(), ContextSource\getContext(), ApiBase\getMain(), UploadBase\getSessionStatus(), Title\makeTitle(), Status\newGood(), NS_FILE, performStash(), UploadBase\setSessionStatus(), and JobQueueGroup\singleton().

Referenced by getContextResult().

◆ getContextResult()

ApiUpload::getContextResult ( )
private

Get an upload result based on upload context.

Returns
array

Definition at line 128 of file ApiUpload.php.

References getApiWarnings(), getChunkResult(), getStashResult(), getWarningsResult(), and performUpload().

Referenced by execute().

◆ getDescription()

ApiUpload::getDescription ( )

Returns the description string for this module.

Returns
mixed string or array of strings

Reimplemented from ApiBase.

Definition at line 814 of file ApiUpload.php.

References array().

◆ getExamples()

ApiUpload::getExamples ( )

Returns usage examples for this module.

Return false if no examples are available.

Returns
bool|string|array

Reimplemented from ApiBase.

Definition at line 859 of file ApiUpload.php.

References array().

◆ getHelpUrls()

ApiUpload::getHelpUrls ( )
Returns
bool|string|array Returns a false if the module has no help URL, else returns a (array of) string

Reimplemented from ApiBase.

Definition at line 869 of file ApiUpload.php.

◆ getParamDescription()

ApiUpload::getParamDescription ( )

Returns an array of parameter descriptions.

Don't call this function directly: use getFinalParamDescription() to allow hooks to modify descriptions as needed.

Returns
array|bool False on no parameter descriptions

Reimplemented from ApiBase.

Definition at line 747 of file ApiUpload.php.

References $params, and array().

◆ getPossibleErrors()

ApiUpload::getPossibleErrors ( )

Returns a list of all possible errors returned by the module.

Don't call this function directly: use getFinalPossibleErrors() to allow hooks to modify parameters as needed.

Returns
array in the format of array( key, param1, param2, ... ) or array( 'code' => ..., 'info' => ... )

Reimplemented from ApiBase.

Definition at line 825 of file ApiUpload.php.

References array(), and ApiBase\getRequireOnlyOneParameterErrorMessages().

◆ getResultProperties()

ApiUpload::getResultProperties ( )

Returns possible properties in the result, grouped by the value of the prop parameter that shows them.

Properties that are shown always are in a group with empty string as a key. Properties that can be shown by several values of prop are included multiple times. If some properties are part of a list and some are on the root object (see ApiQueryQueryPage), those on the root object are under the key PROP_ROOT. The array can also contain a boolean under the key PROP_LIST, indicating whether the result is a list.

Don't call this function directly: use getFinalResultProperties() to allow hooks to modify descriptions as needed.

Returns
array|bool False on no properties

Reimplemented from ApiBase.

Definition at line 779 of file ApiUpload.php.

References array(), ApiBase\PROP_NULLABLE, and ApiBase\PROP_TYPE.

◆ getStashResult()

ApiUpload::getStashResult (   $warnings)
private

Get Stash Result, throws an exception if the file could not be stashed.

Parameters
array$warningsArray of Api upload warnings
Returns
array

Definition at line 151 of file ApiUpload.php.

References $e, array(), ApiBase\dieUsage(), and performStash().

Referenced by getContextResult().

◆ getTokenSalt()

ApiUpload::getTokenSalt ( )

Returns the token salt if there is one, '' if the module doesn't require a salt, else false if the module doesn't need a token You have also to override needsToken() Value is passed to User::getEditToken.

Returns
bool|string|array

Reimplemented from ApiBase.

Definition at line 855 of file ApiUpload.php.

◆ getWarningsResult()

ApiUpload::getWarningsResult (   $warnings)
private

Get Warnings Result.

Parameters
array$warningsArray of Api upload warnings
Returns
array

Definition at line 174 of file ApiUpload.php.

References $e, array(), and performStash().

Referenced by getContextResult().

◆ isWriteMode()

ApiUpload::isWriteMode ( )

Indicates whether this module requires write mode.

Returns
bool

Reimplemented from ApiBase.

Definition at line 690 of file ApiUpload.php.

◆ mustBePosted()

ApiUpload::mustBePosted ( )

Indicates whether this module must be called with a POST request.

Returns
bool

Reimplemented from ApiBase.

Definition at line 686 of file ApiUpload.php.

◆ needsToken()

ApiUpload::needsToken ( )

Returns whether this module requires a token to execute It is used to show possible errors in action=paraminfo see bug 25248.

Returns
bool

Reimplemented from ApiBase.

Definition at line 851 of file ApiUpload.php.

◆ performStash()

ApiUpload::performStash ( )
private

Stash the file and return the file key Also re-raises exceptions with slightly more informative message strings (useful for API)

Exceptions
MWException
Returns
String file key

Definition at line 279 of file ApiUpload.php.

References $e, and wfDebug().

Referenced by dieRecoverableError(), getChunkResult(), getStashResult(), and getWarningsResult().

◆ performUpload()

ApiUpload::performUpload (   $warnings)
protected

Perform the actual upload.

Returns a suitable result array on success; dies on failure.

Parameters
array$warningsArray of Api upload warnings
Returns
array

Definition at line 590 of file ApiUpload.php.

References $error, $file, $ok, array(), ApiBase\dieUsage(), ContextSource\exportSession(), ContextSource\getContext(), ApiBase\getResult(), UploadBase\getSessionStatus(), ContextSource\getUser(), ApiBase\getWatchlistValue(), Title\makeTitle(), Status\newGood(), NS_FILE, UploadBase\setSessionStatus(), and JobQueueGroup\singleton().

Referenced by getContextResult().

◆ selectUploadModule()

ApiUpload::selectUploadModule ( )
protected

◆ transformWarnings()

ApiUpload::transformWarnings (   $warnings)
protected

Definition at line 555 of file ApiUpload.php.

References array(), as, and ApiBase\getResult().

Referenced by getApiWarnings(), and selectUploadModule().

◆ verifyUpload()

ApiUpload::verifyUpload ( )
protected

Performs file verification, dies on error.

Definition at line 466 of file ApiUpload.php.

References checkVerification(), and UploadBase\OK.

Referenced by execute().

Member Data Documentation

◆ $mParams

ApiUpload::$mParams
protected

Definition at line 33 of file ApiUpload.php.

◆ $mUpload

UploadBase ApiUpload::$mUpload = null
protected

Definition at line 31 of file ApiUpload.php.


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