Notices from T/F question is you submit without answering in adaptive mode. Merged from OU Moodle.
This commit is contained in:
@@ -161,8 +161,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) {
|
||||
@@ -173,7 +178,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);
|
||||
}
|
||||
@@ -193,8 +198,8 @@ class question_truefalse_qtype extends default_questiontype {
|
||||
. s($falseanswer->answer) . '</label>';
|
||||
|
||||
$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);
|
||||
}
|
||||
|
||||
@@ -202,7 +207,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;
|
||||
|
||||
Reference in New Issue
Block a user