$phase = get_string("phase2short", "exercise"); if ($num = exercise_count_unassessed_student_submissions($exercise)) { $phase .= " [" . get_string("unassessed", "exercise", $num) . "]"; } break; case 3: $phase = get_string("phase3short", "exercise"); if ($num = exercise_count_unassessed_student_submissions($exercise)) { $phase .= " [" . get_string("unassessed", "exercise", $num) . "]"; } break; } $table->data[] = array($exercise->section, $link, $title, $phase, $submitted, $due); } else { // it's a student if ($assessments = exercise_get_user_assessments($exercise, $USER)) { // should be only one... foreach ($assessments as $studentassessment) { break; } if ($studentassessment->timegraded) { // it's been assessed if ($teacherassessment = exercise_get_submission_assessment($submission)) { $actualgrade = number_format($studentassessment->gradinggrade * $exercise->gradinggrade / 100.0 + $teacherassessment->grade * $exercise->grade / 100.0, 1); if ($submission->late) { $actualgrade = "<font color=\"red\">(" . $actualgrade . ")<font color=\"red\">"; } $actualgrade .= " (" . get_string("maximumshort") . ": " . number_format($exercise->gradinggrade + $exercise->grade, 0) . ")"; $table->data[] = array($exercise->section, $link, $title, $actualgrade, $submitted, $due); } } else {
echo "<tr><td><b>" . get_string("maximumgrade") . "</b></td>"; echo "<td><b> </b></td>\n"; echo "<td align=\"center\"><b>{$exercise->gradinggrade}</b></td>\n"; echo "<td align=\"center\"><b>{$exercise->grade}</b></td>\n"; echo "<td><b> </b></td></tr>\n"; foreach ($users as $user) { // check group membership, if necessary if ($groupid) { // check user's group if (!groups_is_member($groupid, $user->id)) { continue; // skip this user } } // first get user's own assessment reord, it should contain their grading grade if ($ownassessments = exercise_get_user_assessments($exercise, $user)) { foreach ($ownassessments as $ownassessment) { break; // there should only be one } } else { $ownassessment->gradinggrade = 0; } if ($submissions = exercise_get_user_submissions($exercise, $user)) { foreach ($submissions as $submission) { if ($assessments = exercise_get_assessments($submission)) { foreach ($assessments as $assessment) { // (normally there should only be one $gradinggrade = number_format($ownassessment->gradinggrade * $exercise->gradinggrade / 100.0, 1); $grade = number_format($assessment->grade * $exercise->grade / 100.0, 1); $overallgrade = number_format($assessment->grade * $exercise->grade / 100.0 + $ownassessment->gradinggrade * $exercise->gradinggrade / 100.0, 1);
function exercise_print_user_assessments($exercise, $user) { // Returns the number of assessments and a hyperlinked list of grading grades for the assessments made by this user if ($assessments = exercise_get_user_assessments($exercise, $user)) { $n = count($assessments); $str = "{$n} ("; foreach ($assessments as $assessment) { if ($assessment->timegraded) { $gradingscaled = round($assessment->gradinggrade * $exercise->gradinggrade / 100.0); $str .= "<a href=\"assessments.php?action=viewassessment&a={$exercise->id}&aid={$assessment->id}\">"; $str .= "{$gradingscaled}</a> "; } else { $str .= "<a href=\"assessments.php?action=viewassessment&a={$exercise->id}&aid={$assessment->id}\">"; $str .= "-</a> "; } } $str .= ")"; } else { $str = "0"; } return $str; }