function workshop_gradinggrade($workshop, $student) { // returns the current (external) grading grade of the based on their (cold) assessments // (needed as it's called by grade) global $CFG; require_once dirname(__FILE__) . '/locallib.php'; $gradinggrade = 0; if ($assessments = workshop_get_user_assessments_done($workshop, $student)) { $n = 0; foreach ($assessments as $assessment) { $gradinggrade += $assessment->gradinggrade; $n++; } if ($n < $workshop->ntassessments + $workshop->nsassessments) { // the minimum students should do $n = $workshop->ntassessments + $workshop->nsassessments; } $gradinggrade = $gradinggrade / $n; } return number_format($gradinggrade * $workshop->gradinggrade / 100, 1); }
function workshop_print_user_assessments($workshop, $user, &$gradinggrade) { // Returns the number of assessments and a hyperlinked list of grading grades for the assessments made by this user if (!($cm = get_coursemodule_from_instance("workshop", $workshop->id, $workshop->course))) { error("Course Module ID was incorrect"); } $gradinggrade = 0; $n = 0; $str = ''; if ($assessments = workshop_get_user_assessments_done($workshop, $user)) { foreach ($assessments as $assessment) { $gradinggrade += $assessment->gradinggrade; $n++; $str .= "<a href=\"viewassessment.php?aid={$assessment->id}\">"; if ($assessment->timegraded) { if ($assessment->gradinggrade) { $str .= "{" . number_format($assessment->grade * $workshop->grade / 100, 0); if ($assessment->teachergraded) { $str .= " [" . number_format($assessment->gradinggrade * $workshop->gradinggrade / 100) . "]}</a> "; } else { $str .= " (" . number_format($assessment->gradinggrade * $workshop->gradinggrade / 100) . ")}</a> "; } } else { $str .= "<" . number_format($assessment->grade * $workshop->grade / 100, 0) . " (0)></a> "; } } else { $str .= "{" . number_format($assessment->grade * $workshop->grade / 100, 0) . " (-)}</a> "; } $str .= '<br />'; } } else { $str = "0"; } if ($n = max($n, $workshop->ntassessments + $workshop->nsassessments)) { $gradinggrade = number_format($gradinggrade / $n * $workshop->gradinggrade / 100, 1); } return $str; }