MediaWiki REL1_33
|
This class represents the result of the API operations. More...
Public Member Functions | |
__construct ( $maxSize) | |
serializeForApiResult () | |
Allow for adding one ApiResult into another. | |
setErrorFormatter (ApiErrorFormatter $formatter) | |
Set the error formatter. | |
Public Attributes | |
const | ADD_ON_TOP = 2 |
For addValue(), setValue() and similar functions, if the value does not exist, add it as the first element. | |
const | META_BC_BOOLS = '_BC_bools' |
Key for the 'BC bools' metadata item. | |
const | META_BC_SUBELEMENTS = '_BC_subelements' |
Key for the 'BC subelements' metadata item. | |
const | META_CONTENT = '_content' |
Key for the 'content' metadata item. | |
const | META_INDEXED_TAG_NAME = '_element' |
Key for the 'indexed tag name' metadata item. | |
const | META_KVP_KEY_NAME = '_kvpkeyname' |
Key for the metadata item whose value specifies the name used for the kvp key in the alternative output format with META_TYPE 'kvp' or 'BCkvp', i.e. | |
const | META_KVP_MERGE = '_kvpmerge' |
Key for the metadata item that indicates that the KVP key should be added into an assoc value, i.e. | |
const | META_PRESERVE_KEYS = '_preservekeys' |
Key for the 'preserve keys' metadata item. | |
const | META_SUBELEMENTS = '_subelements' |
Key for the 'subelements' metadata item. | |
const | META_TYPE = '_type' |
Key for the 'type' metadata item. | |
const | NO_SIZE_CHECK = 4 |
For addValue() and similar functions, do not check size while adding a value Don't use this unless you REALLY know what you're doing. | |
const | NO_VALIDATE = self::NO_SIZE_CHECK | 8 |
For addValue(), setValue() and similar functions, do not validate data. | |
const | OVERRIDE = 1 |
Override existing value in addValue(), setValue(), and similar functions. | |
Private Attributes | |
$checkingSize | |
$data | |
$errorFormatter | |
$mainForContinuation | |
$maxSize | |
$size | |
Content | |
reset () | |
Clear the current result data. | |
getResultData ( $path=[], $transforms=[]) | |
Get the result data array. | |
getSize () | |
Get the size of the result, i.e. | |
addValue ( $path, $name, $value, $flags=0) | |
Add value to the output data at the given path. | |
removeValue ( $path, $name, $flags=0) | |
Remove value from the output data at the given path. | |
addContentValue ( $path, $name, $value, $flags=0) | |
Add value to the output data at the given path and mark as META_CONTENT. | |
addParsedLimit ( $moduleName, $limit) | |
Add the numeric limit for a limit=max to the result. | |
static | setValue (array &$arr, $name, $value, $flags=0) |
Add an output value to the array by name. | |
static | unsetValue (array &$arr, $name) |
Remove an output value to the array by name. | |
static | setContentValue (array &$arr, $name, $value, $flags=0) |
Add an output value to the array by name and mark as META_CONTENT. | |
static | validateValue ( $value) |
Validate a value for addition to the result. | |
Metadata | |
addContentField ( $path, $name, $flags=0) | |
Set the name of the content field name (META_CONTENT) | |
addSubelementsList ( $path, $names) | |
Causes the elements with the specified names to be output as subelements rather than attributes. | |
removeSubelementsList ( $path, $names) | |
Causes the elements with the specified names to be output as attributes (when possible) rather than as subelements. | |
addIndexedTagName ( $path, $tag) | |
Set the tag name for numeric-keyed values in XML format. | |
addIndexedTagNameRecursive ( $path, $tag) | |
Set indexed tag name on $path and all subarrays. | |
addPreserveKeysList ( $path, $names) | |
Preserve specified keys. | |
removePreserveKeysList ( $path, $names) | |
Don't preserve specified keys. | |
addArrayType ( $path, $tag, $kvpKeyName=null) | |
Set the array data type for a path. | |
addArrayTypeRecursive ( $path, $tag, $kvpKeyName=null) | |
Set the array data type for a path recursively. | |
static | setContentField (array &$arr, $name, $flags=0) |
Set the name of the content field name (META_CONTENT) | |
static | setSubelementsList (array &$arr, $names) |
Causes the elements with the specified names to be output as subelements rather than attributes. | |
static | unsetSubelementsList (array &$arr, $names) |
Causes the elements with the specified names to be output as attributes (when possible) rather than as subelements. | |
static | setIndexedTagName (array &$arr, $tag) |
Set the tag name for numeric-keyed values in XML format. | |
static | setIndexedTagNameRecursive (array &$arr, $tag) |
Set indexed tag name on $arr and all subarrays. | |
static | setPreserveKeysList (array &$arr, $names) |
Preserve specified keys. | |
static | unsetPreserveKeysList (array &$arr, $names) |
Don't preserve specified keys. | |
static | setArrayType (array &$arr, $type, $kvpKeyName=null) |
Set the array data type. | |
static | setArrayTypeRecursive (array &$arr, $type, $kvpKeyName=null) |
Set the array data type recursively. | |
Utility | |
static | isMetadataKey ( $key) |
Test whether a key should be considered metadata. | |
static | stripMetadata ( $data) |
Recursively remove metadata keys from a data array or object. | |
static | stripMetadataNonRecursive ( $data, &$metadata=null) |
Remove metadata keys from a data array or object, non-recursive. | |
static | addMetadataToResultVars ( $vars, $forceHash=true) |
Add the correct metadata to an array of vars we want to export through the API. | |
static | formatExpiry ( $expiry, $infinity='infinity') |
Format an expiry timestamp for API output. | |
static | size ( $value) |
Get the 'real' size of a result item. | |
static | applyTransformations (array $dataIn, array $transforms) |
Apply transformations to an array, returning the transformed array. | |
& | path ( $path, $create='append') |
Return a reference to the internal data at $path. | |
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.
Definition at line 35 of file ApiResult.php.
ApiResult::__construct | ( | $maxSize | ) |
int | bool | $maxSize | Maximum result "size", or false for no limit |
Definition at line 155 of file ApiResult.php.
References $maxSize, reset(), and wfDeprecated().
ApiResult::addArrayType | ( | $path, | |
$tag, | |||
$kvpKeyName = null |
|||
) |
Set the array data type for a path.
array | string | null | $path | See ApiResult::addValue() |
string | $tag | See ApiResult::META_TYPE |
string | null | $kvpKeyName | See ApiResult::META_KVP_KEY_NAME |
Definition at line 747 of file ApiResult.php.
References $path, path(), and setArrayType().
ApiResult::addArrayTypeRecursive | ( | $path, | |
$tag, | |||
$kvpKeyName = null |
|||
) |
Set the array data type for a path recursively.
array | string | null | $path | See ApiResult::addValue() |
string | $tag | See ApiResult::META_TYPE |
string | null | $kvpKeyName | See ApiResult::META_KVP_KEY_NAME |
Definition at line 775 of file ApiResult.php.
References $path, path(), and setArrayTypeRecursive().
ApiResult::addContentField | ( | $path, | |
$name, | |||
$flags = 0 |
|||
) |
Set the name of the content field name (META_CONTENT)
array | string | null | $path | See ApiResult::addValue() |
string | int | $name | Name of the field |
int | $flags | Zero or more OR-ed flags like OVERRIDE | ADD_ON_TOP. |
Definition at line 553 of file ApiResult.php.
References $name, $path, path(), and setContentField().
Referenced by addContentValue().
ApiResult::addContentValue | ( | $path, | |
$name, | |||
$value, | |||
$flags = 0 |
|||
) |
Add value to the output data at the given path and mark as META_CONTENT.
array | string | null | $path | See ApiResult::addValue() |
string | int | $name | See ApiResult::setValue() |
mixed | $value | |
int | $flags | Zero or more OR-ed flags like OVERRIDE | ADD_ON_TOP. |
Definition at line 496 of file ApiResult.php.
References $name, $path, $value, addContentField(), and addValue().
ApiResult::addIndexedTagName | ( | $path, | |
$tag | |||
) |
Set the tag name for numeric-keyed values in XML format.
array | string | null | $path | See ApiResult::addValue() |
string | $tag | Tag name |
Definition at line 629 of file ApiResult.php.
References $path, path(), and setIndexedTagName().
Referenced by ApiQuerySearch\addInterwikiResults().
ApiResult::addIndexedTagNameRecursive | ( | $path, | |
$tag | |||
) |
Set indexed tag name on $path and all subarrays.
array | string | null | $path | See ApiResult::addValue() |
string | $tag | Tag name |
Definition at line 660 of file ApiResult.php.
References $path, path(), and setIndexedTagNameRecursive().
|
static |
Add the correct metadata to an array of vars we want to export through the API.
array | $vars | |
bool | $forceHash |
Definition at line 1150 of file ApiResult.php.
References $keys, $vars, addMetadataToResultVars(), array(), and as.
Referenced by addMetadataToResultVars(), ApiExpandTemplates\execute(), ApiParse\execute(), ApiQuerySearch\getSearchResultData(), and ApiResultTest\testAddMetadataToResultVars().
ApiResult::addParsedLimit | ( | $moduleName, | |
$limit | |||
) |
Add the numeric limit for a limit=max to the result.
string | $moduleName | |
int | $limit |
Definition at line 511 of file ApiResult.php.
References addValue().
ApiResult::addPreserveKeysList | ( | $path, | |
$names | |||
) |
Preserve specified keys.
array | string | null | $path | See ApiResult::addValue() |
array | string | $names | The element name(s) to preserve |
Definition at line 690 of file ApiResult.php.
References $path, path(), and setPreserveKeysList().
ApiResult::addSubelementsList | ( | $path, | |
$names | |||
) |
Causes the elements with the specified names to be output as subelements rather than attributes.
array | string | null | $path | See ApiResult::addValue() |
array | string | int | $names | The element name(s) to be output as subelements |
Definition at line 580 of file ApiResult.php.
References $path, path(), and setSubelementsList().
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 [ 'a', 'b', 'c' ] is equivalent to data['a']['b']['c'] = $value. If $path is null, the value will be inserted at the data root.
array | string | int | null | $path | |
string | int | null | $name | See ApiResult::setValue() |
mixed | $value | |
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 405 of file ApiResult.php.
References $name, $path, $value, NO_VALIDATE, path(), setValue(), size(), and validateValue().
Referenced by addContentValue(), ApiQuerySearch\addInterwikiResults(), addParsedLimit(), ApiPageSet\populateGeneratorData(), and ApiContinuationManager\setContinuationIntoResult().
Apply transformations to an array, returning the transformed array.
array | $dataIn | |
array | $transforms |
Definition at line 806 of file ApiResult.php.
References $data, $keys, $ret, $type, applyTransformations(), array(), as, META_CONTENT, META_KVP_KEY_NAME, META_TYPE, object, setPreserveKeysList(), and stripMetadataNonRecursive().
Referenced by applyTransformations(), and getResultData().
|
static |
Format an expiry timestamp for API output.
string | $expiry | Expiry timestamp, likely from the database |
string | $infinity | Use this string for infinite expiry (only use this to maintain backward compatibility with existing output) |
Definition at line 1205 of file ApiResult.php.
References DB_REPLICA, wfGetDB(), wfIsInfinity(), and wfTimestamp().
Referenced by ApiBlock\execute(), ApiProtect\execute(), ApiQueryBlocks\execute(), ApiQueryUsers\execute(), ApiQueryUserInfo\getBlockInfo(), ApiQueryUserInfo\getCurrentUserInfo(), RightsLogFormatter\getParametersForApi(), ApiQueryInfo\getProtectionInfo(), and ApiQueryProtectedTitles\run().
ApiResult::getResultData | ( | $path = [] , |
|
$transforms = [] |
|||
) |
Get the result data array.
The returned value should be considered read-only.
Transformations include:
Custom: (callable) Applied before other transformations. Signature is function ( &$data, &$metadata ), return value is ignored. Called for each nested array.
BC: (array) This transformation does various adjustments to bring the output in line with the pre-1.25 result format. The value array is a list of flags: 'nobool', 'no*', 'nosub'.
Types: (assoc) Apply transformations based on META_TYPE. The values array is an associative array with the following possible keys:
Strip: (string) Strips metadata keys from the result.
array | string | null | $path | Path to fetch, see ApiResult::addValue |
array | $transforms | See above |
Definition at line 254 of file ApiResult.php.
References $last, $path, $ret, applyTransformations(), array(), data, and path().
ApiResult::getSize | ( | ) |
Get the size of the result, i.e.
the amount of bytes in it
Definition at line 275 of file ApiResult.php.
References $size.
|
static |
Test whether a key should be considered metadata.
string | $key |
Definition at line 793 of file ApiResult.php.
Referenced by ApiFeedWatchlist\execute(), and ApiFormatXml\recXmlPrint().
|
private |
Return a reference to the internal data at $path.
array | string | null | $path | |
string | $create | If 'append', append empty arrays. If 'prepend', prepend empty arrays. If 'dummy', return a dummy array. Else, raise an error. |
Definition at line 1113 of file ApiResult.php.
References $data, $path, $ret, array(), and as.
Referenced by addArrayType(), addArrayTypeRecursive(), addContentField(), addIndexedTagName(), addIndexedTagNameRecursive(), addPreserveKeysList(), addSubelementsList(), addValue(), getResultData(), removePreserveKeysList(), removeSubelementsList(), and removeValue().
ApiResult::removePreserveKeysList | ( | $path, | |
$names | |||
) |
Don't preserve specified keys.
array | string | null | $path | See ApiResult::addValue() |
array | string | $names | The element name(s) to not preserve |
Definition at line 715 of file ApiResult.php.
References $path, path(), and unsetPreserveKeysList().
ApiResult::removeSubelementsList | ( | $path, | |
$names | |||
) |
Causes the elements with the specified names to be output as attributes (when possible) rather than as subelements.
array | string | null | $path | See ApiResult::addValue() |
array | string | int | $names | The element name(s) to not be output as subelements |
Definition at line 605 of file ApiResult.php.
References $path, path(), and unsetSubelementsList().
ApiResult::removeValue | ( | $path, | |
$name, | |||
$flags = 0 |
|||
) |
Remove value from the output data at the given path.
array | string | null | $path | See ApiResult::addValue() |
string | int | null | $name | Index to remove at $path. If null, $path itself is removed. |
int | $flags | Flags used when adding the value |
Definition at line 453 of file ApiResult.php.
References $name, $path, $ret, array(), path(), size(), and unsetValue().
ApiResult::reset | ( | ) |
Clear the current result data.
Definition at line 194 of file ApiResult.php.
Referenced by __construct().
ApiResult::serializeForApiResult | ( | ) |
Allow for adding one ApiResult into another.
Implements ApiSerializable.
Definition at line 182 of file ApiResult.php.
References $data.
Set the array data type.
array | &$arr | |
string | $type | See ApiResult::META_TYPE |
string | null | $kvpKeyName | See ApiResult::META_KVP_KEY_NAME |
Definition at line 728 of file ApiResult.php.
References $type, META_KVP_KEY_NAME, and META_TYPE.
Referenced by addArrayType(), ApiQueryPageProps\addPageProps(), ApiQuerySiteinfo\appendExtensionTags(), ApiQuerySiteinfo\appendFunctionHooks(), ApiQuerySiteinfo\appendGeneralInfo(), ApiQuerySiteinfo\appendLanguageVariants(), ApiQuerySiteinfo\appendNamespaces(), ApiQuerySiteinfo\appendProtocols(), ApiQuerySiteinfo\appendRestrictions(), ApiQuerySiteinfo\appendSubscribedHooks(), ApiQuerySiteinfo\appendUserGroups(), ApiQuerySiteinfo\appendVariables(), ApiComparePages\execute(), ApiExpandTemplates\execute(), ApiParse\execute(), ApiQueryAllUsers\execute(), ApiQueryFileRepoInfo\execute(), ApiQueryUsers\execute(), ApiQueryRevisionsBase\extractSlotInfo(), ApiAuthManagerHelper\formatFields(), LogFormatter\formatParametersForApi(), RightsLogFormatter\formatParametersForApi(), LogFormatter\formatParameterValueForApi(), ApiQueryUserInfo\getCentralUserInfo(), ApiQueryUserInfo\getCurrentUserInfo(), ApiParamInfo\getModuleInfo(), ApiQuery\outputGeneralPageInfo(), setArrayTypeRecursive(), LogFormatterTest\testApiParamFormatting(), and ApiResultTest\testMetadata().
Set the array data type recursively.
array | &$arr | |
string | $type | See ApiResult::META_TYPE |
string | null | $kvpKeyName | See ApiResult::META_KVP_KEY_NAME |
Definition at line 759 of file ApiResult.php.
References $type, as, setArrayType(), and setArrayTypeRecursive().
Referenced by addArrayTypeRecursive(), ApiQueryFileRepoInfo\execute(), setArrayTypeRecursive(), and ApiResultTest\testMetadata().
|
static |
Set the name of the content field name (META_CONTENT)
array | &$arr | |
string | int | $name | Name of the field |
int | $flags | Zero or more OR-ed flags like OVERRIDE | ADD_ON_TOP. |
Definition at line 532 of file ApiResult.php.
References $name, and META_CONTENT.
Referenced by addContentField(), and setContentValue().
|
static |
Add an output value to the array by name and mark as META_CONTENT.
array | &$arr | To add $value to |
string | int | $name | Index of $arr to add $value at. |
mixed | $value | |
int | $flags | Zero or more OR-ed flags like OVERRIDE | ADD_ON_TOP. |
Definition at line 478 of file ApiResult.php.
References $name, $value, setContentField(), and setValue().
Referenced by ApiQuerySiteinfo\appendLanguages(), ApiQuerySiteinfo\appendNamespaceAliases(), ApiQuerySiteinfo\appendNamespaces(), ApiQuerySiteinfo\appendSkins(), ApiComparePages\execute(), ApiExpandTemplates\execute(), ApiQueryAllMessages\execute(), ApiQueryDeletedrevs\execute(), ApiQueryExternalLinks\execute(), ApiQueryIWLinks\execute(), ApiQueryLangLinks\execute(), ApiQueryRevisionsBase\extractDeprecatedContent(), ApiParse\formatCategoryLinks(), ApiParse\formatHeadItems(), ApiParse\formatIWLinks(), ApiParse\formatLangLinks(), ApiParse\formatLinks(), ApiRsd\formatRsdApiList(), ApiQueryUserInfo\getCurrentUserInfo(), ApiQueryAllCategories\run(), ApiResultTest\testInstanceDataMethods(), and ApiResultTest\testStaticDataMethods().
ApiResult::setErrorFormatter | ( | ApiErrorFormatter | $formatter | ) |
Set the error formatter.
ApiErrorFormatter | $formatter |
Definition at line 173 of file ApiResult.php.
|
static |
Set the tag name for numeric-keyed values in XML format.
array | &$arr | |
string | $tag | Tag name |
Definition at line 616 of file ApiResult.php.
References META_INDEXED_TAG_NAME.
Referenced by addIndexedTagName(), ApiQueryBase\addPageSubItems(), ApiQuerySiteinfo\appendDbReplLagInfo(), MWDebug\appendDebugInfoToApiResult(), ApiQuerySiteinfo\appendExtensions(), ApiQuerySiteinfo\appendExtensionTags(), ApiQuerySiteinfo\appendFileExtensions(), ApiQuerySiteinfo\appendFunctionHooks(), ApiQuerySiteinfo\appendGeneralInfo(), ApiQuerySiteinfo\appendInstalledLibraries(), ApiQuerySiteinfo\appendInterwikiMap(), ApiQuerySiteinfo\appendLanguages(), ApiQuerySiteinfo\appendLanguageVariants(), ApiQuerySiteinfo\appendMagicWords(), ApiQuerySiteinfo\appendNamespaceAliases(), ApiQuerySiteinfo\appendNamespaces(), ApiQuerySiteinfo\appendProtocols(), ApiQuerySiteinfo\appendRestrictions(), ApiQuerySiteinfo\appendSkins(), ApiQuerySiteinfo\appendSpecialPageAliases(), ApiQuerySiteinfo\appendSubscribedHooks(), ApiQuerySiteinfo\appendUserGroups(), ApiQuerySiteinfo\appendVariables(), ApiErrorFormatter_BackCompat\arrayFromStatus(), ApiUpload\checkVerification(), ApiEditPage\execute(), ApiExpandTemplates\execute(), ApiImageRotate\execute(), ApiImport\execute(), ApiMove\execute(), ApiParamInfo\execute(), ApiProtect\execute(), ApiPurge\execute(), ApiQueryAllUsers\execute(), ApiQueryDeletedrevs\execute(), ApiQueryFileRepoInfo\execute(), ApiQueryUsers\execute(), ApiRevisionDelete\execute(), ApiRsd\execute(), ApiSetNotificationTimestamp\execute(), ApiTag\execute(), ApiUserrights\execute(), ApiWatch\execute(), ApiQueryWatchlist\extractOutputData(), ApiQueryInfo\extractPageInfo(), ApiQueryRevisionsBase\extractRevisionInfo(), ApiQueryLogEvents\extractRowInfo(), ApiQueryRecentChanges\extractRowInfo(), ApiQueryUserContribs\extractRowInfo(), ApiParamInfo\formatHelpMessages(), ApiAuthManagerHelper\formatMessage(), BlockLogFormatter\formatParametersForApi(), DeleteLogFormatter\formatParametersForApi(), LogFormatter\formatParametersForApi(), RightsLogFormatter\formatParametersForApi(), ApiErrorFormatter\formatRawMessage(), ApiRsd\formatRsdApiList(), ApiPageSet\getConvertedTitlesAsResult(), ApiQueryUserInfo\getCurrentUserInfo(), ApiPageSet\getInterwikiTitlesAsResult(), ApiPageSet\getMissingRevisionIDsAsResult(), ApiParamInfo\getModuleInfo(), ApiPageSet\getNormalizedTitlesAsResult(), ApiPageSet\getRedirectTitlesAsResult(), ApiQueryBlocks\getRestrictionData(), ApiQuery\outputGeneralPageInfo(), ApiOpenSearch\populateResult(), ApiTag\processIndividual(), ApiQueryImageInfo\processMetaData(), ApiQueryBacklinks\run(), ApiQueryAllDeletedRevisions\run(), ApiQueryAllRevisions\run(), ApiParse\setIndexedTagNames(), LogFormatterTest\testApiParamFormatting(), ApiResultTest\testMetadata(), and ApiUpload\transformWarnings().
|
static |
Set indexed tag name on $arr and all subarrays.
array | &$arr | |
string | $tag | Tag name |
Definition at line 641 of file ApiResult.php.
References as, META_INDEXED_TAG_NAME, and setIndexedTagNameRecursive().
Referenced by addIndexedTagNameRecursive(), ApiParse\formatLimitReportData(), setIndexedTagNameRecursive(), and ApiResultTest\testMetadata().
|
static |
Preserve specified keys.
This prevents XML name mangling and preventing keys from being removed by self::stripMetadata().
array | &$arr | |
array | string | $names | The element name(s) to preserve |
Definition at line 675 of file ApiResult.php.
References array(), and META_PRESERVE_KEYS.
Referenced by addPreserveKeysList(), applyTransformations(), FormatMetadata\sanitizeArrayForAPI(), and ApiResultTest\testMetadata().
|
static |
Causes the elements with the specified names to be output as subelements rather than attributes.
array | &$arr | |
array | string | int | $names | The element name(s) to be output as subelements |
Definition at line 565 of file ApiResult.php.
References array(), and META_SUBELEMENTS.
Referenced by addSubelementsList(), ApiExpandTemplates\execute(), ApiHelp\execute(), ApiRsd\execute(), ApiRsd\formatRsdApiList(), ApiParamInfo\getModuleInfo(), ApiOpenSearch\populateResult(), and ApiResultTest\testMetadata().
|
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 | int | null | $name | Index of $arr to add $value at, or null to use the next numeric index. |
mixed | $value | |
int | $flags | Zero or more OR-ed flags like OVERRIDE | ADD_ON_TOP. |
Definition at line 291 of file ApiResult.php.
References $keys, $name, $value, and validateValue().
Referenced by addValue(), setContentValue(), ApiResultTest\testObjectSerialization(), and ApiResultTest\testStaticDataMethods().
|
staticprivate |
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.
mixed | $value | Validated value (see self::validateValue()) |
Definition at line 1087 of file ApiResult.php.
References $s, $value, as, and size().
Referenced by addValue(), removeValue(), reset(), and size().
|
static |
Recursively remove metadata keys from a data array or object.
Note this removes all potential metadata keys, not just the defined ones.
array | object | $data |
Definition at line 1022 of file ApiResult.php.
References $data, array(), as, object, and stripMetadata().
Referenced by stripMetadata(), and ApiResultTest\testUtilityFunctions().
|
static |
Remove metadata keys from a data array or object, non-recursive.
Note this removes all potential metadata keys, not just the defined ones.
array | object | $data | |
array | null | &$metadata | Store metadata here, if provided |
Definition at line 1056 of file ApiResult.php.
References $data, array(), as, and object.
Referenced by applyTransformations(), ApiQuery\outputGeneralPageInfo(), and ApiResultTest\testUtilityFunctions().
|
static |
Don't preserve specified keys.
array | &$arr | |
array | string | $names | The element name(s) to not preserve |
Definition at line 702 of file ApiResult.php.
References array(), and META_PRESERVE_KEYS.
Referenced by removePreserveKeysList(), and ApiResultTest\testMetadata().
|
static |
Causes the elements with the specified names to be output as attributes (when possible) rather than as subelements.
array | &$arr | |
array | string | int | $names | The element name(s) to not be output as subelements |
Definition at line 592 of file ApiResult.php.
References array(), and META_SUBELEMENTS.
Referenced by removeSubelementsList(), and ApiResultTest\testMetadata().
|
static |
Remove an output value to the array by name.
array | &$arr | To remove $value from |
string | int | $name | Index of $arr to remove |
Definition at line 434 of file ApiResult.php.
Referenced by removeValue(), and ApiResultTest\testStaticDataMethods().
|
staticprivate |
Validate a value for addition to the result.
mixed | $value |
Definition at line 334 of file ApiResult.php.
References $type, $value, array(), as, string, and validateValue().
Referenced by addValue(), setValue(), and validateValue().
|
private |
Definition at line 149 of file ApiResult.php.
|
private |
Definition at line 145 of file ApiResult.php.
Referenced by applyTransformations(), path(), serializeForApiResult(), stripMetadata(), and stripMetadataNonRecursive().
|
private |
Definition at line 146 of file ApiResult.php.
|
private |
Definition at line 149 of file ApiResult.php.
|
private |
Definition at line 145 of file ApiResult.php.
Referenced by __construct().
|
private |
Definition at line 145 of file ApiResult.php.
Referenced by getSize().
const ApiResult::ADD_ON_TOP = 2 |
For addValue(), setValue() and similar functions, 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 49 of file ApiResult.php.
Referenced by ApiErrorFormatter\addWarningOrError(), ApiErrorFormatter_BackCompat\addWarningOrError(), ApiQuery\execute(), ApiContinuationManager\setContinuationIntoResult(), ApiResultTest\testInstanceDataMethods(), and ApiResultTest\testStaticDataMethods().
const ApiResult::META_BC_BOOLS = '_BC_bools' |
Key for the 'BC bools' metadata item.
Value is string[]. Note no setter is provided.
Definition at line 136 of file ApiResult.php.
Referenced by ApiQuerySiteinfo\appendDefaultOptions(), ApiQuerySiteinfo\appendGeneralInfo(), ApiQueryUserInfo\getCurrentUserInfo(), ApiQueryImageInfo\processMetaData(), ApiFormatJsonTest\provideGeneralEncoding(), ApiFormatPhpTest\provideGeneralEncoding(), ApiFormatXmlTest\provideGeneralEncoding(), ApiResultTest\provideTransformations(), ApiFormatXml\recXmlPrint(), and ApiResultTest\testAddMetadataToResultVars().
const ApiResult::META_BC_SUBELEMENTS = '_BC_subelements' |
Key for the 'BC subelements' metadata item.
Value is string[]. Note no setter is provided.
Definition at line 143 of file ApiResult.php.
Referenced by ApiQuery\doExport(), ApiExpandTemplates\execute(), ApiParse\execute(), ApiFormatJsonTest\provideGeneralEncoding(), ApiFormatNoneTest\provideGeneralEncoding(), ApiFormatPhpTest\provideGeneralEncoding(), ApiFormatXmlTest\provideGeneralEncoding(), ApiResultTest\provideTransformations(), and ApiFormatXml\recXmlPrint().
const ApiResult::META_CONTENT = '_content' |
Key for the 'content' metadata item.
Value is string.
Definition at line 90 of file ApiResult.php.
Referenced by applyTransformations(), ApiResultTest\customTransform(), ApiErrorFormatter\formatMessageInternal(), ApiErrorFormatterTest\provideErrorFormatter(), ApiFormatJsonTest\provideGeneralEncoding(), ApiFormatPhpTest\provideGeneralEncoding(), ApiFormatXmlTest\provideGeneralEncoding(), ApiResultTest\provideTransformations(), ApiFormatXml\recXmlPrint(), setContentField(), ApiErrorFormatterTest\testAddMessagesFromStatus_filter(), ApiErrorFormatterTest\testErrorFormatterBC(), ApiResultTest\testInstanceDataMethods(), and ApiResultTest\testStaticDataMethods().
const ApiResult::META_INDEXED_TAG_NAME = '_element' |
Key for the 'indexed tag name' metadata item.
Value is string.
Definition at line 72 of file ApiResult.php.
Referenced by ApiErrorFormatterTest\provideErrorFormatter(), ApiFormatXmlTest\provideGeneralEncoding(), ApiResultTest\provideTransformations(), ApiFormatXml\recXmlPrint(), setIndexedTagName(), setIndexedTagNameRecursive(), ApiErrorFormatterTest\testAddMessagesFromStatus_filter(), ApiResultTest\testAddMetadataToResultVars(), ApiErrorFormatterTest\testErrorFormatterBC(), ApiResultTest\testMetadata(), and ApiResultTest\testUtilityFunctions().
const ApiResult::META_KVP_KEY_NAME = '_kvpkeyname' |
Key for the metadata item whose value specifies the name used for the kvp key in the alternative output format with META_TYPE 'kvp' or 'BCkvp', i.e.
the "name" in <container>value</container>. Value is string.
Definition at line 119 of file ApiResult.php.
Referenced by applyTransformations(), ApiFormatJsonTest\provideGeneralEncoding(), ApiFormatNoneTest\provideGeneralEncoding(), ApiFormatPhpTest\provideGeneralEncoding(), ApiFormatXmlTest\provideGeneralEncoding(), ApiResultTest\provideTransformations(), setArrayType(), ApiResultTest\testAddMetadataToResultVars(), and ApiResultTest\testMetadata().
const ApiResult::META_KVP_MERGE = '_kvpmerge' |
Key for the metadata item that indicates that the KVP key should be added into an assoc value, i.e.
{"key":{"val1":"a","val2":"b"}} transforms to {"name":"key","val1":"a","val2":"b"} rather than {"name":"key","value":{"val1":"a","val2":"b"}}. Value is boolean.
Definition at line 129 of file ApiResult.php.
Referenced by ApiResultTest\provideTransformations().
const ApiResult::META_PRESERVE_KEYS = '_preservekeys' |
Key for the 'preserve keys' metadata item.
Value is string[].
Definition at line 84 of file ApiResult.php.
Referenced by ApiResultTest\customTransform(), ApiFormatXmlTest\provideGeneralEncoding(), ApiResultTest\provideTransformations(), ApiFormatXml\recXmlPrint(), setPreserveKeysList(), ApiResultTest\testAddMetadataToResultVars(), ApiResultTest\testMetadata(), ApiResultTest\testUtilityFunctions(), and unsetPreserveKeysList().
const ApiResult::META_SUBELEMENTS = '_subelements' |
Key for the 'subelements' metadata item.
Value is string[].
Definition at line 78 of file ApiResult.php.
Referenced by ApiExpandTemplates\execute(), ApiParse\execute(), ApiFormatXmlTest\provideGeneralEncoding(), ApiResultTest\provideTransformations(), ApiFormatXml\recXmlPrint(), setSubelementsList(), ApiResultTest\testMetadata(), ApiResultTest\testUtilityFunctions(), and unsetSubelementsList().
const ApiResult::META_TYPE = '_type' |
Key for the 'type' metadata item.
Value is one of the following strings:
Definition at line 110 of file ApiResult.php.
Referenced by ApiQuerySiteinfo\appendNamespaces(), applyTransformations(), ApiResultTest\customTransform(), ApiFormatXml\execute(), ApiQueryBlocks\execute(), ApiQueryTokens\execute(), ApiTokens\execute(), ApiQueryLogEvents\extractRowInfo(), ApiErrorFormatter\formatMessageInternal(), ApiAuthManagerHelper\formatRequests(), ApiQueryImageInfo\getInfo(), ApiQueryUserInfo\getRateLimits(), LogFormatterTest\provideApiParamFormatting(), ApiErrorFormatterTest\provideErrorFormatter(), ApiFormatJsonTest\provideGeneralEncoding(), ApiFormatNoneTest\provideGeneralEncoding(), ApiFormatPhpTest\provideGeneralEncoding(), ApiFormatXmlTest\provideGeneralEncoding(), ApiResultTest\provideTransformations(), ApiFormatXml\recXmlPrint(), ApiQueryAllLinks\run(), ApiQueryCategoryMembers\run(), ApiQueryExtLinksUsage\run(), ApiQueryPagesWithProp\run(), setArrayType(), ApiErrorFormatterTest\testAddMessagesFromStatus_filter(), ApiResultTest\testAddMetadataToResultVars(), ApiErrorFormatterTest\testErrorFormatter(), ApiErrorFormatterTest\testErrorFormatterBasics(), ApiErrorFormatterTest\testErrorFormatterBC(), ApiResultTest\testInstanceDataMethods(), ApiResultTest\testMetadata(), ApiResultTest\testObjectSerialization(), ApiResultTest\testStaticDataMethods(), and ApiResultTest\testUtilityFunctions().
const ApiResult::NO_SIZE_CHECK = 4 |
For addValue() and similar functions, do not check size while adding a value Don't use this unless you REALLY know what you're doing.
Values added while the size checking was disabled will never be counted. Ignored for setValue() and similar functions.
Definition at line 58 of file ApiResult.php.
Referenced by ApiMain\addRequestedFields(), ApiErrorFormatter\addWarningOrError(), ApiErrorFormatter_BackCompat\addWarningOrError(), ApiQuery\doExport(), ApiComparePages\execute(), ApiFormatXml\execute(), ApiHelp\execute(), ApiQuery\execute(), ApiContinuationManager\setContinuationIntoResult(), ApiMain\substituteResultWithError(), ApiResultTest\testInstanceDataMethods(), and ApiResultTest\testStaticDataMethods().
const ApiResult::NO_VALIDATE = self::NO_SIZE_CHECK | 8 |
For addValue(), setValue() and similar functions, do not validate data.
Also disables size checking. If you think you need to use this, you're probably wrong.
Definition at line 66 of file ApiResult.php.
Referenced by addValue(), ApiFormatJsonTest\provideGeneralEncoding(), ApiFormatFeedWrapper\setResult(), ApiResultTest\testInstanceDataMethods(), and ApiResultTest\testStaticDataMethods().
const ApiResult::OVERRIDE = 1 |
Override existing value in addValue(), setValue(), and similar functions.
Definition at line 41 of file ApiResult.php.
Referenced by ApiErrorFormatter_BackCompat\addWarningOrError(), ApiPageSet\populateGeneratorData(), ApiResultTest\testInstanceDataMethods(), and ApiResultTest\testStaticDataMethods().