diff --git a/mod/quiz/lib.php b/mod/quiz/lib.php index de862aecbff..216e824e2fc 100644 --- a/mod/quiz/lib.php +++ b/mod/quiz/lib.php @@ -2494,5 +2494,63 @@ $oldalternativeids); return $answers; } +function quiz_get_recent_quizzes($sincetime, $quiz="0") { +// Returns all quizzes since a given time. If quiz is specified then +// this restricts the results + + global $CFG; + + if ($quiz) { + $quizselect = " AND q.id = '$quiz'"; + } else { + $quizselect = ""; + } + + return get_records_sql("SELECT qa.*, q.name, u.firstname, u.lastname, u.picture, q.course, q.sumgrades as maxgrade + FROM {$CFG->prefix}quiz_attempts qa, + {$CFG->prefix}quiz q, + {$CFG->prefix}user u + WHERE qa.timefinish > '$sincetime' $quizselect + AND qa.userid = u.id + AND qa.quiz = q.id + ORDER BY qa.timefinish ASC"); +} + +function quiz_print_recent_instance_activity($quiz, $timestart, $detail=false) { + + global $CFG, $THEME; + + if (!$quizzes = quiz_get_recent_quizzes($timestart, $quiz->id)) { + return false; + } + + foreach ($quizzes as $aquiz) { + echo '
| cellcontent2\" class=\"\" width=\"35\" valign=\"top\">"; + print_user_picture($aquiz->userid, $quiz->course, $aquiz->picture); + echo " | "; + + echo "cellheading\" class=\"\" width=\"100%\">";
+
+ echo " ";
+ echo "";
+
+
+ $fullname = fullname($aquiz);
+ echo "wwwroot/user/view.php?id=$aquiz->userid&course=$aquiz->course\">$fullname";
+
+ if (isteacher($USER)) {
+ $grade = "$aquiz->sumgrades / $aquiz->maxgrade";
+ echo " (wwwroot/mod/quiz/review.php?q=$aquiz->quiz&attempt=$aquiz->id\">$grade)";
+ echo get_string("attempt", "quiz") . " - $aquiz->attempt";
+
+ }
+
+ echo " |