function quiz_take_question_feedback_form in Quiz 7.5
Show feedback for a question response.
1 string reference to 'quiz_take_question_feedback_form'
- quiz_menu in ./
quiz.module - Implements hook_menu().
File
- ./
quiz.module, line 3560 - quiz.module Main file for the Quiz module.
Code
function quiz_take_question_feedback_form($form, &$form_state, $quiz, $question_number) {
$form = array();
if (empty($_SESSION['quiz'][$quiz->nid]['result_id'])) {
$result_id = $_SESSION['quiz']['temp']['result_id'];
}
else {
$result_id = $_SESSION['quiz'][$quiz->nid]['result_id'];
}
$quiz_result = quiz_result_load($result_id);
$form['actions']['#type'] = 'actions';
if ($quiz_result->time_end) {
// Quiz is done.
$form['actions']['finish'] = array(
'#type' => 'submit',
'#submit' => array(
'quiz_take_question_feedback_end_submit',
),
'#value' => t('Finish'),
);
}
else {
$form['actions']['next'] = array(
'#type' => 'submit',
'#submit' => array(
'quiz_take_question_feedback_submit',
),
'#value' => t('Next question'),
);
}
// Add feedback.
$out = array();
foreach ($quiz_result
->getLayout() as $question) {
if ($question['number'] == $question_number && $question['qnr_pid']) {
// Question is in a page.
foreach ($quiz_result
->getLayout() as $question2) {
if ($question2['qnr_pid'] == $question['qnr_pid']) {
$qra = entity_load_single('quiz_result_answer', $question2['result_answer_id']);
$out[] = array(
'#title' => t('Question @num', array(
'@num' => $question2['display_number'],
)),
'#type' => 'fieldset',
'feedback' => $qra
->view(),
);
}
}
}
}
// Single question.
if (empty($out)) {
$layout = $quiz_result
->getLayout();
$qra = entity_load_single('quiz_result_answer', $layout[$question_number]['result_answer_id']);
$out[] = array(
'#title' => t('Question @num', array(
'@num' => $layout[$question_number]['display_number'],
)),
'#type' => 'fieldset',
'feedback' => $qra
->view(),
);
}
$form['feedback'] = $out;
return $form;
}