]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-14034 List of participants in SITE course failing... - fixed last access - credit...
authorskodak <skodak>
Wed, 2 Apr 2008 06:35:49 +0000 (06:35 +0000)
committerskodak <skodak>
Wed, 2 Apr 2008 06:35:49 +0000 (06:35 +0000)
user/index.php

index 61ce1c08d7ca7cc14e41e1fdb0aa6dc3093a96fa..9739c804967b28e381227b8d2af752c0bef36b3c 100644 (file)
     echo '</td>';
 
     // get minimum lastaccess for this course and display a dropbox to filter by lastaccess going back this far.
-    // this might not work anymore because you always going to get yourself as the most recent entry? added $USER!=$user ch
-    $minlastaccess = get_field_sql('SELECT min(timeaccess) FROM '.$CFG->prefix.'user_lastaccess WHERE courseid = '.$course->id.' AND timeaccess != 0 AND userid!='.$USER->id);
-    $lastaccess0exists = record_exists('user_lastaccess','courseid',$course->id,'timeaccess',0);
+    // we need to make it diferently for normal courses and site course
+    if ($context->id != $frontpagectx->id) {
+        $minlastaccess = get_field_sql('SELECT min(timeaccess)
+                                          FROM '.$CFG->prefix.'user_lastaccess
+                                         WHERE courseid = '.$course->id.'
+                                           AND timeaccess != 0');
+        $lastaccess0exists = record_exists('user_lastaccess', 'courseid', $course->id, 'timeaccess', 0);
+    } else {
+        $minlastaccess = get_field_sql('SELECT min(lastaccess)
+                                          FROM '.$CFG->prefix.'user
+                                         WHERE lastaccess != 0');
+        $lastaccess0exists = record_exists('user','lastaccess',0);
+    }
+
     $now = usergetmidnight(time());
     $timeaccess = array();
 
             AND u.username != 'guest'
             $adminroles
             $hiddensql ";
-            $where .= get_lastaccess_sql($accesssince);
+            $where .= get_course_lastaccess_sql($accesssince);
     } else {
         $where = "WHERE u.deleted = 0
             AND u.username != 'guest'";
-            $where .= get_lastaccess_sql($accesssince); 
+            $where .= get_user_lastaccess_sql($accesssince);
     }
     $wheresearch = '';
 
     }
 
 
-function get_lastaccess_sql($accesssince='') {
+function get_course_lastaccess_sql($accesssince='') {
     if (empty($accesssince)) {
         return '';
     }
     if ($accesssince == -1) { // never
         return ' AND ul.timeaccess = 0';
     } else {
-        return ' AND ul.timeaccess != 0 AND timeaccess < '.$accesssince;
+        return ' AND ul.timeaccess != 0 AND ul.timeaccess < '.$accesssince;
+    }
+}
+
+function get_user_lastaccess_sql($accesssince='') {
+    if (empty($accesssince)) {
+        return '';
+    }
+    if ($accesssince == -1) { // never
+        return ' AND u.lastaccess = 0';
+    } else {
+        return ' AND u.lastaccess != 0 AND u.lastaccess < '.$accesssince;
     }
 }