diff --git a/course/lib.php b/course/lib.php index 2c9ad8227c0..a88d3c40bf0 100644 --- a/course/lib.php +++ b/course/lib.php @@ -20,178 +20,215 @@ define("FRONTPAGENEWS", 0); define("FRONTPAGECOURSELIST", 1); define("FRONTPAGECATEGORYNAMES", 2); -function print_recent_selector_form($course, $selecteduser=0, $selecteddate="lastlogin", +function print_recent_selector_form($course, $advancedfilter=0, $selecteduser=0, $selecteddate="lastlogin", $mod="", $modid="activity/All", $modaction="", $selectedgroup="", $selectedsort="default") { global $USER, $CFG; $isteacher = isteacher($course->id); - // Get all the possible users - $users = array(); + + if ($advancedfilter) { + + // Get all the possible users + $users = array(); - if ($course->category) { - $courseusers = get_course_users($course->id); - } else { - $courseusers = get_site_users("u.lastaccess DESC", "u.id, u.firstname, u.lastname"); - } - - if ($courseusers) { - foreach ($courseusers as $courseuser) { - $users[$courseuser->id] = fullname($courseuser, $isteacher); - } - } - if ($guest = get_guest()) { - $users[$guest->id] = fullname($guest); - } - - if (isadmin()) { - if ($ccc = get_records("course", "", "", "fullname")) { - foreach ($ccc as $cc) { - if ($cc->category) { - $courses["$cc->id"] = "$cc->fullname"; - } else { - $courses["$cc->id"] = " $cc->fullname (Site)"; - } - } - } - asort($courses); - } - - $activities = array(); - - $selectedactivity = $modid; - - if ($modinfo = unserialize($course->modinfo)) { - $section = 0; - if ($course->format == 'weeks') { // Body - $strsection = get_string("week"); + if ($course->category) { + $courseusers = get_course_users($course->id); } else { - $strsection = get_string("topic"); - } - - $activities["activity/All"] = "All activities"; - $activities["activity/Assignments"] = "All assignments"; - $activities["activity/Chats"] = "All chats"; - $activities["activity/Forums"] = "All forums"; - $activities["activity/Quizzes"] = "All quizzes"; - $activities["activity/Workshops"] = "All workshops"; - - $activities["section/individual"] = "------------- Individual Activities --------------"; - - foreach ($modinfo as $mod) { - if ($mod->mod == "label") { - continue; - } - if ($mod->section > 0 and $section <> $mod->section) { - $activities["section/$mod->section"] = "-------------- $strsection $mod->section --------------"; - } - $section = $mod->section; - $mod->name = urldecode($mod->name); - if (strlen($mod->name) > 55) { - $mod->name = substr($mod->name, 0, 50)."..."; - } - if (!$mod->visible) { - $mod->name = "(".$mod->name.")"; - } - $activities["$mod->cm"] = $mod->name; - - if ($mod->cm == $modid) { - $selectedactivity = "$mod->cm"; + $courseusers = get_site_users("u.lastaccess DESC", "u.id, u.firstname, u.lastname"); + } + + if ($courseusers) { + foreach ($courseusers as $courseuser) { + $users[$courseuser->id] = fullname($courseuser, $isteacher); } } - } + if ($guest = get_guest()) { + $users[$guest->id] = fullname($guest); + } + + if (isadmin()) { + if ($ccc = get_records("course", "", "", "fullname")) { + foreach ($ccc as $cc) { + if ($cc->category) { + $courses["$cc->id"] = "$cc->fullname"; + } else { + $courses["$cc->id"] = " $cc->fullname (Site)"; + } + } + } + asort($courses); + } - $strftimedate = get_string("strftimedate"); - $strftimedaydate = get_string("strftimedaydate"); + $activities = array(); - asort($users); + $selectedactivity = $modid; - // Get all the possible dates - // Note that we are keeping track of real (GMT) time and user time - // User time is only used in displays - all calcs and passing is GMT - - $timenow = time(); // GMT - - // What day is it now for the user, and when is midnight that day (in GMT). - $timemidnight = $today = usergetmidnight($timenow); - - $dates = array(); - $dates["$USER->lastlogin"] = get_string("lastlogin").", ".userdate($USER->lastlogin, $strftimedate); - $dates["$timemidnight"] = get_string("today").", ".userdate($timenow, $strftimedate); - - if (!$course->startdate or ($course->startdate > $timenow)) { - $course->startdate = $course->timecreated; - } - - $numdates = 1; - while ($timemidnight > $course->startdate and $numdates < 365) { - $timemidnight = $timemidnight - 86400; - $timenow = $timenow - 86400; - $dates["$timemidnight"] = userdate($timenow, $strftimedaydate); - $numdates++; - } - - if ($selecteddate == "lastlogin") { - $selecteddate = $USER->lastlogin; - } - - echo '
"; } function print_log_selector_form($course, $selecteduser=0, $selecteddate="today",