f9903ed0 |
1 | <?PHP // $Id$ |
2 | |
3 | require("../config.php"); |
7468bf01 |
4 | require("lib.php"); |
f9903ed0 |
5 | |
6 | require_variable($id); // course id |
7 | require_variable($user); // user id |
2b8cef80 |
8 | optional_variable($mode, "outline"); |
f9903ed0 |
9 | |
10 | if (! $course = get_record("course", "id", $id)) { |
11 | error("Course id is incorrect."); |
12 | } |
13 | |
14 | require_login($course->id); |
15 | |
f9903ed0 |
16 | if (! $user = get_record("user", "id", $user)) { |
17 | error("User ID is incorrect"); |
18 | } |
19 | |
5110affb |
20 | if (!isteacher($course->id) and $user->id != $USER->id ) { |
21 | error("You are not allowed to look at this page"); |
22 | } |
23 | |
24 | |
359b138b |
25 | add_to_log($course->id, "course", "user report", "user.php?id=$course->id&user=$user->id&mode=$mode", "$user->id"); |
f9903ed0 |
26 | |
2b8cef80 |
27 | print_header("$course->shortname: Activity Report ($mode)", "$course->fullname", |
f9903ed0 |
28 | "<A HREF=\"../course/view.php?id=$course->id\">$course->shortname</A> -> |
29 | <A HREF=\"../user/index.php?id=$course->id\">Participants</A> -> |
30 | <A HREF=\"../user/view.php?id=$user->id&course=$course->id\">$user->firstname $user->lastname</A> -> |
bbfe835b |
31 | Activity Report ($mode)", ""); |
32 | print_heading("$user->firstname $user->lastname"); |
33 | |
34 | echo "<TABLE CELLPADDING=10 ALIGN=CENTER><TR>"; |
6ee410e3 |
35 | echo "<TD>Reports: </TD>"; |
bbfe835b |
36 | if ($mode != "outline") { |
37 | echo "<TD><A HREF=user.php?id=$course->id&user=$user->id&mode=outline>Outline</A></TD>"; |
38 | } else { |
56e234f2 |
39 | echo "<TD><U>Outline</U></TD>"; |
bbfe835b |
40 | } |
41 | if ($mode != "complete") { |
42 | echo "<TD><A HREF=user.php?id=$course->id&user=$user->id&mode=complete>Complete</A></TD>"; |
43 | } else { |
56e234f2 |
44 | echo "<TD><U>Complete</U></TD>"; |
bbfe835b |
45 | } |
2b8cef80 |
46 | if ($mode != "today") { |
47 | echo "<TD><A HREF=user.php?id=$course->id&user=$user->id&mode=today>Today</A></TD>"; |
48 | } else { |
49 | echo "<TD><U>Today</U></TD>"; |
50 | } |
51 | if ($mode != "alllogs") { |
52 | echo "<TD><A HREF=user.php?id=$course->id&user=$user->id&mode=alllogs>All logs</A></TD>"; |
53 | } else { |
54 | echo "<TD><U>All logs</U></TD>"; |
55 | } |
bbfe835b |
56 | echo "</TR></TABLE>"; |
57 | |
f9903ed0 |
58 | |
94361e02 |
59 | get_all_mods($course->id, $mods, $modnames, $modnamesplural, $modnamesused, $modsectioncounts); |
600149be |
60 | |
7468bf01 |
61 | switch ($mode) { |
2b8cef80 |
62 | case "today" : |
63 | echo "<HR><CENTER>"; |
39493386 |
64 | print_log_graph($course, $user->id, "userday.png", time() ); |
2b8cef80 |
65 | echo "</CENTER>"; |
66 | print_log($course, $user->id, usergetmidnight(time()), "ORDER BY l.time DESC"); |
67 | break; |
68 | |
69 | case "alllogs" : |
70 | echo "<HR><CENTER>"; |
71 | print_log_graph($course, $user->id, "usercourse.png"); |
72 | echo "</CENTER>"; |
73 | print_log($course, $user->id, 0, "ORDER BY l.time DESC"); |
7468bf01 |
74 | break; |
600149be |
75 | |
7468bf01 |
76 | case "outline" : |
77 | case "complete" : |
78 | default: |
79 | $sections = get_all_sections($course->id); |
600149be |
80 | |
7468bf01 |
81 | for ($i=0; $i<=$course->numsections; $i++) { |
82 | |
83 | if (isset($sections[$i])) { // should always be true |
84 | |
85 | $section = $sections[$i]; |
86 | |
87 | if ($section->sequence) { |
88 | echo "<HR>"; |
89 | echo "<H2>"; |
90 | switch ($course->format) { |
91 | case "weeks": print_string("week"); break; |
92 | case "topics": print_string("topic"); break; |
93 | default: print_string("section"); break; |
94 | } |
95 | echo " $i</H2>"; |
96 | |
97 | echo "<UL>"; |
98 | |
99 | if ($mode == "outline") { |
100 | echo "<TABLE CELLPADDING=4 CELLSPACING=0>"; |
101 | } |
102 | |
103 | $sectionmods = explode(",", $section->sequence); |
104 | foreach ($sectionmods as $sectionmod) { |
105 | $mod = $mods[$sectionmod]; |
106 | $instance = get_record("$mod->modname", "id", "$mod->instance"); |
359b138b |
107 | $libfile = "$CFG->dirroot/mod/$mod->modname/lib.php"; |
108 | |
109 | if (file_exists($libfile)) { |
110 | require_once($libfile); |
111 | |
112 | switch ($mode) { |
113 | case "outline": |
114 | $user_outline = $mod->modname."_user_outline"; |
115 | if (function_exists($user_outline)) { |
116 | $output = $user_outline($course, $user, $mod, $instance); |
117 | print_outline_row($mod, $instance, $output); |
118 | } |
119 | break; |
120 | case "complete": |
121 | $user_complete = $mod->modname."_user_complete"; |
122 | if (function_exists($user_complete)) { |
123 | $image = "<IMG SRC=\"../mod/$mod->modname/icon.gif\" ". |
124 | "HEIGHT=16 WIDTH=16 ALT=\"$mod->modfullname\">"; |
125 | echo "<H4>$image $mod->modfullname: ". |
126 | "<A HREF=\"$CFG->wwwroot/mod/$mod->modname/view.php?id=$mod->id\">". |
127 | "$instance->name</A></H4>"; |
128 | echo "<UL>"; |
129 | $user_complete($course, $user, $mod, $instance); |
130 | echo "</UL>"; |
131 | } |
132 | break; |
7468bf01 |
133 | } |
134 | } |
135 | } |
136 | |
137 | if ($mode == "outline") { |
138 | echo "</TABLE>"; |
139 | print_simple_box_end(); |
140 | } |
141 | echo "</UL>"; |
359b138b |
142 | |
600149be |
143 | |
7468bf01 |
144 | } |
600149be |
145 | } |
f9903ed0 |
146 | } |
7468bf01 |
147 | break; |
f9903ed0 |
148 | } |
149 | |
7468bf01 |
150 | |
f9903ed0 |
151 | print_footer($course); |
152 | |
7468bf01 |
153 | |
359b138b |
154 | function print_outline_row($mod, $instance, $result) { |
7468bf01 |
155 | $image = "<IMG SRC=\"../mod/$mod->modname/icon.gif\" HEIGHT=16 WIDTH=16 ALT=\"$mod->modfullname\">"; |
49a6849e |
156 | |
359b138b |
157 | echo "<TR>"; |
158 | echo "<TD VALIGN=top>$image</TD>"; |
49a6849e |
159 | echo "<TD VALIGN=top width=300>"; |
359b138b |
160 | echo " <A TITLE=\"$mod->modfullname\""; |
7468bf01 |
161 | echo " HREF=\"../mod/$mod->modname/view.php?id=$mod->id\">$instance->name</A></TD>"; |
162 | echo "<TD> </TD>"; |
359b138b |
163 | echo "<TD VALIGN=top BGCOLOR=white>"; |
164 | if (isset($result->info)) { |
165 | echo "$result->info"; |
166 | } else { |
167 | echo "<P ALIGN=CENTER>-</P>"; |
168 | } |
169 | echo "</TD>"; |
170 | echo "<TD> </TD>"; |
171 | if (isset($result->time)) { |
172 | $timeago = format_time(time() - $result->time); |
173 | echo "<TD VALIGN=top NOWRAP>".userdate($result->time)." ($timeago ago)</TD>"; |
174 | } |
175 | echo "</TR>"; |
7468bf01 |
176 | } |
177 | |
f9903ed0 |
178 | ?> |
179 | |