From: moodler Date: Wed, 1 Jan 2003 06:42:11 +0000 (+0000) Subject: Grade display for current user X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=b0cef1ec4570cfbe91e8425ede53904ba7ffca45;p=moodle.git Grade display for current user --- diff --git a/course/grade.php b/course/grade.php new file mode 100644 index 0000000000..c7a9d03d24 --- /dev/null +++ b/course/grade.php @@ -0,0 +1,99 @@ +id); + + $strgrades = get_string("grades"); + $strgrade = get_string("grade"); + $strmax = get_string("maximumshort"); + $stractivityreport = get_string("activityreport"); + + +/// Get a list of all students + + $columnhtml = array(); // Accumulate column html in this array. + $grades = array(); // Collect all grades in this array + $maxgrades = array(); // Collect all max grades in this array + $totalgrade = 0; + + +/// Collect modules data + get_all_mods($course->id, $mods, $modnames, $modnamesplural, $modnamesused); + + +/// Search through all the modules, pulling out grade data + $sections = get_all_sections($course->id); // Sort everything the same as the course + for ($i=0; $i<=$course->numsections; $i++) { + if (isset($sections[$i])) { // should always be true + $section = $sections[$i]; + if (!empty($section->sequence)) { + $sectionmods = explode(",", $section->sequence); + foreach ($sectionmods as $sectionmod) { + $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); + $gradefunction = $mod->modname."_grades"; + if (function_exists($gradefunction)) { // Skip modules without grade function + if ($modgrades = $gradefunction($mod->instance)) { + + $image = "wwwroot/mod/$mod->modname/view.php?id=$mod->id\"". + " TITLE=\"$mod->modfullname\">". + "modname/icon.gif\" ". + "HEIGHT=16 WIDTH=16 ALT=\"$mod->modfullname\">"; + $columnhtml[] = "$image ". + "wwwroot/mod/$mod->modname/view.php?id=$mod->id\">". + "$instance->name". + "$maxgrade"; + + $grades[] = $modgrades->grades[$USER->id]; // may be empty, that's ok + + $maxgrades[] = $modgrades->maxgrade; + + if (!empty($modgrades->maxgrade)) { + $totalgrade += (float)$modgrades->grades[$USER->id]; + } + } + } + } + } + } + } + } + + +/// OK, we have all the data, now present it to the user + + print_header("$course->shortname: $strgrades", "$course->fullname", + "wwwroot/course/view.php?id=$course->id\">$course->shortname + -> $strgrades"); + + print_heading($strgrades); + + $table->head = array( get_string("activity"), get_string("maximumgrade"), get_string("grade")); + $table->align = array("LEFT", "RIGHT", "RIGHT"); + + foreach ($grades as $key => $grade) { + $table->data[] = array($columnhtml[$key], $maxgrades[$key], $grade); + } + + $table->data[] = array("", get_string("total"), $totalgrade); + + print_table($table); + + print_continue("view.php?id=$course->id"); + + print_footer($course); + +?>