MDL-26568 block_online_users - reporting incorrect number of users
authorDan Poltawski <dan.poltawski@luns.net.uk>
Wed, 3 Aug 2011 14:16:13 +0000 (15:16 +0100)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Tue, 25 Oct 2011 21:34:46 +0000 (23:34 +0200)
When over 50 users were online the count used in the listing was incorrect

blocks/online_users/block_online_users.php

index 622f96b..cbf1dac 100644 (file)
@@ -62,11 +62,10 @@ class block_online_users extends block_base {
                   GROUP BY $userfields
                   ORDER BY lastaccess DESC ";
 
-           $csql = "SELECT COUNT(u.id), u.id
+           $csql = "SELECT COUNT(u.id)
                       FROM {user} u $groupmembers
                      WHERE u.lastaccess > $timefrom
-                           $groupselect
-                  GROUP BY u.id";
+                           $groupselect";
 
         } else {
             // Course level - show only enrolled users for now
@@ -85,14 +84,13 @@ class block_online_users extends block_base {
                   GROUP BY $userfields
                   ORDER BY lastaccess DESC";
 
-           $csql = "SELECT u.id
+           $csql = "SELECT COUNT(u.id)
                       FROM {user_lastaccess} ul $groupmembers, {user} u
                       JOIN ($esqljoin) euj ON euj.id = u.id
                      WHERE ul.timeaccess > $timefrom
                            AND u.id = ul.userid
                            AND ul.courseid = :courseid
-                           $groupselect
-                  GROUP BY u.id";
+                           $groupselect";
 
             $params['courseid'] = $this->page->course->id;
         }