Bug #3481 - wildcard problem in cloze question. Thanks to Joseph Rezeau. Merged from MOODLE_16_STABLE, not a straight merge becuase of other 1.7 changes.

This commit is contained in:
tjhunt
2006-08-18 10:29:34 +00:00
parent d100b8a04d
commit bc2defd5f8
+3 -21
View File
@@ -234,32 +234,14 @@ class embedded_cloze_qtype extends default_questiontype {
$chosenanswer = null;
switch ($wrapped->qtype) {
case 'numerical':
$testedstate = clone($state);
$testedstate->responses[''] = $response;
$raw_grade = 0;
foreach ($answers as $answer) {
if($QTYPES[$wrapped->qtype]
->test_response($wrapped, $testedstate, $answer)) {
if (empty($raw_grade) || $raw_grade < $answer->fraction) {
$chosenanswer = clone($answer);
$raw_grade = $answer->fraction;
}
}
}
break;
case 'shortanswer':
$testedstate = clone($state);
$testedstate->responses[''] = $response;
$teststate = clone($state);
$raw_grade = 0;
foreach ($answers as $answer) {
$teststate->responses[''] = trim($answer->answer);
if($QTYPES[$wrapped->qtype]
->compare_responses($wrapped, $testedstate, $teststate)) {
if (empty($raw_grade) || $raw_grade < $answer->fraction) {
$chosenanswer = clone($answer);
$raw_grade = $answer->fraction;
}
->test_response($wrapped, $testedstate, $answer)) {
$chosenanswer = clone($answer);
break;
}
}
break;