Put ActiveUsers behind the miser mode flag
authorAaron Schulz <aschulz@wikimedia.org>
Fri, 17 Jan 2014 00:07:09 +0000 (16:07 -0800)
committerOri.livneh <ori@wikimedia.org>
Fri, 17 Jan 2014 03:54:38 +0000 (03:54 +0000)
This is the second most problematic query showing up in dberror.log (timeouts).
Something like this needs denormalization for larger wikis.

Change-Id: If786dea8a6195d11c812d46a583d272c7aa70fe7

includes/specialpage/SpecialPageFactory.php

index 18b8f0b..dcf5f67 100644 (file)
@@ -98,7 +98,6 @@ class SpecialPageFactory {
                'Listusers'                 => 'SpecialListUsers',
                'Listadmins'                => 'SpecialListAdmins',
                'Listbots'                  => 'SpecialListBots',
-               'Activeusers'               => 'SpecialActiveUsers',
                'Userrights'                => 'UserrightsPage',
                'EditWatchlist'             => 'SpecialEditWatchlist',
 
@@ -180,6 +179,7 @@ class SpecialPageFactory {
                global $wgSpecialPages;
                global $wgDisableCounters, $wgDisableInternalSearch, $wgEmailAuthentication;
                global $wgEnableEmail, $wgEnableJavaScriptTest;
+               global $wgMiserMode;
 
                if ( !is_object( self::$list ) ) {
                        wfProfileIn( __METHOD__ );
@@ -205,6 +205,10 @@ class SpecialPageFactory {
                                self::$list['JavaScriptTest'] = 'SpecialJavaScriptTest';
                        }
 
+                       if ( !$wgMiserMode ) {
+                               self::$list['Activeusers'] = 'SpecialActiveUsers';
+                       }
+
                        // Add extension special pages
                        self::$list = array_merge( self::$list, $wgSpecialPages );