Index: trunk/phase3/includes/DefaultSettings.php |
— | — | @@ -3220,7 +3220,7 @@ |
3221 | 3221 | 'Newimages' => 'changes', |
3222 | 3222 | 'Newpages' => 'changes', |
3223 | 3223 | 'Log' => 'changes', |
3224 | | - 'Tags' => 'changes', |
| 3224 | + 'Tags' => 'changes', |
3225 | 3225 | |
3226 | 3226 | 'Upload' => 'media', |
3227 | 3227 | 'Listfiles' => 'media', |
— | — | @@ -3229,7 +3229,7 @@ |
3230 | 3230 | 'Filepath' => 'media', |
3231 | 3231 | |
3232 | 3232 | 'Listusers' => 'users', |
3233 | | - 'ActiveUsers' => 'users', |
| 3233 | + 'Activeusers' => 'users', |
3234 | 3234 | 'Listgrouprights' => 'users', |
3235 | 3235 | 'Ipblocklist' => 'users', |
3236 | 3236 | 'Contributions' => 'users', |
Index: trunk/phase3/includes/specials/SpecialActiveusers.php |
— | — | @@ -47,33 +47,36 @@ |
48 | 48 | |
49 | 49 | function getQueryInfo() { |
50 | 50 | $dbr = wfGetDB( DB_SLAVE ); |
51 | | - $conds = array('rc_user > 0'); // Users - no anons |
| 51 | + $conds = array( 'rc_user > 0' ); // Users - no anons |
52 | 52 | $conds[] = 'ipb_deleted IS NULL'; // don't show hidden names |
53 | 53 | $conds[] = 'rc_log_type IS NULL OR rc_log_type != "newusers"'; |
54 | | - $useIndex = $dbr->useIndexClause( 'rc_user_text' ); |
55 | 54 | if( $this->requestedUser != '' ) { |
56 | 55 | $conds[] = 'rc_user_text >= ' . $dbr->addQuotes( $this->requestedUser ); |
57 | 56 | } |
58 | 57 | |
59 | | - list( $recentchanges, $ipblocks, $user ) = $dbr->tableNamesN( 'recentchanges', 'ipblocks', 'user' ); |
60 | | - |
61 | 58 | $query = array( |
62 | | - 'tables' => "$recentchanges $useIndex |
63 | | - INNER JOIN $user ON rc_user_text=user_name |
64 | | - LEFT JOIN $ipblocks ON user_id=ipb_user AND ipb_auto=0 AND ipb_deleted=1 ", |
| 59 | + 'tables' => array( 'recentchanges', 'user', 'ipblocks' ), |
65 | 60 | 'fields' => array( 'rc_user_text AS user_name', // inheritance |
66 | 61 | 'rc_user_text', // for Pager |
67 | 62 | 'user_id', |
68 | 63 | 'COUNT(*) AS recentedits', |
69 | | - 'MAX(ipb_user) AS blocked' ), |
70 | | - 'options' => array( 'GROUP BY' => 'rc_user_text' ), |
| 64 | + 'MAX(ipb_user) AS blocked' |
| 65 | + ), |
| 66 | + 'options' => array( |
| 67 | + 'GROUP BY' => 'rc_user_text', |
| 68 | + 'USE INDEX' => array( 'recentchanges' => 'rc_user_text' ) |
| 69 | + ), |
| 70 | + 'join_conds' => array( |
| 71 | + 'user' => array( 'INNER JOIN', 'rc_user_text=user_name' ), |
| 72 | + 'ipblocks' => array( 'LEFT JOIN', 'user_id=ipb_user AND ipb_auto=0 AND ipb_deleted=1' ), |
| 73 | + ), |
71 | 74 | 'conds' => $conds |
72 | 75 | ); |
73 | 76 | return $query; |
74 | 77 | } |
75 | 78 | |
76 | 79 | function formatRow( $row ) { |
77 | | - $userName = $row->rc_user_text; |
| 80 | + $userName = $row->user_name; |
78 | 81 | $userPage = Title::makeTitle( NS_USER, $userName ); |
79 | 82 | $name = $this->getSkin()->makeLinkObj( $userPage, htmlspecialchars( $userPage->getText() ) ); |
80 | 83 | |
— | — | @@ -123,7 +126,7 @@ |
124 | 127 | * Constructor |
125 | 128 | */ |
126 | 129 | public function __construct() { |
127 | | - parent::__construct( 'ActiveUsers' ); |
| 130 | + parent::__construct( 'Activeusers' ); |
128 | 131 | } |
129 | 132 | |
130 | 133 | /** |