[Aimmath-commit] moodle/mod/math_assignment lib.php,1.43,1.44
Brought to you by:
gustav_delius,
npstrick
From: <gus...@us...> - 2004-01-11 13:15:36
|
Update of /cvsroot/aimmath/moodle/mod/math_assignment In directory sc8-pr-cvs1:/tmp/cvs-serv2210 Modified Files: lib.php Log Message: now gradestable also contains the average grade in the class. When a math_assignment is deleted the corresponding grades are not deleted. Index: lib.php =================================================================== RCS file: /cvsroot/aimmath/moodle/mod/math_assignment/lib.php,v retrieving revision 1.43 retrieving revision 1.44 diff -C2 -d -r1.43 -r1.44 *** lib.php 16 Nov 2003 18:38:23 -0000 1.43 --- lib.php 11 Jan 2004 13:15:33 -0000 1.44 *************** *** 145,149 **** /// Given an ID of an instance of this module, /// this function will permanently delete the instance ! /// and any data that depends on it. $result = true; --- 145,151 ---- /// Given an ID of an instance of this module, /// this function will permanently delete the instance ! /// but not the grades associated with it. ! /// This should be changed and the module and its grades should be ! /// moved to separate tables instead of being deleted. $result = true; *************** *** 153,160 **** } - if (! delete_records("math_assignment_grades", "assignment", "$id")) { - $result = false; - } - return $result; } --- 155,158 ---- *************** *** 255,261 **** } // If there is only an aim quiz dont display grades until after due date ! else if ($math_assignment->papergrade <= 0 and $math_assignment->timedue > time()) { ! return false; ! } else { $return->maxgrade = $math_assignment->papergrade+ $math_assignment->aimgrade; $return->grades = math_assignment_get_grades($math_assignment, "id", "asc"); --- 253,260 ---- } // If there is only an aim quiz dont display grades until after due date ! // This actually turned out to be a nuisance so I am commenting this out ! //else if ($math_assignment->papergrade <= 0 and $math_assignment->timedue > time()) { ! // return false; ! //} else { $return->maxgrade = $math_assignment->papergrade+ $math_assignment->aimgrade; $return->grades = math_assignment_get_grades($math_assignment, "id", "asc"); *************** *** 263,267 **** array_walk($return->grades, create_function('&$val','$val = $val->totalgrade;')); return $return; ! } } --- 262,266 ---- array_walk($return->grades, create_function('&$val','$val = $val->totalgrade;')); return $return; ! //} } *************** *** 1010,1013 **** --- 1009,1013 ---- $strgrade = get_string("grade"); $stropen = get_string("open", "math_assignment"); + $straverage = get_string("average", "math_assignment"); if (! $math_assignments = get_all_instances_in_course("math_assignment", $course)) { *************** *** 1053,1067 **** if ($course->format == "weeks") { ! $table->head = array ($strweek, $strname, $strtimedue, $strproblems, $strsolutions, "$strpaper $strgrade", "$strcomputer $strgrade", "$strtotal $strgrade"); ! $table->align = array ("CENTER", "LEFT", "LEFT", "LEFT", "LEFT", "CENTER", "CENTER", "CENTER"); ! $table->width = array (10, "*", "*", "*", "*", "*", "*", "*"); } else if ($course->format == "topics") { ! $table->head = array ($strtopic, $strname, $strtimedue, $strproblems, $strsolutions, "$strpaper $strgrade", "$strcomputer $strgrade", "$strtotal $strgrade"); ! $table->align = array ("CENTER", "LEFT", "LEFT", "LEFT", "LEFT", "CENTER", "CENTER", "CENTER"); ! $table->width = array (10, "*", "*", "*", "*", "*", "*", "*"); } else { ! $table->head = array ($strname, $strtimedue, $strproblems, $strsolutions, "$strpaper $strgrade", "$strcomputer $strgrade", "$strtotal $strgrade"); ! $table->align = array ("LEFT", "LEFT", "LEFT", "LEFT", "CENTER", "CENTER", "CENTER"); ! $table->width = array ("*", "*", "*", "*", "*", "*", "*"); } } --- 1053,1067 ---- if ($course->format == "weeks") { ! $table->head = array ($strweek, $strname, $strtimedue, $strproblems, $strsolutions, "$strpaper $strgrade", "$strcomputer $strgrade", "$strtotal $strgrade", $straverage); ! $table->align = array ("CENTER", "LEFT", "LEFT", "LEFT", "LEFT", "CENTER", "CENTER", "CENTER", "CENTER"); ! $table->width = array (10, "*", "*", "*", "*", "*", "*", "*", "*"); } else if ($course->format == "topics") { ! $table->head = array ($strtopic, $strname, $strtimedue, $strproblems, $strsolutions, "$strpaper $strgrade", "$strcomputer $strgrade", "$strtotal $strgrade", $straverage); ! $table->align = array ("CENTER", "LEFT", "LEFT", "LEFT", "LEFT", "CENTER", "CENTER", "CENTER", "CENTER"); ! $table->width = array (10, "*", "*", "*", "*", "*", "*", "*", "*"); } else { ! $table->head = array ($strname, $strtimedue, $strproblems, $strsolutions, "$strpaper $strgrade", "$strcomputer $strgrade", "$strtotal $strgrade", $straverage); ! $table->align = array ("LEFT", "LEFT", "LEFT", "LEFT", "CENTER", "CENTER", "CENTER", "CENTER"); ! $table->width = array ("*", "*", "*", "*", "*", "*", "*", "*"); } } *************** *** 1117,1128 **** if ($math_assignment->papergrade > 0) { if (!$math_assignment->papersheetsreturned) { ! $papergrade = get_string("notpublished", "math_assignment"); } else if ($grade->papergrade >= 0) { ! $papergrade = "<b>$grade->papergrade / $math_assignment->papergrade</b>"; } else if ($grade->papergrade = -1) { ! $papergrade = "<b>-- / $math_assignment->papergrade</b>"; } if ($math_assignment->timedue > time()) { ! $papergrade = $stropen; } } --- 1117,1128 ---- if ($math_assignment->papergrade > 0) { if (!$math_assignment->papersheetsreturned) { ! $papergrade = get_string("notpublished", "math_assignment"); } else if ($grade->papergrade >= 0) { ! $papergrade = "<b>$grade->papergrade / $math_assignment->papergrade</b>"; } else if ($grade->papergrade = -1) { ! $papergrade = "<b>-- / $math_assignment->papergrade</b>"; } if ($math_assignment->timedue > time()) { ! $papergrade = $stropen; } } *************** *** 1132,1145 **** if ($math_assignment->aimgrade > 0) { if ($grade->aimgrade >= 0) { ! $aimgrade = "<b>$grade->aimgrade / $math_assignment->aimgrade</b>"; } else { ! $aimgrade = "<b>-- / $math_assignment->aimgrade</b>"; } // show aimgrade in grey if quiz has not closed yet if ($math_assignment->timedue > time()) { ! $aimgrade = "<span style=\"color: silver \">$aimgrade</span>"; } if ($grade->aimoverride > AIMOVR_RESET) { ! $aimgrade .= " (" . get_string("gradeoverride", "math_assignment") . ")"; } } --- 1132,1145 ---- if ($math_assignment->aimgrade > 0) { if ($grade->aimgrade >= 0) { ! $aimgrade = "<b>$grade->aimgrade / $math_assignment->aimgrade</b>"; } else { ! $aimgrade = "<b>-- / $math_assignment->aimgrade</b>"; } // show aimgrade in grey if quiz has not closed yet if ($math_assignment->timedue > time()) { ! $aimgrade = "<span style=\"color: silver \">$aimgrade</span>"; } if ($grade->aimoverride > AIMOVR_RESET) { ! $aimgrade .= " (" . get_string("gradeoverride", "math_assignment") . ")"; } } *************** *** 1151,1154 **** --- 1151,1164 ---- $maxgrade = $math_assignment->papergrade + $math_assignment->aimgrade; $totalgrade = "<b>$totalgrade / $maxgrade</b>"; + $gr = get_record_sql(" + SELECT avg(least(greatest(papergrade,0), $math_assignment->papergrade) + +least(greatest(aimgrade,0), $math_assignment->aimgrade)) + AS average + FROM {$CFG->prefix}math_assignment_grades + WHERE assignment = '$math_assignment->id' + AND (papergrade >= 0 OR aimgrade >= 0)" + ); + $average = strval(round($gr->average)) . "/$maxgrade"; + // Don't show a total grade if there is an unpublished paper grade if ($math_assignment->timedue > time() or ($math_assignment->papergrade > 0 and !$math_assignment->papersheetsreturned)) { *************** *** 1163,1174 **** if ($solurl) { if ($timenow > $math_assignment->timedue) ! $solutions = "<a href=\"$solurl\" target=\"solutions\">$strviewsolutions</a>"; else ! $solutions = ""; } else $solutions = ""; ! array_push($row, userdate($math_assignment->timedue, "", 99, false), $proburl ? "<a href=\"$proburl\" target=\"problems\">$strviewproblems</a>" : "", $solutions, $papergrade, $aimgrade, $totalgrade); $table->data[] = $row; } --- 1173,1184 ---- if ($solurl) { if ($timenow > $math_assignment->timedue) ! $solutions = "<a href=\"$solurl\" target=\"solutions\">$strviewsolutions</a>"; else ! $solutions = ""; } else $solutions = ""; ! array_push($row, userdate($math_assignment->timedue, "", 99, false), $proburl ? "<a href=\"$proburl\" target=\"problems\">$strviewproblems</a>" : "", $solutions, $papergrade, $aimgrade, $totalgrade, $average); $table->data[] = $row; } |