1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
<?PHP // $Id: editquestion.php,v 1.2 2004/07/21 13:01:05 moodler Exp $
if ($question->questiontext and $question->id) {
$answers = quiz_get_answers($question);
foreach ($answers as $multianswer) {
$parsableanswerdef = '{' . $multianswer->norm . ':';
switch ($multianswer->answertype) {
case MULTICHOICE:
$parsableanswerdef .= 'MULTICHOICE:';
break;
case SHORTANSWER:
$parsableanswerdef .= 'SHORTANSWER:';
break;
case NUMERICAL:
$parsableanswerdef .= 'NUMERICAL:';
break;
default:
error("answertype $multianswer->answertype not recognized");
}
$separator= '';
foreach ($multianswer->subanswers as $subanswer) {
$parsableanswerdef .= $separator
. '%' . round(100*$subanswer->fraction) . '%';
$parsableanswerdef .= $subanswer->answer;
if (isset($subanswer->min) && isset($subanswer->max)
and $subanswer->min || $subanswer->max) {
// Special for numerical answers:
$errormargin = $subanswer->answer - $subanswer->min;
$parsableanswerdef .= ":$errormargin";
}
if ($subanswer->feedback) {
$parsableanswerdef .= "#$subanswer->feedback";
}
$separator = '~';
}
$parsableanswerdef .= '}';
$question->questiontext = str_replace
("{#$multianswer->positionkey}", $parsableanswerdef,
$question->questiontext);
}
}
print_heading_with_help(get_string('editingmultianswer', 'quiz'),
'multianswer', 'quiz');
require('multianswer.html');
?>
|