diff --git a/user/index.php b/user/index.php index c58d5e453d4..2082b409805 100644 --- a/user/index.php +++ b/user/index.php @@ -193,6 +193,10 @@ $hiddenfields = array_flip(explode(',', $CFG->hiddenuserfields)); } + if (isset($hiddenfields['lastaccess'])) { + // do not allow access since filtering + $accesssince = 0; + } /// Print settings and things in a table across the top @@ -218,59 +222,61 @@ groups_print_course_menu($course, $baseurl); echo ''; - // get minimum lastaccess for this course and display a dropbox to filter by lastaccess going back this far. - // we need to make it diferently for normal courses and site course - if ($context->id != $frontpagectx->id) { - $minlastaccess = $DB->get_field_sql('SELECT min(timeaccess) - FROM {user_lastaccess} - WHERE courseid = ? - AND timeaccess != 0', array($course->id)); - $lastaccess0exists = $DB->record_exists('user_lastaccess', array('courseid'=>$course->id, 'timeaccess'=>0)); - } else { - $minlastaccess = $DB->get_field_sql('SELECT min(lastaccess) - FROM {user} - WHERE lastaccess != 0'); - $lastaccess0exists = $DB->record_exists('user', array('lastaccess'=>0)); - } - - $now = usergetmidnight(time()); - $timeaccess = array(); - - // makes sense for this to go first. - $timeoptions[0] = get_string('selectperiod'); - - // days - for ($i = 1; $i < 7; $i++) { - if (strtotime('-'.$i.' days',$now) >= $minlastaccess) { - $timeoptions[strtotime('-'.$i.' days',$now)] = get_string('numdays','moodle',$i); + if (!isset($hiddenfields['lastaccess'])) { + // get minimum lastaccess for this course and display a dropbox to filter by lastaccess going back this far. + // we need to make it diferently for normal courses and site course + if ($context->id != $frontpagectx->id) { + $minlastaccess = $DB->get_field_sql('SELECT min(timeaccess) + FROM {user_lastaccess} + WHERE courseid = ? + AND timeaccess != 0', array($course->id)); + $lastaccess0exists = $DB->record_exists('user_lastaccess', array('courseid'=>$course->id, 'timeaccess'=>0)); + } else { + $minlastaccess = $DB->get_field_sql('SELECT min(lastaccess) + FROM {user} + WHERE lastaccess != 0'); + $lastaccess0exists = $DB->record_exists('user', array('lastaccess'=>0)); } - } - // weeks - for ($i = 1; $i < 10; $i++) { - if (strtotime('-'.$i.' weeks',$now) >= $minlastaccess) { - $timeoptions[strtotime('-'.$i.' weeks',$now)] = get_string('numweeks','moodle',$i); - } - } - // months - for ($i = 2; $i < 12; $i++) { - if (strtotime('-'.$i.' months',$now) >= $minlastaccess) { - $timeoptions[strtotime('-'.$i.' months',$now)] = get_string('nummonths','moodle',$i); - } - } - // try a year - if (strtotime('-1 year',$now) >= $minlastaccess) { - $timeoptions[strtotime('-1 year',$now)] = get_string('lastyear'); - } - if (!empty($lastaccess0exists)) { - $timeoptions[-1] = get_string('never'); - } + $now = usergetmidnight(time()); + $timeaccess = array(); - if (count($timeoptions) > 1) { - echo '