Index: mod/assignment/lib.php ========================================================= --- mod/assignment/lib.php (revision 1.277.2.50) +++ mod/assignment/lib.php Tue Oct 06 14:14:47 WST 2009 @@ -1778,18 +1778,14 @@ * Return an outline of the user's interaction with the assignment * * The default method prints the grade and timemodified - * @param $user object + * @param $grade object * @return object with properties ->info and ->time */ - function user_outline($user) { - if ($submission = $this->get_submission($user->id)) { - + function user_outline($grade) { - $result = new object(); + $result = new object(); - $result->info = get_string('grade').': '.$this->display_grade($submission->grade); - $result->time = $submission->timemodified; + $result->info = get_string('grade').': '.$grade->str_long_grade; + $result->time = $grade->dategraded; - return $result; + return $result; - } - return NULL; } /** @@ -1797,7 +1793,14 @@ * * @param $user object */ - function user_complete($user) { + function user_complete($user, $grade=null) { + if ($grade) { + echo '
'.get_string('grade').': '.$grade->str_long_grade.'
'; + if ($grade->str_feedback) { + echo ''.get_string('feedback').': '.$grade->str_feedback.'
'; + } + } + if ($submission = $this->get_submission($user->id)) { if ($basedir = $this->file_area($user->id)) { if ($files = get_directory_list($basedir)) { @@ -1817,11 +1820,7 @@ echo ''.get_string('grade').': '.$grade->str_long_grade.'
'; + if ($grade->str_feedback) { + echo ''.get_string('feedback').': '.$grade->str_feedback.'
'; + } + } if ($records = get_records_select('data_records', 'dataid = '.$data->id.' AND userid = '.$user->id, 'timemodified DESC')) { data_print_template('singletemplate', $records, $data); Index: mod/forum/lib.php ========================================================= --- mod/forum/lib.php (revision 1.609.2.95) +++ mod/forum/lib.php Tue Oct 06 14:30:22 WST 2009 @@ -943,13 +943,30 @@ * @return object A standard object with 2 variables: info (number of posts for this user) and time (last modified) */ function forum_user_outline($course, $user, $mod, $forum) { - if ($count = forum_count_user_posts($forum->id, $user->id)) { - if ($count->postcount > 0) { + global $CFG; + require_once("$CFG->libdir/gradelib.php"); + $grades = grade_get_grades($course->id, 'mod', 'forum', $forum->id, $user->id); + if (empty($grades->items[0]->grades)) { + $grade = false; + } else { + $grade = reset($grades->items[0]->grades); + } + + $count = forum_count_user_posts($forum->id, $user->id); + + if ($count && $count->postcount > 0) { - $result = new object(); - $result->info = get_string("numposts", "forum", $count->postcount); - $result->time = $count->lastpost; + $result = new object(); + $result->info = get_string("numposts", "forum", $count->postcount); + $result->time = $count->lastpost; - return $result; + if ($grade) { + $result->info .= ', ' . get_string('grade') . ': ' . $grade->str_long_grade; } + return $result; + } else if ($grade) { + $result = new object(); + $result->info = get_string('grade') . ': ' . $grade->str_long_grade; + $result->time = $grade->dategraded; + return $result; } return NULL; } @@ -960,6 +977,16 @@ */ function forum_user_complete($course, $user, $mod, $forum) { global $CFG,$USER; + require_once("$CFG->libdir/gradelib.php"); + + $grades = grade_get_grades($course->id, 'mod', 'forum', $forum->id, $user->id); + if (!empty($grades->items[0]->grades)) { + $grade = reset($grades->items[0]->grades); + echo ''.get_string('grade').': '.$grade->str_long_grade.'
'; + if ($grade->str_feedback) { + echo ''.get_string('feedback').': '.$grade->str_feedback.'
'; + } + } if ($posts = forum_get_user_posts($forum->id, $user->id)) { Index: mod/glossary/lib.php ========================================================= --- mod/glossary/lib.php (revision 1.193.2.20) +++ mod/glossary/lib.php Tue Oct 06 14:28:19 WST 2009 @@ -161,11 +161,19 @@ } function glossary_user_outline($course, $user, $mod, $glossary) { + global $CFG; /// Return a small object with summary information about what a /// user has done with a given particular instance of this module /// Used for user activity reports. /// $return->time = the time they did it /// $return->info = a short text description + require_once("$CFG->libdir/gradelib.php"); + $grades = grade_get_grades($course->id, 'mod', 'glossary', $glossary->id, $user->id); + if (empty($grades->items[0]->grades)) { + $grade = false; + } else { + $grade = reset($grades->items[0]->grades); + } if ($entries = glossary_get_user_entries($glossary->id, $user->id)) { $result = new object(); @@ -173,8 +181,18 @@ $lastentry = array_pop($entries); $result->time = $lastentry->timemodified; + + if ($grade) { + $result->info .= ', ' . get_string('grade') . ': ' . $grade->str_long_grade; + } + return $result; + } else if ($grade) { + $result = new object(); + $result->info = get_string('grade') . ': ' . $grade->str_long_grade; + $result->time = $grade->dategraded; return $result; } + return NULL; } @@ -197,7 +215,16 @@ /// Print a detailed representation of what a user has done with /// a given particular instance of this module, for user activity reports. global $CFG; + require_once("$CFG->libdir/gradelib.php"); + $grades = grade_get_grades($course->id, 'mod', 'glossary', $glossary->id, $user->id); + if (!empty($grades->items[0]->grades)) { + $grade = reset($grades->items[0]->grades); + echo ''.get_string('grade').': '.$grade->str_long_grade.'
'; + if ($grade->str_feedback) { + echo ''.get_string('feedback').': '.$grade->str_feedback.'
'; + } + } if ($entries = glossary_get_user_entries($glossary->id, $user->id)) { echo '| ';
foreach ($entries as $entry) {
Index: mod/lesson/lib.php
=========================================================
--- mod/lesson/lib.php (revision 1.41.2.10)
+++ mod/lesson/lib.php Tue Oct 06 14:28:08 WST 2009
@@ -147,22 +147,15 @@
/// Used for user activity reports.
/// $return->time = the time they did it
/// $return->info = a short text description
-
- if ($grades = get_records_select("lesson_grades", "lessonid = $lesson->id AND userid = $user->id",
- "grade DESC")) {
- foreach ($grades as $grade) {
- $max_grade = number_format($grade->grade * $lesson->grade / 100.0, 1);
- break;
- }
- $return->time = $grade->completed;
- if ($lesson->retake) {
- $return->info = get_string("gradeis", "lesson", $max_grade)." (".
- get_string("attempt", "lesson", count($grades)).")";
+ global $CFG;
+ require_once("$CFG->libdir/gradelib.php");
+ $grades = grade_get_grades($course->id, 'mod', 'lesson', $lesson->id, $user->id);
+ if (empty($grades->items[0]->grades)) {
+ $return->info = get_string("no")." ".get_string("attempts", "lesson");
- } else {
+ } else {
- $return->info = get_string("gradeis", "lesson", $max_grade);
- }
- } else {
- $return->info = get_string("no")." ".get_string("attempts", "lesson");
+ $grade = reset($grades->items[0]->grades);
+ $return->info = get_string("grade") . ': ' . $grade->str_long_grade;
+ $return->time = $grade->dategraded;
}
return $return;
}
@@ -171,6 +164,17 @@
function lesson_user_complete($course, $user, $mod, $lesson) {
/// Print a detailed representation of what a user has done with
/// a given particular instance of this module, for user activity reports.
+ global $CFG;
+ require_once("$CFG->libdir/gradelib.php");
+
+ $grades = grade_get_grades($course->id, 'mod', 'lesson', $lesson->id, $user->id);
+ if (!empty($grades->items[0]->grades)) {
+ $grade = reset($grades->items[0]->grades);
+ echo ' '.get_string('grade').': '.$grade->str_long_grade.' '; + if ($grade->str_feedback) { + echo ''.get_string('feedback').': '.$grade->str_feedback.' '; + } + } if ($attempts = get_records_select("lesson_attempts", "lessonid = $lesson->id AND userid = $user->id", "retry, timeseen")) { @@ -210,25 +214,8 @@ } print_table($table); print_simple_box_end(); - // also print grade summary - if ($grades = get_records_select("lesson_grades", "lessonid = $lesson->id AND userid = $user->id", - "grade DESC")) { - foreach ($grades as $grade) { - $max_grade = number_format($grade->grade * $lesson->grade / 100.0, 1); - break; - } - if ($lesson->retake) { - echo "".get_string("gradeis", "lesson", $max_grade)." (". - get_string("attempts", "lesson").": ".count($grades).") "; - } else { - echo "".get_string("gradeis", "lesson", $max_grade)." "; - } - } - } else { - echo get_string("no")." ".get_string("attempts", "lesson"); } - return true; } Index: mod/quiz/lib.php ========================================================= --- mod/quiz/lib.php (revision 1.282.2.22) +++ mod/quiz/lib.php Tue Oct 06 14:24:42 WST 2009 @@ -198,25 +198,36 @@ /// Used for user activity reports. /// $return->time = the time they did it /// $return->info = a short text description - $grade = quiz_get_best_grade($quiz, $user->id); - if (is_null($grade)) { - return NULL; + global $CFG; + require_once("$CFG->libdir/gradelib.php"); + $grades = grade_get_grades($course->id, 'mod', 'quiz', $quiz->id, $user->id); + if (empty($grades->items[0]->grades)) { + return null; + } else { + $grade = reset($grades->items[0]->grades); } $result = new stdClass; - $result->info = get_string('grade') . ': ' . $grade . '/' . $quiz->grade; - $result->time = get_field('quiz_attempts', 'MAX(timefinish)', 'userid', $user->id, 'quiz', $quiz->id); + $result->info = get_string('grade') . ': ' . $grade->str_long_grade; + $result->time = $grade->dategraded; return $result; } function quiz_user_complete($course, $user, $mod, $quiz) { /// Print a detailed representation of what a user has done with /// a given particular instance of this module, for user activity reports. + global $CFG; + require_once("$CFG->libdir/gradelib.php"); + $grades = grade_get_grades($course->id, 'mod', 'quiz', $quiz->id, $user->id); + if (!empty($grades->items[0]->grades)) { + $grade = reset($grades->items[0]->grades); + echo ''.get_string('grade').': '.$grade->str_long_grade.' '; + if ($grade->str_feedback) { + echo ''.get_string('feedback').': '.$grade->str_feedback.' '; + } + } if ($attempts = get_records_select('quiz_attempts', "userid='$user->id' AND quiz='$quiz->id'", 'attempt ASC')) { - if ($quiz->grade && $quiz->sumgrades && $grade = get_record('quiz_grades', 'userid', $user->id, 'quiz', $quiz->id)) { - echo get_string('grade').': '.round($grade->grade, $quiz->decimalpoints).'/'.$quiz->grade.''; - } foreach ($attempts as $attempt) { echo get_string('attempt', 'quiz').' '.$attempt->attempt.': '; if ($attempt->timefinish == 0) { Index: mod/scorm/lib.php ========================================================= --- mod/scorm/lib.php (revision 1.87.2.15) +++ mod/scorm/lib.php Tue Oct 06 14:28:33 WST 2009 @@ -219,10 +219,16 @@ function scorm_user_outline($course, $user, $mod, $scorm) { global $CFG; require_once('locallib.php'); - - $return = scorm_grade_user($scorm, $user->id, true); - - return $return; + require_once("$CFG->libdir/gradelib.php"); + $grades = grade_get_grades($course->id, 'mod', 'scorm', $scorm->id, $user->id); + if (!empty($grades->items[0]->grades)) { + $grade = reset($grades->items[0]->grades); + $result = new object(); + $result->info = get_string('grade') . ': '. $grade->str_long_grade; + $result->time = $grade->dategraded; + return $result; + } + return null; } /** @@ -237,6 +243,7 @@ */ function scorm_user_complete($course, $user, $mod, $scorm) { global $CFG; + require_once("$CFG->libdir/gradelib.php"); $liststyle = 'structlist'; $scormpixdir = $CFG->modpixpath.'/scorm/pix'; @@ -246,6 +253,15 @@ $sometoreport = false; $report = ''; + $grades = grade_get_grades($course->id, 'mod', 'scorm', $scorm->id, $user->id); + if (!empty($grades->items[0]->grades)) { + $grade = reset($grades->items[0]->grades); + echo ' '.get_string('grade').': '.$grade->str_long_grade.' '; + if ($grade->str_feedback) { + echo ''.get_string('feedback').': '.$grade->str_feedback.' '; + } + } + if ($orgs = get_records_select('scorm_scoes',"scorm='$scorm->id' AND organization='' AND launch=''",'id','id,identifier,title')) { if (count($orgs) <= 1) { unset($orgs); |