From 48523016ef0d4a3d15e7417dfb3048d34cac69f7 Mon Sep 17 00:00:00 2001 From: Brad Jorsch Date: Sat, 2 Jun 2012 22:20:14 +0200 Subject: [PATCH] (bug 30836) API siteinfo specialpagealiases should not return nonexistent special pages Some special pages are conditionally registered (e.g. Special:Popularpages only exists when $wgDisableCounters is false), or sometimes an alias exists for a special page that does not. The API should probably not return entries for these from meta=siteinfo&siprop=specialpagealiases. Change-Id: I59eb82eae45fb47c6a769195cc1bd28711b4fcac --- RELEASE-NOTES-1.20 | 1 + includes/api/ApiQuerySiteinfo.php | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/RELEASE-NOTES-1.20 b/RELEASE-NOTES-1.20 index c85a1c31a3..ec5009637f 100644 --- a/RELEASE-NOTES-1.20 +++ b/RELEASE-NOTES-1.20 @@ -182,6 +182,7 @@ upgrade PHP if you have not done so prior to upgrading MediaWiki. * (bug 32381) Allow descending order for list=backlinks, list=embeddedin and list=imageusage * (bug 32383) Allow descending order for list=langbacklinks * API meta=siteinfo can now return the list of known variable IDs +* (bug 30836) siteinfo prop=specialpagealiases will no longer return nonexistent special pages === Languages updated in 1.20 === diff --git a/includes/api/ApiQuerySiteinfo.php b/includes/api/ApiQuerySiteinfo.php index 5316006031..511cbe48f4 100644 --- a/includes/api/ApiQuerySiteinfo.php +++ b/includes/api/ApiQuerySiteinfo.php @@ -257,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; } -- 2.20.1