moodle/course/user.php
moodler 40343df7fd Users were able to see their own user activity reports. This was a hang-over
from long time ago.  As there is no GUI for this, I'm removing it for now so
that students are not able to see their own activity reports.

This issue probably needs to be discussed, and a GUI developed for it.
2003-05-24 07:33:22 +00:00

188 lines
7.2 KiB
PHP

<?PHP // $Id$
// Display user activity reports for a course
require_once("../config.php");
require_once("lib.php");
$modes = array("outline", "complete", "todaylogs", "alllogs");
require_variable($id); // course id
require_variable($user); // user id
optional_variable($mode, "outline");
require_login();
if (! $course = get_record("course", "id", $id)) {
error("Course id is incorrect.");
}
if (!isteacher($course->id)) {
error("You are not allowed to look at this page");
}
if (! $user = get_record("user", "id", $user)) {
error("User ID is incorrect");
}
add_to_log($course->id, "course", "user report", "user.php?id=$course->id&user=$user->id&mode=$mode", "$user->id");
$stractivityreport = get_string("activityreport");
$strparticipants = get_string("participants");
$stroutline = get_string("outline");
$strcomplete = get_string("complete");
$stralllogs = get_string("alllogs");
$strtodaylogs = get_string("todaylogs");
$strmode = get_string($mode);
if ($course->category) {
print_header("$course->shortname: $stractivityreport ($mode)", "$course->fullname",
"<A HREF=\"../course/view.php?id=$course->id\">$course->shortname</A> ->
<A HREF=\"../user/index.php?id=$course->id\">$strparticipants</A> ->
<A HREF=\"../user/view.php?id=$user->id&course=$course->id\">$user->firstname $user->lastname</A> ->
$stractivityreport -> $strmode");
} else {
print_header("$course->shortname: $stractivityreport ($mode)", "$course->fullname",
"<A HREF=\"../user/view.php?id=$user->id&course=$course->id\">$user->firstname $user->lastname</A> ->
$stractivityreport -> $strmode");
}
print_heading("$user->firstname $user->lastname");
echo "<table cellpadding=10 align=center><tr>";
echo "<td>reports: </td>";
foreach ($modes as $listmode) {
$strmode = get_string($listmode);
if ($mode == $listmode) {
echo "<td><u>$strmode</u></td>";
} else {
echo "<td><a href=user.php?id=$course->id&user=$user->id&mode=$listmode>$strmode</a></td>";
}
}
echo "</tr></table>";
get_all_mods($course->id, $mods, $modnames, $modnamesplural, $modnamesused);
switch ($mode) {
case "todaylogs" :
echo "<HR><CENTER>";
print_log_graph($course, $user->id, "userday.png");
echo "</CENTER>";
print_log($course, $user->id, usergetmidnight(time()), "ORDER BY l.time DESC");
break;
case "alllogs" :
echo "<HR><CENTER>";
print_log_graph($course, $user->id, "usercourse.png");
echo "</CENTER>";
print_log($course, $user->id, 0, "ORDER BY l.time DESC");
break;
case "outline" :
case "complete" :
default:
$sections = get_all_sections($course->id);
for ($i=0; $i<=$course->numsections; $i++) {
if (isset($sections[$i])) { // should always be true
$section = $sections[$i];
if ($section->sequence) {
echo "<HR>";
echo "<H2>";
switch ($course->format) {
case "weeks": print_string("week"); break;
case "topics": print_string("topic"); break;
default: print_string("section"); break;
}
echo " $i</H2>";
echo "<UL>";
if ($mode == "outline") {
echo "<TABLE CELLPADDING=4 CELLSPACING=0>";
}
$sectionmods = explode(",", $section->sequence);
foreach ($sectionmods as $sectionmod) {
if (empty($mods[$sectionmod])) {
continue;
}
$mod = $mods[$sectionmod];
$instance = get_record("$mod->modname", "id", "$mod->instance");
$libfile = "$CFG->dirroot/mod/$mod->modname/lib.php";
if (file_exists($libfile)) {
require_once($libfile);
switch ($mode) {
case "outline":
$user_outline = $mod->modname."_user_outline";
if (function_exists($user_outline)) {
$output = $user_outline($course, $user, $mod, $instance);
print_outline_row($mod, $instance, $output);
}
break;
case "complete":
$user_complete = $mod->modname."_user_complete";
if (function_exists($user_complete)) {
$image = "<IMG SRC=\"../mod/$mod->modname/icon.gif\" ".
"HEIGHT=16 WIDTH=16 ALT=\"$mod->modfullname\">";
echo "<H4>$image $mod->modfullname: ".
"<A HREF=\"$CFG->wwwroot/mod/$mod->modname/view.php?id=$mod->id\">".
"$instance->name</A></H4>";
echo "<UL>";
$user_complete($course, $user, $mod, $instance);
echo "</UL>";
}
break;
}
}
}
if ($mode == "outline") {
echo "</TABLE>";
print_simple_box_end();
}
echo "</UL>";
}
}
}
break;
}
print_footer($course);
function print_outline_row($mod, $instance, $result) {
$image = "<IMG SRC=\"../mod/$mod->modname/icon.gif\" HEIGHT=16 WIDTH=16 ALT=\"$mod->modfullname\">";
echo "<TR>";
echo "<TD VALIGN=top>$image</TD>";
echo "<TD VALIGN=top width=300>";
echo " <A TITLE=\"$mod->modfullname\"";
echo " HREF=\"../mod/$mod->modname/view.php?id=$mod->id\">$instance->name</A></TD>";
echo "<TD>&nbsp;&nbsp;&nbsp;</TD>";
echo "<TD VALIGN=top BGCOLOR=white>";
if (isset($result->info)) {
echo "$result->info";
} else {
echo "<P ALIGN=CENTER>-</P>";
}
echo "</TD>";
echo "<TD>&nbsp;&nbsp;&nbsp;</TD>";
if (isset($result->time)) {
$timeago = format_time(time() - $result->time);
echo "<TD VALIGN=top NOWRAP>".userdate($result->time)." ($timeago)</TD>";
}
echo "</TR>";
}
?>