static $row, $loaded = false;
static $admins, $jobs;
static $pageCount = array();
+ static $groupMemberCounts = array();
static function recache() {
self::load( true );
return self::$row->ss_images;
}
+ /**
+ * @deprecated Use self::numberingroup('sysop') instead
+ */
static function admins() {
- if ( !isset( self::$admins ) ) {
+ wfDeprecated(__METHOD__);
+ return self::numberingroup('sysop');
+ }
+
+ /**
+ * Find the number of users in a given user group.
+ * @param string $group Name of group
+ * @return int
+ */
+ static function numberingroup($group) {
+ if ( !isset( self::$groupMemberCounts[$group] ) ) {
$dbr = wfGetDB( DB_SLAVE );
- self::$admins = $dbr->selectField( 'user_groups', 'COUNT(*)', array( 'ug_group' => 'sysop' ), __METHOD__ );
+ self::$groupMemberCounts[$group] = $dbr->selectField( 'user_groups', 'COUNT(*)',
+ array( 'ug_group' => $group ), __METHOD__ );
}
- return self::$admins;
+ return self::$groupMemberCounts[$group];
}
static function jobs() {
$data['edits'] = intval( SiteStats::edits() );
$data['images'] = intval( SiteStats::images() );
$data['users'] = intval( SiteStats::users() );
- $data['admins'] = intval( SiteStats::admins() );
+ $data['admins'] = intval( SiteStats::numberingroup('sysop') );
$data['jobs'] = intval( SiteStats::jobs() );
$this->getResult()->addValue( 'query', $property, $data );
}
return self::formatRaw( SiteStats::images(), $raw );
}
static function numberofadmins( $parser, $raw = null ) {
- return self::formatRaw( SiteStats::admins(), $raw );
+ return self::formatRaw( SiteStats::numberingroup('sysop'), $raw );
}
static function numberofedits( $parser, $raw = null ) {
return self::formatRaw( SiteStats::edits(), $raw );
case 'numberofpages':
return $this->mVarCache[$index] = $wgContLang->formatNum( SiteStats::pages() );
case 'numberofadmins':
- return $this->mVarCache[$index] = $wgContLang->formatNum( SiteStats::admins() );
+ return $this->mVarCache[$index] = $wgContLang->formatNum( SiteStats::numberingroup('sysop') );
case 'numberofedits':
return $this->mVarCache[$index] = $wgContLang->formatNum( SiteStats::edits() );
case 'currenttimestamp':
case 'numberofpages':
return $varCache[$index] = $wgContLang->formatNum( SiteStats::pages() );
case 'numberofadmins':
- return $varCache[$index] = $wgContLang->formatNum( SiteStats::admins() );
+ return $varCache[$index] = $wgContLang->formatNum( SiteStats::numberingroup('sysop') );
case 'numberofedits':
return $varCache[$index] = $wgContLang->formatNum( SiteStats::edits() );
case 'currenttimestamp':
$images = SiteStats::images();
$total = SiteStats::pages();
$users = SiteStats::users();
- $admins = SiteStats::admins();
+ $admins = SiteStats::numberingroup('sysop');
$numJobs = SiteStats::jobs();
if( $wgRequest->getVal( 'action' ) == 'raw' ) {