diff options
Diffstat (limited to 'includes/api/ApiQuerySiteinfo.php')
-rw-r--r-- | includes/api/ApiQuerySiteinfo.php | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/includes/api/ApiQuerySiteinfo.php b/includes/api/ApiQuerySiteinfo.php index b7b10846..12651558 100644 --- a/includes/api/ApiQuerySiteinfo.php +++ b/includes/api/ApiQuerySiteinfo.php @@ -176,6 +176,7 @@ class ApiQuerySiteinfo extends ApiQueryBase { $data['linktrail'] = $linktrail ?: ''; $data['legaltitlechars'] = Title::legalChars(); + $data['invalidusernamechars'] = $config->get( 'InvalidUsernameCharacters' ); global $IP; $git = SpecialVersion::getGitHeadSha1( $IP ); @@ -297,6 +298,7 @@ class ApiQuerySiteinfo extends ApiQueryBase { } } + ApiResult::setArrayType( $data, 'assoc' ); ApiResult::setIndexedTagName( $data, 'ns' ); return $this->getResult()->addValue( 'query', $property, $data ); @@ -511,6 +513,7 @@ class ApiQuerySiteinfo extends ApiQueryBase { $groups = array_intersect( $rights[$group], $allGroups ); if ( $groups ) { $arr[$type] = $groups; + ApiResult::setArrayType( $arr[$type], 'BCarray' ); ApiResult::setIndexedTagName( $arr[$type], 'group' ); } } @@ -682,6 +685,11 @@ class ApiQuerySiteinfo extends ApiQueryBase { 'semiprotectedlevels' => $config->get( 'SemiprotectedRestrictionLevels' ), ); + ApiResult::setArrayType( $data['types'], 'BCarray' ); + ApiResult::setArrayType( $data['levels'], 'BCarray' ); + ApiResult::setArrayType( $data['cascadinglevels'], 'BCarray' ); + ApiResult::setArrayType( $data['semiprotectedlevels'], 'BCarray' ); + ApiResult::setIndexedTagName( $data['types'], 'type' ); ApiResult::setIndexedTagName( $data['levels'], 'level' ); ApiResult::setIndexedTagName( $data['cascadinglevels'], 'level' ); @@ -741,6 +749,7 @@ class ApiQuerySiteinfo extends ApiQueryBase { global $wgParser; $wgParser->firstCallInit(); $tags = array_map( array( $this, 'formatParserTags' ), $wgParser->getTags() ); + ApiResult::setArrayType( $tags, 'BCarray' ); ApiResult::setIndexedTagName( $tags, 't' ); return $this->getResult()->addValue( 'query', $property, $tags ); @@ -750,6 +759,7 @@ class ApiQuerySiteinfo extends ApiQueryBase { global $wgParser; $wgParser->firstCallInit(); $hooks = $wgParser->getFunctionHooks(); + ApiResult::setArrayType( $hooks, 'BCarray' ); ApiResult::setIndexedTagName( $hooks, 'h' ); return $this->getResult()->addValue( 'query', $property, $hooks ); @@ -757,6 +767,7 @@ class ApiQuerySiteinfo extends ApiQueryBase { public function appendVariables( $property ) { $variables = MagicWord::getVariableIDs(); + ApiResult::setArrayType( $variables, 'BCarray' ); ApiResult::setIndexedTagName( $variables, 'v' ); return $this->getResult()->addValue( 'query', $property, $variables ); @@ -765,6 +776,7 @@ class ApiQuerySiteinfo extends ApiQueryBase { public function appendProtocols( $property ) { // Make a copy of the global so we don't try to set the _element key of it - bug 45130 $protocols = array_values( $this->getConfig()->get( 'UrlProtocols' ) ); + ApiResult::setArrayType( $protocols, 'BCarray' ); ApiResult::setIndexedTagName( $protocols, 'p' ); return $this->getResult()->addValue( 'query', $property, $protocols ); @@ -792,6 +804,7 @@ class ApiQuerySiteinfo extends ApiQueryBase { 'subscribers' => array_map( array( 'SpecialVersion', 'arrayToString' ), $subscribers ), ); + ApiResult::setArrayType( $arr['subscribers'], 'BCarray' ); ApiResult::setIndexedTagName( $arr['subscribers'], 's' ); $data[] = $arr; } @@ -842,7 +855,8 @@ class ApiQuerySiteinfo extends ApiQueryBase { 'variables', 'protocols', 'defaultoptions', - ) + ), + ApiBase::PARAM_HELP_MSG_PER_VALUE => array(), ), 'filteriw' => array( ApiBase::PARAM_TYPE => array( @@ -868,6 +882,6 @@ class ApiQuerySiteinfo extends ApiQueryBase { } public function getHelpUrls() { - return 'https://www.mediawiki.org/wiki/API:Meta#siteinfo_.2F_si'; + return 'https://www.mediawiki.org/wiki/API:Siteinfo'; } } |