Added siprop=namespacealiases to meta=siteinfo
authorBryan Tong Minh <btongminh@users.mediawiki.org>
Sun, 3 Feb 2008 19:29:59 +0000 (19:29 +0000)
committerBryan Tong Minh <btongminh@users.mediawiki.org>
Sun, 3 Feb 2008 19:29:59 +0000 (19:29 +0000)
RELEASE-NOTES
includes/api/ApiQuerySiteinfo.php

index 45b6d0a..1ffcaa9 100644 (file)
@@ -489,6 +489,7 @@ Full API documentation is available at http://www.mediawiki.org/wiki/API
 * Added list=random which fetches a list of random pages
 * Added page parameter to action=parse to facilitate parsing of existing pages
 * Added uiprop=ratelimits to meta=userinfo
+* Added siprop=namespacealiases to meta=siteinfo
 
 === Languages updated in 1.12 ===
 
index e8ca0d2..6848ab6 100644 (file)
@@ -53,6 +53,9 @@ class ApiQuerySiteinfo extends ApiQueryBase {
                                case 'namespaces' :
                                        $this->appendNamespaces($p);
                                        break;
+                               case 'namespacealiases' :
+                                       $this->appendNamespaceAliases($p);
+                                       break;
                                case 'interwikimap' :
                                        $filteriw = isset($params['filteriw']) ? $params['filteriw'] : false; 
                                        $this->appendInterwikiMap($p, $filteriw);
@@ -104,6 +107,22 @@ class ApiQuerySiteinfo extends ApiQueryBase {
                $this->getResult()->addValue('query', $property, $data);
        }
        
+       protected function appendNamespaceAliases($property) {
+               global $wgNamespaceAliases;
+               
+               $data = array ();
+               foreach ($wgNamespaceAliases as $title => $ns) {
+                       $item = array (
+                               'id' => $ns
+                       );
+                       ApiResult :: setContent($item, strtr($title, '_', ' '));
+                       $data[] = $item;
+               }
+               
+               $this->getResult()->setIndexedTagName($data, 'ns');
+               $this->getResult()->addValue('query', $property, $data);
+       }
+       
        protected function appendInterwikiMap($property, $filter) {
 
                $this->resetQueryParams();
@@ -190,6 +209,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
                                ApiBase :: PARAM_TYPE => array (
                                        'general',
                                        'namespaces',
+                                       'namespacealiases',
                                        'interwikimap',
                                        'dbrepllag',
                                        'statistics',
@@ -211,6 +231,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
                                'Which sysinfo properties to get:',
                                ' "general"      - Overall system information',
                                ' "namespaces"   - List of registered namespaces (localized)',
+                               ' "namespacealiases" - List of registered namespace aliases',
                                ' "statistics"   - Returns site statistics',
                                ' "interwikimap" - Returns interwiki map (optionally filtered)',
                                ' "dbrepllag"    - Returns database server with the highest replication lag',
@@ -226,7 +247,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
 
        protected function getExamples() {
                return array(
-                       'api.php?action=query&meta=siteinfo&siprop=general|namespaces|statistics',
+                       'api.php?action=query&meta=siteinfo&siprop=general|namespaces|namespacealiases|statistics',
                        'api.php?action=query&meta=siteinfo&siprop=interwikimap&sifilteriw=local',
                        'api.php?action=query&meta=siteinfo&siprop=dbrepllag&sishowalldb',
                        );