From: martin Date: Sat, 27 Jul 2002 08:31:09 +0000 (+0000) Subject: Improvements to user activity report - including graphs X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=c24d3070ccc322f4a538d38ea6df05c36e5b9d46;p=moodle.git Improvements to user activity report - including graphs --- diff --git a/course/loggraph.php b/course/loggraph.php new file mode 100644 index 0000000000..2a78bbe340 --- /dev/null +++ b/course/loggraph.php @@ -0,0 +1,76 @@ +libdir/graphlib.php"); + + require_variable($id); // Course ID + require_variable($type); // Graph Type + optional_variable($user); // Student ID + + if (! $course = get_record("course", "id", $id)) { + error("Course is misconfigured"); + } + + require_login($course->id); + + if (!isteacher($course->id)) { + if (! ($type == "student.png" and $user == $USER->id) ) { + error("Sorry, you aren't allowed to see this."); + } + } + + if ($user) { + if (! $user = get_record("user", "id", $user)) { + error("Can not find that user"); + } + } + + + $timenow = time(); + + switch ($type) { + + case "user.png": + + $timestart = $course->startdate; + $i = 0; + while ($timestart < $timenow) { + $timefinish = $timestart + (3600 * 24); + if (! $logcount = get_record_sql("SELECT COUNT(*) as count FROM log + WHERE user = '$user->id' AND course = '$course->id' + AND `time` > '$timestart' AND `time` < '$timefinish'")) { + $logs[$i] = 0; + } + $logs[$i] = $logcount->count; + $days[$i] = date("j M", $timestart); + $i++; + $timestart = $timefinish; + } + + $maxlogs = max($logs); + + + $graph = new graph(600, 300); + $graph->parameter['title'] = "Rough usage of $course->shortname by $user->firstname $user->lastname"; + + $graph->x_data = $days; + + $graph->y_data['logs'] = $logs; + $graph->y_format['logs'] = array('colour' => 'blue','bar' => 'fill','legend' =>'actual','bar_size' => 0.4); + $graph->y_label_left = "Hits"; + + $graph->y_order = array('logs'); + + + $graph->parameter['shadow'] = 'none'; + + $graph->draw_stack(); + + break; + + default: + break; + } + +?> diff --git a/course/user.php b/course/user.php index 3dbbeb3a10..8b36da3e69 100644 --- a/course/user.php +++ b/course/user.php @@ -55,10 +55,9 @@ switch ($mode) { case "summary" : - echo "

Not done yet

"; - echo "

Graph goes here that shows accesses by day over the course

"; echo "
"; - echo "

Table goes here that summarises all activity by this student by module. eg 3/7 journals done, 3/3 surveys, 12 posts in all discussions. Each of these are links so that you can drill down to see all the surveys on one page, or all the posts, or all their journals."; + echo "

id&user=$user->id&type=user.png\">"; + echo "
"; break; case "outline" :