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,11 +375,20 @@ 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)) {
@ -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;
} }
} }