From b5e613e4ec0df0d759f4d508afd028aee2ec480c Mon Sep 17 00:00:00 2001 From: Tim Hunt Date: Sat, 6 Sep 2014 20:40:49 +0100 Subject: [PATCH] MDL-46195 fix error handling. --- question/format.php | 2 +- question/format/webct/format.php | 25 ++++++++----------------- 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/question/format.php b/question/format.php index 39599826e3d..a525b6d595a 100644 --- a/question/format.php +++ b/question/format.php @@ -230,7 +230,7 @@ class qformat_default { echo "$message\n"; echo ""; - $this->importerrors++; + $this->importerrors++; } /** diff --git a/question/format/webct/format.php b/question/format/webct/format.php index dbe7c734d56..d77d28f3e07 100644 --- a/question/format/webct/format.php +++ b/question/format/webct/format.php @@ -337,7 +337,6 @@ class qformat_webct extends qformat_default { '[+-]?([0-9]+(\\.[0-9]*)?|\\.[0-9]+)((e|E|\\*10\\*\\*)([+-]?[0-9]+|\\([+-]?[0-9]+\\)))?'; $questions = array(); - $errors = array(); $warnings = array(); $webctoptions = array(); @@ -453,7 +452,7 @@ class qformat_webct extends qformat_default { $questionok = false; } if (count($question->answer) < 1) { // A question must have at least 1 answer. - $errors[] = get_string('missinganswer', 'qformat_webct', $nquestionstartline); + $this->error(get_string('missinganswer', 'qformat_webct', $nquestionstartline), '', $question->name); $questionok = false; } else { // Create empty feedback array. @@ -497,8 +496,8 @@ class qformat_webct extends qformat_default { case 'shortanswer': if ($maxfraction != 1) { $maxfraction = $maxfraction * 100; - $errors[] = "'$question->name': ".get_string('wronggrade', 'qformat_webct', $nlinecounter) - .' '.get_string('fractionsnomax', 'question', $maxfraction); + $this->error(get_string('wronggrade', 'qformat_webct', $nlinecounter) + .' '.get_string('fractionsnomax', 'question', $maxfraction), '', $question->name);; $questionok = false; } break; @@ -509,16 +508,17 @@ class qformat_webct extends qformat_default { if ($question->single) { if ($maxfraction != 1) { $maxfraction = $maxfraction * 100; - $errors[] = "'$question->name': ".get_string('wronggrade', 'qformat_webct', $nlinecounter) - .' '.get_string('fractionsnomax', 'question', $maxfraction); + $this->error(get_string('wronggrade', 'qformat_webct', $nlinecounter) + .' '.get_string('fractionsnomax', 'question', $maxfraction), '', $question->name); $questionok = false; } } else { $totalfraction = round($totalfraction, 2); if ($totalfraction != 1) { $totalfraction = $totalfraction * 100; - $errors[] = "'{$question->name}': ".get_string('wronggrade', 'qformat_webct', $nlinecounter) - .' '.get_string('fractionsaddwrong', 'qtype_multichoice', $totalfraction); + $this->error(get_string('wronggrade', 'qformat_webct', $nlinecounter) + .' '.get_string('fractionsaddwrong', 'qtype_multichoice', $totalfraction), + '', $question->name); $questionok = false; } } @@ -850,15 +850,6 @@ class qformat_webct extends qformat_default { } } - if (count($errors) > 0) { - echo '

'.get_string('errorsdetected', 'qformat_webct', count($errors)).'

'; - unset($questions); // No questions imported. - } - if (count($warnings) > 0) { echo '

'.get_string('warningsdetected', 'qformat_webct', count($warnings)).'