MDL-14034 List of participants in SITE course failing... - fixed last access - credit goes to Eloy; merged from MOODLE_19_STABLE

This commit is contained in:
skodak 2008-04-02 06:35:49 +00:00
parent 5bb5ee51a4
commit 0749caef03

View file

@ -199,9 +199,20 @@
echo '</td>'; echo '</td>';
// get minimum lastaccess for this course and display a dropbox to filter by lastaccess going back this far. // 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 // we need to make it diferently for normal courses and site course
$minlastaccess = get_field_sql('SELECT min(timeaccess) FROM '.$CFG->prefix.'user_lastaccess WHERE courseid = '.$course->id.' AND timeaccess != 0 AND userid!='.$USER->id); 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); $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()); $now = usergetmidnight(time());
$timeaccess = array(); $timeaccess = array();
@ -421,11 +432,11 @@
AND u.username != 'guest' AND u.username != 'guest'
$adminroles $adminroles
$hiddensql "; $hiddensql ";
$where .= get_lastaccess_sql($accesssince); $where .= get_course_lastaccess_sql($accesssince);
} else { } else {
$where = "WHERE u.deleted = 0 $where = "WHERE u.deleted = 0
AND u.username != 'guest'"; AND u.username != 'guest'";
$where .= get_lastaccess_sql($accesssince); $where .= get_user_lastaccess_sql($accesssince);
} }
$wheresearch = ''; $wheresearch = '';
@ -823,14 +834,25 @@
} }
function get_lastaccess_sql($accesssince='') { function get_course_lastaccess_sql($accesssince='') {
if (empty($accesssince)) { if (empty($accesssince)) {
return ''; return '';
} }
if ($accesssince == -1) { // never if ($accesssince == -1) { // never
return ' AND ul.timeaccess = 0'; return ' AND ul.timeaccess = 0';
} else { } 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;
} }
} }