MDL-61107 quiz editing: handle invalid Maximum grade input
authorTim Hunt <T.J.Hunt@open.ac.uk>
Fri, 22 Dec 2017 13:35:29 +0000 (13:35 +0000)
committerTim Hunt <T.J.Hunt@open.ac.uk>
Fri, 22 Dec 2017 13:35:29 +0000 (13:35 +0000)
mod/quiz/edit.php

index 61d9b4f..12abf0d 100644 (file)
@@ -159,8 +159,8 @@ if ((optional_param('addrandom', false, PARAM_BOOL)) && confirm_sesskey()) {
 if (optional_param('savechanges', false, PARAM_BOOL) && confirm_sesskey()) {
 
     // If rescaling is required save the new maximum.
-    $maxgrade = unformat_float(optional_param('maxgrade', -1, PARAM_RAW));
-    if ($maxgrade >= 0) {
+    $maxgrade = unformat_float(optional_param('maxgrade', '', PARAM_RAW_TRIMMED), true);
+    if (is_float($maxgrade) && $maxgrade >= 0) {
         quiz_set_grade($maxgrade, $quiz);
         quiz_update_all_final_grades($quiz);
         quiz_update_grades($quiz, 0, true);