MDL-46195 fix error handling.

This commit is contained in:
Tim Hunt
2014-09-08 22:24:38 +01:00
parent efe2f20335
commit b5e613e4ec
2 changed files with 9 additions and 18 deletions
+1 -1
View File
@@ -230,7 +230,7 @@ class qformat_default {
echo "<strong>$message</strong>\n";
echo "</div>";
$this->importerrors++;
$this->importerrors++;
}
/**
+8 -17
View File
@@ -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 '<p>'.get_string('errorsdetected', 'qformat_webct', count($errors)).'</p><ul>';
foreach ($errors as $error) {
echo "<li>$error</li>";
}
echo '</ul>';
unset($questions); // No questions imported.
}
if (count($warnings) > 0) {
echo '<p>'.get_string('warningsdetected', 'qformat_webct', count($warnings)).'</p><ul>';
foreach ($warnings as $warning) {