X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiQuerySiteinfo.php;h=feb869e8b5d8938b07b954909704e6670fee5e68;hb=90d90dad6e4d463b3db425d78f7ed1e084ca0816;hp=04892a1ef01b8eb329c781ef81e392f22d69479a;hpb=7f8d901cd02dc65fc6787d57892acfd1c7146981;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiQuerySiteinfo.php b/includes/api/ApiQuerySiteinfo.php index 04892a1ef0..feb869e8b5 100644 --- a/includes/api/ApiQuerySiteinfo.php +++ b/includes/api/ApiQuerySiteinfo.php @@ -344,7 +344,7 @@ class ApiQuerySiteinfo extends ApiQueryBase { global $wgContLang; $data = array(); $aliases = $wgContLang->getSpecialPageAliases(); - foreach ( SpecialPageFactory::getList() as $specialpage => $stuff ) { + foreach ( SpecialPageFactory::getNames() as $specialpage ) { if ( isset( $aliases[$specialpage] ) ) { $arr = array( 'realname' => $specialpage, 'aliases' => $aliases[$specialpage] ); $this->getResult()->setIndexedTagName( $arr['aliases'], 'alias' ); @@ -399,7 +399,7 @@ class ApiQuerySiteinfo extends ApiQueryBase { if ( isset( $row['iw_local'] ) && $row['iw_local'] == '1' ) { $val['local'] = ''; } - if ( $row['iw_trans'] == '1' ) { + if ( isset( $row['iw_trans'] ) && $row['iw_trans'] == '1' ) { $val['trans'] = ''; } @@ -481,9 +481,6 @@ class ApiQuerySiteinfo extends ApiQueryBase { $data = array(); $data['pages'] = intval( SiteStats::pages() ); $data['articles'] = intval( SiteStats::articles() ); - if ( !$this->getConfig()->get( 'DisableCounters' ) ) { - $data['views'] = intval( SiteStats::views() ); - } $data['edits'] = intval( SiteStats::edits() ); $data['images'] = intval( SiteStats::images() ); $data['users'] = intval( SiteStats::users() ); @@ -501,6 +498,7 @@ class ApiQuerySiteinfo extends ApiQueryBase { $data = array(); $result = $this->getResult(); + $allGroups = User::getAllGroups(); foreach ( $config->get( 'GroupPermissions' ) as $group => $permissions ) { $arr = array( 'name' => $group, @@ -527,8 +525,11 @@ class ApiQuerySiteinfo extends ApiQueryBase { foreach ( $groupArr as $type => $rights ) { if ( isset( $rights[$group] ) ) { - $arr[$type] = $rights[$group]; - $result->setIndexedTagName( $arr[$type], 'group' ); + $groups = array_intersect( $rights[$group], $allGroups ); + if ( $groups ) { + $arr[$type] = $groups; + $result->setIndexedTagName( $arr[$type], 'group' ); + } } } @@ -692,6 +693,16 @@ class ApiQuerySiteinfo extends ApiQueryBase { $allowed = Skin::getAllowedSkins(); $default = Skin::normalizeKey( 'default' ); foreach ( Skin::getSkinNames() as $name => $displayName ) { + $msg = $this->msg( "skinname-{$name}" ); + $code = $this->getParameter( 'inlanguagecode' ); + if ( $code && Language::isValidCode( $code ) ) { + $msg->inLanguage( $code ); + } else { + $msg->inContentLanguage(); + } + if ( $msg->exists() ) { + $displayName = $msg->text(); + } $skin = array( 'code' => $name ); ApiResult::setContent( $skin, $displayName ); if ( !isset( $allowed[$name] ) ) { @@ -843,9 +854,10 @@ class ApiQuerySiteinfo extends ApiQueryBase { ' fileextensions - Returns list of file extensions allowed to be uploaded', ' rightsinfo - Returns wiki rights (license) information if available', ' restrictions - Returns information on available restriction (protection) types', - ' languages - Returns a list of languages MediaWiki supports' . + ' languages - Returns a list of languages MediaWiki supports ' . "(optionally localised by using {$p}inlanguagecode)", - ' skins - Returns a list of all enabled skins', + ' skins - Returns a list of all enabled skins ' . + "(optionally localised by using {$p}inlanguagecode, otherwise in content language)", ' 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)', @@ -857,7 +869,7 @@ class ApiQuerySiteinfo extends ApiQueryBase { 'showalldb' => 'List all database servers, not just the one lagging the most', 'numberingroup' => 'Lists the number of users in user groups', 'inlanguagecode' => 'Language code for localised language names ' . - '(best effort, use CLDR extension)', + '(best effort, use CLDR extension) and skin names', ); }