From: moodler Date: Sat, 23 Aug 2003 06:19:05 +0000 (+0000) Subject: Improvements to logs when looking at site logs. X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=1a5ab4490f07ae65e32257bd2fd4fe5ecaf1dc28;p=moodle.git Improvements to logs when looking at site logs. Also, improvements to get_site_users (slower but it works now!) --- diff --git a/course/lib.php b/course/lib.php index 701efd8c3f..d17791a224 100644 --- a/course/lib.php +++ b/course/lib.php @@ -27,15 +27,19 @@ function print_log_selector_form($course, $selecteduser=0, $selecteddate="today" $users = array(); if ($course->category) { - if ($courseusers = get_course_users($course->id, "u.lastaccess DESC")) { - foreach ($courseusers as $courseuser) { - $users[$courseuser->id] = "$courseuser->firstname $courseuser->lastname"; - } - } - if ($guest = get_guest()) { - $users[$guest->id] = "$guest->firstname $guest->lastname"; + $courseusers = get_course_users($course->id, "u.lastaccess DESC"); + } else { + $courseusers = get_site_users("u.lastaccess DESC", "u.id, u.firstname, u.lastname"); + } + + if ($courseusers) { + foreach ($courseusers as $courseuser) { + $users[$courseuser->id] = "$courseuser->firstname $courseuser->lastname"; } } + if ($guest = get_guest()) { + $users[$guest->id] = "$guest->firstname $guest->lastname"; + } if (isadmin()) { if ($ccc = get_records("course", "", "", "fullname")) { @@ -92,9 +96,7 @@ function print_log_selector_form($course, $selecteduser=0, $selecteddate="today" } else { echo "id\">"; } - if ($course->category) { - choose_from_menu ($users, "user", $selecteduser, get_string("allparticipants") ); - } + choose_from_menu ($users, "user", $selecteduser, get_string("allparticipants") ); choose_from_menu ($dates, "date", $selecteddate, get_string("alldays")); echo ""; echo ""; @@ -129,7 +131,7 @@ function print_log($course, $user=0, $date=0, $order="l.time ASC", $page=0, $per } else { $selector = "l.userid = u.id"; // Show all courses - if ($ccc = get_courses(-1)) { + if ($ccc = get_courses("all", "c.id ASC", "c.id,c.shortname")) { foreach ($ccc as $cc) { $courses[$cc->id] = "$cc->shortname"; } diff --git a/course/log.php b/course/log.php index cfea8d0b12..a7a1da0150 100644 --- a/course/log.php +++ b/course/log.php @@ -24,7 +24,6 @@ if (!isadmin()) { error("Only administrators can look at the site logs"); } - $user = ""; } $strlogs = get_string("logs"); diff --git a/lib/datalib.php b/lib/datalib.php index 19b18f0547..9b46954d98 100644 --- a/lib/datalib.php +++ b/lib/datalib.php @@ -970,27 +970,36 @@ function get_course_users($courseid, $sort="u.lastaccess DESC") { /// ORDER BY $sort"); } -function get_site_users($sort="u.lastaccess DESC") { +function get_site_users($sort="u.lastaccess DESC", $select="") { /// Returns a list of all active users who are enrolled /// or teaching in courses on this server global $CFG, $db; - //$db->debug = true; - return get_records_sql("SELECT u.id, u.username, u.firstname, u.lastname, u.maildisplay, u.mailformat, - u.email, u.city, u.country, u.lastaccess, u.lastlogin, u.picture - FROM {$CFG->prefix}user u, - {$CFG->prefix}user_students s, - {$CFG->prefix}user_teachers t, - {$CFG->prefix}user_coursecreators c, - {$CFG->prefix}user_admins a - WHERE s.userid = u.id - OR t.userid = u.id - OR a.userid = u.id - OR c.userid = u.id - GROUP BY u.id - ORDER BY $sort "); + if ($select) { + $selectinfo = $select; + } else { + $selectinfo = "u.id, u.username, u.firstname, u.lastname, u.maildisplay, u.mailformat,". + "u.email, u.city, u.country, u.lastaccess, u.lastlogin, u.picture"; + } + + + if (!$students = get_records_sql("SELECT $selectinfo from {$CFG->prefix}user u, {$CFG->prefix}user_students s + WHERE s.userid = u.id GROUP BY u.id ORDER BY $sort")) { + $students = array(); + } + if (!$teachers = get_records_sql("SELECT $selectinfo from {$CFG->prefix}user u, {$CFG->prefix}user_teachers t + WHERE t.userid = u.id GROUP BY u.id ORDER BY $sort")) { + $teachers = array(); + } + if (!$admins = get_records_sql("SELECT $selectinfo from {$CFG->prefix}user u, {$CFG->prefix}user_admins a + WHERE a.userid = u.id GROUP BY u.id ORDER BY $sort")) { + $admins = array(); + } + $users = array_merge($teachers, $students); + $users = array_merge($users, $admins); + return $users; }