MediaWiki
1.23.10
|
This class represents the result of the API operations. More...
Public Member Functions | |
__construct ( $main) | |
Constructor. More... | |
addValue ( $path, $name, $value, $flags=0) | |
Add value to the output data at the given path. More... | |
cleanUpUTF8 () | |
Ensure all values in this result are valid UTF-8. More... | |
convertStatusToArray ( $status, $errorType='error') | |
Converts a Status object to an array suitable for addValue. More... | |
disableSizeCheck () | |
Disable size checking in addValue(). More... | |
enableSizeCheck () | |
Re-enable size checking in addValue() More... | |
execute () | |
Evaluates the parameters, performs the requested query, and sets up the result. More... | |
getData () | |
Get the result's internal data array (read-only) More... | |
getIsRawMode () | |
Returns true whether the formatter requested raw data. More... | |
getSize () | |
Get the size of the result, i.e. More... | |
reset () | |
Clear the current result data. More... | |
setIndexedTagName (&$arr, $tag) | |
In case the array contains indexed values (in addition to named), give all indexed values the given tag name. More... | |
setIndexedTagName_internal ( $path, $tag) | |
Calls setIndexedTagName() on an array already in the result. More... | |
setIndexedTagName_recursive (&$arr, $tag) | |
Calls setIndexedTagName() on each sub-array of $arr. More... | |
setParsedLimit ( $moduleName, $limit) | |
Add a parsed limit=max to the result. More... | |
setRawMode ( $flag=true) | |
Call this function when special elements such as '_element' are needed by the formatter, for example in XML printing. More... | |
unsetValue ( $path, $name) | |
Unset a value previously added to the result set. 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... | |
getHelpUrls () | |
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... | |
getPossibleErrors () | |
Returns a list of all possible errors returned by the module. 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 () | |
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... | |
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... | |
isWriteMode () | |
Indicates whether this module requires write mode. 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... | |
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... | |
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... | |
Static Public Member Functions | |
static | setContent (&$arr, $value, $subElemName=null) |
Adds a content element to an array. More... | |
static | setElement (&$arr, $name, $value, $flags=0) |
Add an output value to the array by name. More... | |
static | size ( $value) |
Get the 'real' size of a result item. More... | |
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 | |
$mCheckingSize | |
$mIsRawMode | |
$mSize | |
const | ADD_ON_TOP = 2 |
For addValue() and setElement(), if the value does not exist, add it as the first element. More... | |
const | OVERRIDE = 1 |
override existing value in addValue() and setElement() 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 Private Member Functions | |
static | cleanUp_helper (&$s) |
Callback function for cleanUpUTF8() More... | |
Private Attributes | |
$mData | |
Additional Inherited Members | |
Static Public Attributes inherited from ApiBase | |
static | $messageMap |
Array that maps message keys to error messages. More... | |
Protected Member Functions inherited from ApiBase | |
dieContinueUsageIf ( $condition) | |
Die with the $prefix. 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... | |
getDB () | |
Gets a default slave database connection object. More... | |
getDescription () | |
Returns the description string for this module. More... | |
getExamples () | |
Returns usage examples for this module. More... | |
getParamDescription () | |
Returns an array of parameter descriptions. 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... | |
getResultProperties () | |
Returns possible properties in the result, grouped by the value of the prop parameter that shows them. 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... | |
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... | |
This class represents the result of the API operations.
It simply wraps a nested array() structure, adding some functions to simplify array's modifications. As various modules execute, they add different pieces of information to this result, structuring it as it will be given to the client.
Each subarray may either be a dictionary - key-value pairs with unique keys, or lists, where the items are added using $data[] = $value notation.
There are two special key values that change how XML output is generated: '_element' This key sets the tag name for the rest of the elements in the current array. It is only inserted if the formatter returned true for getNeedsRawData() '*' This key has special meaning only to the XML formatter, and is outputted as is for all others. In XML it becomes the content of the current element.
Definition at line 44 of file ApiResult.php.
ApiResult::__construct | ( | $main | ) |
Constructor.
$main | ApiMain object |
Definition at line 65 of file ApiResult.php.
References reset().
ApiResult::addValue | ( | $path, | |
$name, | |||
$value, | |||
$flags = 0 |
|||
) |
Add value to the output data at the given path.
Path can be an indexed array, each element specifying the branch at which to add the new value. Setting $path to array('a','b','c') is equivalent to data['a']['b']['c'] = $value. If $path is null, the value will be inserted at the data root. If $name is empty, the $value is added as a next list element data[] = $value.
$path | array|string|null | |
$name | string | |
$value | mixed | |
int | $flags | Zero or more OR-ed flags like OVERRIDE | ADD_ON_TOP. This parameter used to be boolean, and the value of OVERRIDE=1 was specifically chosen so that it would be backwards compatible with the new method signature. |
Definition at line 291 of file ApiResult.php.
References $flags, $mData, $name, $path, $value, ADD_ON_TOP, array(), as, global, setElement(), ApiBase\setWarning(), and size().
Referenced by setParsedLimit().
|
staticprivate |
Callback function for cleanUpUTF8()
$s | string |
Definition at line 384 of file ApiResult.php.
References $s, $wgContLang, and global.
ApiResult::cleanUpUTF8 | ( | ) |
Ensure all values in this result are valid UTF-8.
Definition at line 375 of file ApiResult.php.
References array().
ApiResult::convertStatusToArray | ( | $status, | |
$errorType = 'error' |
|||
) |
Converts a Status object to an array suitable for addValue.
Status | $status | |
string | $errorType |
Definition at line 398 of file ApiResult.php.
References $error, array(), as, and setIndexedTagName().
ApiResult::disableSizeCheck | ( | ) |
Disable size checking in addValue().
Don't use this unless you REALLY know what you're doing. Values added while size checking was disabled will not be counted (ever)
Definition at line 139 of file ApiResult.php.
ApiResult::enableSizeCheck | ( | ) |
Re-enable size checking in addValue()
Definition at line 146 of file ApiResult.php.
ApiResult::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 413 of file ApiResult.php.
References ApiBase\dieDebug().
ApiResult::getData | ( | ) |
Get the result's internal data array (read-only)
Definition at line 102 of file ApiResult.php.
References $mData.
ApiResult::getIsRawMode | ( | ) |
Returns true whether the formatter requested raw data.
Definition at line 94 of file ApiResult.php.
References $mIsRawMode.
Referenced by setIndexedTagName().
ApiResult::getSize | ( | ) |
Get the size of the result, i.e.
the amount of bytes in it
Definition at line 130 of file ApiResult.php.
References $mSize.
ApiResult::reset | ( | ) |
Clear the current result data.
Definition at line 75 of file ApiResult.php.
References array().
Referenced by __construct().
|
static |
Adds a content element to an array.
Use this function instead of hardcoding the '*' element.
array | $arr | to add the content element to |
$value | Mixed | |
string | $subElemName | when present, content element is created as a sub item of $arr. Use this parameter to create elements in format "<elem>text</elem>" without attributes. |
Definition at line 201 of file ApiResult.php.
References $value, array(), ApiBase\dieDebug(), and setElement().
Referenced by ApiQuery\doExport(), ApiComparePages\execute(), ApiRsd\execute(), ApiExpandTemplates\execute(), ApiParse\execute(), ApiQueryDeletedrevs\execute(), ApiQueryExternalLinks\execute(), ApiQueryLangLinks\execute(), ApiQueryAllMessages\execute(), ApiQueryIWLinks\execute(), ApiQueryRevisions\extractRowInfo(), ApiParse\formatCategoryLinks(), ApiParse\formatCss(), ApiParse\formatHeadItems(), ApiParse\formatIWLinks(), ApiParse\formatLangLinks(), ApiParse\formatLinks(), ApiParse\formatProperties(), ApiRsd\formatRsdApiList(), ApiParamInfo\getClassInfo(), ApiQueryUserInfo\getCurrentUserInfo(), ApiQueryAllCategories\run(), and ApiMain\substituteResultWithError().
|
static |
Add an output value to the array by name.
Verifies that value with the same name has not been added before.
array | $arr | to add $value to |
string | $name | Index of $arr to add $value at |
$value | mixed | |
int | $flags | Zero or more OR-ed flags like OVERRIDE | ADD_ON_TOP. This parameter used to be boolean, and the value of OVERRIDE=1 was specifically chosen so that it would be backwards compatible with the new method signature. |
Definition at line 163 of file ApiResult.php.
References $flags, $name, $value, ADD_ON_TOP, array(), ApiBase\dieDebug(), and OVERRIDE.
Referenced by addValue(), and setContent().
ApiResult::setIndexedTagName | ( | & | $arr, |
$tag | |||
) |
In case the array contains indexed values (in addition to named), give all indexed values the given tag name.
This function MUST be called on every array that has numerical indexes.
$arr | array | |
string | $tag | Tag name |
Definition at line 222 of file ApiResult.php.
References ApiBase\dieDebug(), and getIsRawMode().
Referenced by convertStatusToArray(), setIndexedTagName_internal(), and setIndexedTagName_recursive().
ApiResult::setIndexedTagName_internal | ( | $path, | |
$tag | |||
) |
Calls setIndexedTagName() on an array already in the result.
Don't specify a path to a value that's not in the result, or you'll get nasty errors.
array | $path | Path to the array, like addValue()'s $path |
$tag | string |
Definition at line 259 of file ApiResult.php.
References $mData, $path, array(), as, and setIndexedTagName().
ApiResult::setIndexedTagName_recursive | ( | & | $arr, |
$tag | |||
) |
Calls setIndexedTagName() on each sub-array of $arr.
$arr | array | |
string | $tag | Tag name |
Definition at line 239 of file ApiResult.php.
References as, and setIndexedTagName().
ApiResult::setParsedLimit | ( | $moduleName, | |
$limit | |||
) |
Add a parsed limit=max to the result.
$moduleName | string |
$limit | int |
Definition at line 346 of file ApiResult.php.
References $limit, addValue(), and OVERRIDE.
ApiResult::setRawMode | ( | $flag = true | ) |
Call this function when special elements such as '_element' are needed by the formatter, for example in XML printing.
bool | $flag | Set the raw mode flag to this state |
Definition at line 86 of file ApiResult.php.
|
static |
Get the 'real' size of a result item.
This means the strlen() of the item, or the sum of the strlen()s of the elements if the item is an array.
$value | mixed |
Definition at line 112 of file ApiResult.php.
References $s, $value, and as.
Referenced by addValue(), and unsetValue().
ApiResult::unsetValue | ( | $path, | |
$name | |||
) |
Unset a value previously added to the result set.
Fails silently if the value isn't found. For parameters, see addValue()
$path | array|null |
$name | string |
Definition at line 358 of file ApiResult.php.
ApiResult::$mCheckingSize |
Definition at line 59 of file ApiResult.php.
|
private |
Definition at line 59 of file ApiResult.php.
Referenced by addValue(), getData(), setIndexedTagName_internal(), and unsetValue().
ApiResult::$mIsRawMode |
Definition at line 59 of file ApiResult.php.
Referenced by getIsRawMode().
ApiResult::$mSize |
Definition at line 59 of file ApiResult.php.
Referenced by getSize().
const ApiResult::ADD_ON_TOP = 2 |
For addValue() and setElement(), if the value does not exist, add it as the first element.
In case the new value has no name (numerical index), all indexes will be renumbered.
Definition at line 57 of file ApiResult.php.
Referenced by addValue(), ApiQueryBase\setContinueEnumParameter(), and setElement().
const ApiResult::OVERRIDE = 1 |
override existing value in addValue() and setElement()
Definition at line 50 of file ApiResult.php.
Referenced by setElement(), and setParsedLimit().