From 38dbf2c4ed4eb6ed6f2c6d0d7fc97b56d58bb41d Mon Sep 17 00:00:00 2001 From: tjhunt Date: Tue, 19 Jun 2007 16:35:54 +0000 Subject: [PATCH] Notices from T/F question is you submit without answering in adaptive mode. Merged from OU Moodle. --- question/type/truefalse/questiontype.php | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/question/type/truefalse/questiontype.php b/question/type/truefalse/questiontype.php index 3f5cee0f0f..b436f7d211 100644 --- a/question/type/truefalse/questiontype.php +++ b/question/type/truefalse/questiontype.php @@ -165,8 +165,13 @@ class question_truefalse_qtype extends default_questiontype { $falsefeedbackimg = ''; // Work out which radio button to select (if any) - $truechecked = ($state->responses[''] == $trueanswer->id) ? ' checked="checked"' : ''; - $falsechecked = ($state->responses[''] == $falseanswer->id) ? ' checked="checked"' : ''; + if (isset($state->responses[''])) { + $response = $state->responses['']; + } else { + $response = ''; + } + $truechecked = ($response == $trueanswer->id) ? ' checked="checked"' : ''; + $falsechecked = ($response == $falseanswer->id) ? ' checked="checked"' : ''; // Work out visual feedback for answer correctness. if ($options->feedback) { @@ -177,7 +182,7 @@ class question_truefalse_qtype extends default_questiontype { } } if ($options->feedback || $options->correct_responses) { - if (isset($answers[$state->responses['']])) { + if (isset($answers[$response])) { $truefeedbackimg = question_get_feedback_image($trueanswer->fraction, !empty($truechecked) && $options->feedback); $falsefeedbackimg = question_get_feedback_image($falseanswer->fraction, !empty($falsechecked) && $options->feedback); } @@ -197,8 +202,8 @@ class question_truefalse_qtype extends default_questiontype { . s($falseanswer->answer) . ''; $feedback = ''; - if ($options->feedback and isset($answers[$state->responses['']])) { - $chosenanswer = $answers[$state->responses['']]; + if ($options->feedback and isset($answers[$response])) { + $chosenanswer = $answers[$response]; $feedback = format_text($chosenanswer->feedback, true, $formatoptions, $cmoptions->course); } @@ -206,7 +211,7 @@ class question_truefalse_qtype extends default_questiontype { } function grade_responses(&$question, &$state, $cmoptions) { - if (isset($question->options->answers[$state->responses['']])) { + if (isset($state->responses['']) && isset($question->options->answers[$state->responses['']])) { $state->raw_grade = $question->options->answers[$state->responses['']]->fraction * $question->maxgrade; } else { $state->raw_grade = 0; -- 2.39.5