From: tjhunt Date: Wed, 21 Mar 2007 00:19:24 +0000 (+0000) Subject: MDL-8978 - Regression from MDL-6386. Merged from MOODLE_16_STABLE. X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=77fa3a0dad5d4cfd7a6d137172b6adcd3a30bbe0;p=moodle.git MDL-8978 - Regression from MDL-6386. Merged from MOODLE_16_STABLE. --- diff --git a/question/type/multianswer/questiontype.php b/question/type/multianswer/questiontype.php index 971d29dc0a..57539b8f32 100644 --- a/question/type/multianswer/questiontype.php +++ b/question/type/multianswer/questiontype.php @@ -75,11 +75,11 @@ class embedded_cloze_qtype extends default_questiontype { if ($oldwrappedid = array_shift($oldwrappedids)) { $wrapped->id = $oldwrappedid; } - $wrapped->name = $question->name; - $wrapped->parent = $question->id; + $wrapped->name = $question->name; + $wrapped->parent = $question->id; $wrapped->category = $question->category; $wrapped = $QTYPES[$wrapped->qtype]->save_question($wrapped, - $wrapped, $question->course); + $wrapped, $question->course); $sequence[] = $wrapped->id; } @@ -91,12 +91,11 @@ class embedded_cloze_qtype extends default_questiontype { $multianswer = new stdClass; $multianswer->question = $question->id; $multianswer->sequence = implode(',', $sequence); - if ($oldid = - get_field('question_multianswer', 'id', 'question', $question->id)) { + if ($oldid = get_field('question_multianswer', 'id', 'question', $question->id)) { $multianswer->id = $oldid; if (!update_record("question_multianswer", $multianswer)) { $result->error = "Could not update cloze question options! " . - "(id=$multianswer->id)"; + "(id=$multianswer->id)"; return $result; } } else { @@ -123,7 +122,7 @@ class embedded_cloze_qtype extends default_questiontype { $form->defaultgrade = $question->defaultgrade; $form->questiontext = $question->questiontext; $form->questiontextformat = 0; - $form->options = clone($question->options); + $form->options = clone($question->options); unset($question->options); return parent::save_question($question, $form, $course); } @@ -142,24 +141,23 @@ class embedded_cloze_qtype extends default_questiontype { foreach ($responses as $response) { $tmp = explode("-", $response); // restore encoded characters - $state->responses[$tmp[0]] = - str_replace(array(",", "-"), array(",", "-"), $tmp[1]); + $state->responses[$tmp[0]] = str_replace(array(",", "-"), + array(",", "-"), $tmp[1]); } return true; } function save_session_and_responses(&$question, &$state) { $responses = $state->responses; + // encode - (hyphen) and , (comma) to - because they are used as + // delimiters array_walk($responses, create_function('&$val, $key', - // encode - (hyphen) and , (comma) to - because they are used as - // delimiters - '$val = str_replace(array(",", "-"), array(",", "-"), $val); - $val = "$key-$val";')); + '$val = str_replace(array(",", "-"), array(",", "-"), $val); + $val = "$key-$val";')); $responses = implode(',', $responses); // Set the legacy answer field - if (!set_field('question_states', 'answer', $responses, 'id', - $state->id)) { + if (!set_field('question_states', 'answer', $responses, 'id', $state->id)) { return false; } return true; @@ -214,8 +212,7 @@ class embedded_cloze_qtype extends default_questiontype { } $qtextremaining = format_text($question->questiontext, - $question->questiontextformat, - $formatoptions, $cmoptions->course); + $question->questiontextformat, $formatoptions, $cmoptions->course); $strfeedback = get_string('feedback', 'quiz'); @@ -231,8 +228,7 @@ class embedded_cloze_qtype extends default_questiontype { $positionkey = $regs[1]; $wrapped = &$question->options->questions[$positionkey]; $answers = &$wrapped->options->answers; - $correctanswers = $QTYPES[$wrapped->qtype] - ->get_correct_responses($wrapped, $state); + $correctanswers = $QTYPES[$wrapped->qtype]->get_correct_responses($wrapped, $state); $inputname = $nameprefix.$positionkey; if (isset($state->responses[$positionkey])) { @@ -306,9 +302,12 @@ class embedded_cloze_qtype extends default_questiontype { case 'multichoice': $outputoptions = ''; // Default empty option foreach ($answers as $mcanswer) { - $selected = $response == $mcanswer->id - ? ' selected="selected" ' : ''; - $outputoptions .= ''; + $selected = ''; + if ($response == $mcanswer->id) { + $selected = ' selected="selected"'; + } + $outputoptions .= "'; } // In the next line, $readonly is invalid HTML, but it works in // all browsers. $disabled would be valid, but then the JS for