mirror of
https://github.com/moodle/moodle.git
synced 2025-04-21 00:12:56 +02:00
Improvements to logs for admin user (can view any course)
This commit is contained in:
parent
b7b6fef98c
commit
720a43cec7
@ -14,18 +14,29 @@ function print_log_selector_form($course, $selecteduser=0, $selecteddate="today"
|
||||
|
||||
// Get all the possible users
|
||||
$users = array();
|
||||
if ($students = get_records_sql("SELECT u.* FROM user u, user_students s
|
||||
WHERE s.course = '$course->id' AND s.user = u.id
|
||||
ORDER BY u.lastaccess DESC")) {
|
||||
foreach ($students as $student) {
|
||||
$users["$student->id"] = "$student->firstname $student->lastname";
|
||||
|
||||
if ($course->category) {
|
||||
if ($students = get_records_sql("SELECT u.* FROM user u, user_students s
|
||||
WHERE s.course = '$course->id' AND s.user = u.id
|
||||
ORDER BY u.lastaccess DESC")) {
|
||||
foreach ($students as $student) {
|
||||
$users["$student->id"] = "$student->firstname $student->lastname";
|
||||
}
|
||||
}
|
||||
if ($teachers = get_records_sql("SELECT u.* FROM user u, user_teachers t
|
||||
WHERE t.course = '$course->id' AND t.user = u.id
|
||||
ORDER BY u.lastaccess DESC")) {
|
||||
foreach ($teachers as $teacher) {
|
||||
$users["$teacher->id"] = "$teacher->firstname $teacher->lastname";
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($teachers = get_records_sql("SELECT u.* FROM user u, user_teachers t
|
||||
WHERE t.course = '$course->id' AND t.user = u.id
|
||||
ORDER BY u.lastaccess DESC")) {
|
||||
foreach ($teachers as $teacher) {
|
||||
$users["$teacher->id"] = "$teacher->firstname $teacher->lastname";
|
||||
|
||||
if (isadmin()) {
|
||||
if ($ccc = get_records_sql("SELECT * FROM course ORDER BY fullname")) {
|
||||
foreach ($ccc as $cc) {
|
||||
$courses["$cc->id"] = "$cc->fullname";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -61,8 +72,14 @@ function print_log_selector_form($course, $selecteduser=0, $selecteddate="today"
|
||||
|
||||
echo "<CENTER>";
|
||||
echo "<FORM ACTION=log.php METHOD=get>";
|
||||
echo "<INPUT TYPE=hidden NAME=id VALUE=\"$course->id\">";
|
||||
choose_from_menu ($users, "user", $selecteduser, "All participants");
|
||||
if (isadmin()) {
|
||||
choose_from_menu ($courses, "id", $course->id, "All courses");
|
||||
} else {
|
||||
echo "<INPUT TYPE=hidden NAME=id VALUE=\"$course->id\">";
|
||||
}
|
||||
if ($course->category) {
|
||||
choose_from_menu ($users, "user", $selecteduser, "All participants");
|
||||
}
|
||||
choose_from_menu ($dates, "date", $selecteddate, "Any day");
|
||||
echo "<INPUT TYPE=submit VALUE=\"Show these logs\">";
|
||||
echo "</FORM>";
|
||||
@ -90,7 +107,16 @@ function print_log($course, $user=0, $date=0, $order="ORDER BY l.time ASC") {
|
||||
// It is assumed that $date is the GMT time of midnight for that day,
|
||||
// and so the next 86400 seconds worth of logs are printed.
|
||||
|
||||
$selector = "WHERE l.course='$course->id' AND l.user = u.id";
|
||||
if ($course->category) {
|
||||
$selector = "WHERE l.course='$course->id' AND l.user = u.id";
|
||||
} else {
|
||||
$selector = "WHERE l.user = u.id"; // Show all courses
|
||||
if ($ccc = get_records_sql("SELECT * FROM course ORDER BY fullname")) {
|
||||
foreach ($ccc as $cc) {
|
||||
$courses[$cc->id] = "$cc->shortname";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($user) {
|
||||
$selector .= " AND l.user = '$user'";
|
||||
@ -120,6 +146,9 @@ function print_log($course, $user=0, $date=0, $order="ORDER BY l.time ASC") {
|
||||
}
|
||||
|
||||
echo "<TR>";
|
||||
if (! $course->category) {
|
||||
echo "<TD><FONT SIZE=2><A HREF=\"view.php?id=$log->course\">".$courses[$log->course]."</A></TD>";
|
||||
}
|
||||
echo "<TD ALIGN=right><FONT SIZE=2>".userdate($log->time, "l")."</TD>";
|
||||
echo "<TD><FONT SIZE=2>".userdate($log->time, "j M Y, h:i A")."</TD>";
|
||||
echo "<TD><FONT SIZE=2><A TITLE=\"$log->ip\" HREF=\"../user/view.php?id=$log->user&course=$log->course\"><B>$log->firstname $log->lastname</B></TD>";
|
||||
|
@ -5,6 +5,10 @@
|
||||
require("../config.php");
|
||||
require("lib.php");
|
||||
|
||||
require_variable($id); // Course ID
|
||||
optional_variable($user); // User to display
|
||||
optional_variable($date); // Date to display
|
||||
|
||||
require_login($id);
|
||||
|
||||
if (! $course = get_record("course", "id", $id) ) {
|
||||
@ -15,8 +19,15 @@
|
||||
error("Only teachers can view logs");
|
||||
}
|
||||
|
||||
if (! $course->category) {
|
||||
if (!isadmin()) {
|
||||
error("Only administrators can look at the site logs");
|
||||
}
|
||||
$user = "";
|
||||
}
|
||||
|
||||
if (isset($user) || isset($date)) {
|
||||
|
||||
if ($user || $date) {
|
||||
|
||||
$userinfo = "all users";
|
||||
$dateinfo = "any day";
|
||||
@ -35,7 +46,7 @@
|
||||
"<A HREF=\"view.php?id=$course->id\">$course->shortname</A> ->
|
||||
<A HREF=\"log.php?id=$course->id\">Logs</A> -> Logs for $userinfo, $dateinfo", "");
|
||||
|
||||
print_heading("Logs for $userinfo, $dateinfo (".usertimezone().")");
|
||||
print_heading("$course->fullname: $userinfo, $dateinfo (".usertimezone().")");
|
||||
|
||||
print_log_selector_form($course, $user, $date);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user