From 717f432f2da49ab8c2e9422034351a4ddab892aa Mon Sep 17 00:00:00 2001 From: skodak Date: Tue, 13 Nov 2007 16:47:33 +0000 Subject: [PATCH] MDL-12154 used proper cast to float before !== comparison merged from MOODLE_19_STABLE --- lib/grade/grade_item.php | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/lib/grade/grade_item.php b/lib/grade/grade_item.php index f2f1f001ef..6a64222418 100644 --- a/lib/grade/grade_item.php +++ b/lib/grade/grade_item.php @@ -1350,6 +1350,11 @@ class grade_item extends grade_object { return false; } + // we need proper floats here for !== comparison later + if (!is_null($grade->finalgrade)) { + $grade->finalgrade = (float)$grade->finalgrade; + } + $oldgrade = new object(); $oldgrade->finalgrade = $grade->finalgrade; $oldgrade->overridden = $grade->overridden; @@ -1364,12 +1369,11 @@ class grade_item extends grade_object { $grade->overridden = 0; } - if (!is_null($finalgrade)) { - $finalgrade = bounded_number($this->grademin, $finalgrade, $this->grademax); + if (is_null($finalgrade)) { + $grade->finalgrade = null; } else { - $finalgrade = $finalgrade; + $grade->finalgrade = (float)bounded_number($this->grademin, $finalgrade, $this->grademax); } - $grade->finalgrade = $finalgrade; } // do we have comment from teacher? @@ -1463,9 +1467,9 @@ class grade_item extends grade_object { $grade->timecreated = $datesubmitted; if (empty($dategraded)) { - $grade->dategraded = time(); + $grade->timemodified = time(); } else { - $grade->dategraded = $dategraded; + $grade->timemodified = $dategraded; } if ($grade->is_locked()) { @@ -1480,6 +1484,11 @@ class grade_item extends grade_object { return false; } + // we need proper floats here for !== comparison later + if (!is_null($grade->rawgrade)) { + $grade->rawgrade = (float)$grade->rawgrade; + } + $oldgrade = new object(); $oldgrade->finalgrade = $grade->finalgrade; $oldgrade->rawgrade = $grade->rawgrade; @@ -1505,10 +1514,11 @@ class grade_item extends grade_object { $grade->feedbackformat = $feedbackformat; } + if (is_null($grade->rawgrade)) { + $grade->timemodified = null; // dategraded hack - not graded if no grade present, comments do not count here as grading + } + if (empty($grade->id)) { - if (is_null($grade->rawgrade)) { - $grade->dategraded = null; - } $result = (boolean)$grade->insert($source); } else if ($grade->finalgrade !== $oldgrade->finalgrade @@ -1518,9 +1528,6 @@ class grade_item extends grade_object { or $grade->rawscaleid !== $oldgrade->rawscaleid or $grade->feedback !== $oldgrade->feedback or $grade->feedbackformat !== $oldgrade->feedbackformat) { - if (is_null($grade->rawgrade)) { - $grade->dategraded = null; - } $result = $grade->update($source); } -- 2.39.5