From a52f1eef8088f4df633884892be51621a73c81d3 Mon Sep 17 00:00:00 2001 From: Sam Reed Date: Sun, 23 Jan 2011 02:05:26 +0000 Subject: [PATCH] * Expose list of skins in meta=siteinfo --- RELEASE-NOTES | 1 + includes/api/ApiQuerySiteinfo.php | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 45bbe08a57..cc6100bd1a 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -129,6 +129,7 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN * (bug 26480) add a pppageprops param to prop=pageprops * (bug 26650) Remove $wgAPICacheHelp in favour of $wgAPICacheHelpTimeout * (bug 24650) Fix API to work with categorylinks changes +* Expose list of skins in meta=siteinfo === Languages updated in 1.18 === diff --git a/includes/api/ApiQuerySiteinfo.php b/includes/api/ApiQuerySiteinfo.php index 9a0722b4dd..651e0135be 100644 --- a/includes/api/ApiQuerySiteinfo.php +++ b/includes/api/ApiQuerySiteinfo.php @@ -85,6 +85,9 @@ class ApiQuerySiteinfo extends ApiQueryBase { case 'languages': $fit = $this->appendLanguages( $p ); break; + case 'skins': + $fit = $this->appendSkins( $p ); + break; default: ApiBase::dieDebug( __METHOD__, "Unknown prop=$p" ); } @@ -452,6 +455,17 @@ class ApiQuerySiteinfo extends ApiQueryBase { return $this->getResult()->addValue( 'query', $property, $data ); } + public function appendSkins( $property ) { + $data = array(); + foreach ( Skin::getSkinNames() as $name => $displayName ) { + $skin = array( 'code' => $name ); + ApiResult::setContent( $skin, $displayName ); + $data[] = $skin; + } + $this->getResult()->setIndexedTagName( $data, 'skin' ); + return $this->getResult()->addValue( 'query', $property, $data ); + } + public function getCacheMode( $params ) { return 'public'; } @@ -475,6 +489,7 @@ class ApiQuerySiteinfo extends ApiQueryBase { 'fileextensions', 'rightsinfo', 'languages', + 'skins', ) ), 'filteriw' => array( @@ -505,6 +520,7 @@ class ApiQuerySiteinfo extends ApiQueryBase { ' fileextensions - Returns list of file extensions allowed to be uploaded', ' rightsinfo - Returns wiki rights (license) information if available', ' languages - Returns a list of languages MediaWiki supports', + ' skins - Returns a list of all enabled skins', ), 'filteriw' => 'Return only local or only nonlocal entries of the interwiki map', 'showalldb' => 'List all database servers, not just the one lagging the most', -- 2.20.1