changed code to use the user_lastaccess table instead of the user table

This commit is contained in:
toyomoyo 2006-09-12 07:39:25 +00:00
parent 174526f4f1
commit dfe603583e

View file

@ -375,13 +375,22 @@ function checkchecked(form) {
$listofcontexts = '('.$sitecontext->id.')'; // must be site $listofcontexts = '('.$sitecontext->id.')'; // must be site
} }
$select = 'SELECT u.id, u.username, u.firstname, u.lastname, u.email, u.city, u.country, $select = 'SELECT u.id, u.username, u.firstname, u.lastname, u.email, u.city, u.country,
u.picture, u.lang, u.timezone, u.emailstop, u.maildisplay, u.lastaccess AS lastaccess '; // s.lastaccess u.picture, u.lang, u.timezone, u.emailstop, u.maildisplay, ul.timeaccess AS lastaccess '; // s.lastaccess
//$select .= $course->enrolperiod?', s.timeend ':''; //$select .= $course->enrolperiod?', s.timeend ':'';
$from = 'FROM '.$CFG->prefix.'user u LEFT JOIN '.$CFG->prefix.'role_assignments r ON r.userid = u.id '; $from = "FROM {$CFG->prefix}user u,
$where = 'WHERE (r.contextid = '.$context->id.' OR r.contextid in '.$listofcontexts.') AND u.deleted = 0 AND r.roleid = '.$roleid.' '; {$CFG->prefix}role_assignments r,
{$CFG->prefix}user_lastaccess ul ";
$where = "WHERE
r.userid = u.id
AND u.id = ul.userid
AND (r.contextid = $context->id OR r.contextid in $listofcontexts)
AND u.deleted = 0
AND r.roleid = $roleid
AND ul.courseid = $course->id ";
$where .= get_lastaccess_sql($accesssince); $where .= get_lastaccess_sql($accesssince);
$wheresearch = ''; $wheresearch = '';
if (!empty($search)) { if (!empty($search)) {
$LIKE = sql_ilike(); $LIKE = sql_ilike();
$fullname = sql_fullname('u.firstname','u.lastname'); $fullname = sql_fullname('u.firstname','u.lastname');
@ -421,9 +430,9 @@ function checkchecked(form) {
} else { } else {
$limit = ''; $limit = '';
} }
$students = get_records_sql($select.$from.$where.$wheresearch.$sort.$limit); $students = get_records_sql($select.$from.$where.$wheresearch.$sort.$limit);
if (!$currentrole = get_record('role','id',$roleid)) { if (!$currentrole = get_record('role','id',$roleid)) {
error('That role does not exist'); error('That role does not exist');
} }
@ -591,9 +600,9 @@ function get_lastaccess_sql($accesssince='') {
return ''; return '';
} }
if ($accesssince == -1) { // never if ($accesssince == -1) { // never
return ' AND lastaccess = 0'; return ' AND ul.timeaccess = 0';
} else { } else {
return ' AND lastaccess != 0 AND lastaccess < '.$accesssince; return ' AND il.tomeaccess != 0 AND timeaccess < '.$accesssince;
} }
} }