X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiQuerySiteinfo.php;h=511cbe48f430f44ba00d248cb324ad59bc7101c9;hb=e9cd4e461e56bbb5e691cffd867f5e62459c3052;hp=fc5d7bb365a66b843166714a744908f092739aa6;hpb=ffa3486aa8e9517a23d47f8b7db7ded6eef4c45c;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiQuerySiteinfo.php b/includes/api/ApiQuerySiteinfo.php index fc5d7bb365..511cbe48f4 100644 --- a/includes/api/ApiQuerySiteinfo.php +++ b/includes/api/ApiQuerySiteinfo.php @@ -93,6 +93,9 @@ class ApiQuerySiteinfo extends ApiQueryBase { case 'showhooks': $fit = $this->appendSubscribedHooks( $p ); break; + case 'variables': + $fit = $this->appendVariables( $p ); + break; default: ApiBase::dieDebug( __METHOD__, "Unknown prop=$p" ); } @@ -121,9 +124,14 @@ class ApiQuerySiteinfo extends ApiQueryBase { $data['dbtype'] = $GLOBALS['wgDBtype']; $data['dbversion'] = $this->getDB()->getServerVersion(); - $svn = SpecialVersion::getSvnRevision( $GLOBALS['IP'] ); - if ( $svn ) { - $data['rev'] = $svn; + $git = SpecialVersion::getGitHeadSha1( $GLOBALS['IP'] ); + if ( $git ) { + $data['git-hash'] = $git; + } else { + $svn = SpecialVersion::getSvnRevision( $GLOBALS['IP'] ); + if ( $svn ) { + $data['rev'] = $svn; + } } // 'case-insensitive' option is reserved for future @@ -216,7 +224,7 @@ class ApiQuerySiteinfo extends ApiQueryBase { $data[$ns]['content'] = ''; } - if ( MWNamespace::isNonincludableNamespace( $ns ) ) { + if ( MWNamespace::isNonincludable( $ns ) ) { $data[$ns]['nonincludable'] = ''; } } @@ -249,8 +257,9 @@ class ApiQuerySiteinfo extends ApiQueryBase { protected function appendSpecialPageAliases( $property ) { global $wgContLang; $data = array(); - foreach ( $wgContLang->getSpecialPageAliases() as $specialpage => $aliases ) { - $arr = array( 'realname' => $specialpage, 'aliases' => $aliases ); + $aliases = $wgContLang->getSpecialPageAliases(); + foreach ( SpecialPageFactory::getList() as $specialpage => $stuff ) { + $arr = array( 'realname' => $specialpage, 'aliases' => $aliases[$specialpage] ); $this->getResult()->setIndexedTagName( $arr['aliases'], 'alias' ); $data[] = $arr; } @@ -527,6 +536,12 @@ class ApiQuerySiteinfo extends ApiQueryBase { return $this->getResult()->addValue( 'query', $property, $hooks ); } + public function appendVariables( $property ) { + $variables = MagicWord::getVariableIDs(); + $this->getResult()->setIndexedTagName( $variables, 'v' ); + return $this->getResult()->addValue( 'query', $property, $variables ); + } + private function formatParserTags( $item ) { return "<{$item}>"; } @@ -578,6 +593,7 @@ class ApiQuerySiteinfo extends ApiQueryBase { 'extensiontags', 'functionhooks', 'showhooks', + 'variables', ) ), 'filteriw' => array( @@ -613,7 +629,8 @@ class ApiQuerySiteinfo extends ApiQueryBase { ' skins - Returns a list of all enabled skins', ' extensiontags - Returns a list of parser extension tags', ' functionhooks - Returns a list of parser function hooks', - ' showhooks - Returns a list of all subscribed hooks (contents of $wgHooks)' + ' showhooks - Returns a list of all subscribed hooks (contents of $wgHooks)', + ' variables - Returns a list of variable IDs', ), 'filteriw' => 'Return only local or only nonlocal entries of the interwiki map', 'showalldb' => 'List all database servers, not just the one lagging the most',