Call Linker methods statically
[lhc/web/wiklou.git] / includes / api / ApiQuerySiteinfo.php
index 4749610..4f22f53 100644 (file)
@@ -43,6 +43,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
        public function execute() {
                $params = $this->extractRequestParams();
                $done = array();
+               $fit = false;
                foreach ( $params['prop'] as $p ) {
                        switch ( $p ) {
                                case 'general':
@@ -117,7 +118,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
                $data = array();
                $mainPage = Title::newMainPage();
                $data['mainpage'] = $mainPage->getPrefixedText();
-               $data['base'] = wfExpandUrl( $mainPage->getFullUrl() );
+               $data['base'] = wfExpandUrl( $mainPage->getFullUrl(), PROTO_CURRENT );
                $data['sitename'] = $GLOBALS['wgSitename'];
                $data['generator'] = "MediaWiki {$GLOBALS['wgVersion']}";
                $data['phpversion'] = phpversion();
@@ -139,13 +140,11 @@ class ApiQuerySiteinfo extends ApiQueryBase {
                $data['rights'] = $GLOBALS['wgRightsText'];
                $data['lang'] = $GLOBALS['wgLanguageCode'];
 
-               $fallbackLang = $wgContLang->getFallbackLanguageCode();
-               $fallbackLangArray = array();
-               while( $fallbackLang ) {
-                       $fallbackLangArray[] = array( 'code' => $fallbackLang );
-                       $fallbackLang = Language::getFallbackFor( $fallbackLang );
+               $fallbacks = array();
+               foreach( $wgContLang->getFallbackLanguages() as $code ) {
+                       $fallbacks[] = array( 'code' => $code );
                }
-               $data['fallback'] = $fallbackLangArray;
+               $data['fallback'] = $fallbacks;
                $this->getResult()->setIndexedTagName( $data['fallback'], 'lang' );
 
                if ( $wgContLang->isRTL() ) {
@@ -298,7 +297,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
                        if ( isset( $langNames[$prefix] ) ) {
                                $val['language'] = $langNames[$prefix];
                        }
-                       $val['url'] = wfExpandUrl( $row['iw_url'] );
+                       $val['url'] = wfExpandUrl( $row['iw_url'], PROTO_CURRENT );
                        if( isset( $row['iw_wikiid'] ) ) {
                                $val['wikiid'] = $row['iw_wikiid'];
                        }
@@ -466,7 +465,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
        protected function appendRightsInfo( $property ) {
                global $wgRightsPage, $wgRightsUrl, $wgRightsText;
                $title = Title::newFromText( $wgRightsPage );
-               $url = $title ? wfExpandUrl( $title->getFullURL() ) : $wgRightsUrl;
+               $url = $title ? wfExpandUrl( $title->getFullURL(), PROTO_CURRENT ) : $wgRightsUrl;
                $text = $wgRightsText;
                if ( !$text && $title ) {
                        $text = $title->getPrefixedText();
@@ -633,7 +632,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
                ) );
        }
 
-       protected function getExamples() {
+       public function getExamples() {
                return array(
                        'api.php?action=query&meta=siteinfo&siprop=general|namespaces|namespacealiases|statistics',
                        'api.php?action=query&meta=siteinfo&siprop=interwikimap&sifilteriw=local',