MDL-46195 fix error handling.
This commit is contained in:
+1
-1
@@ -230,7 +230,7 @@ class qformat_default {
|
||||
echo "<strong>$message</strong>\n";
|
||||
echo "</div>";
|
||||
|
||||
$this->importerrors++;
|
||||
$this->importerrors++;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user