function quiz_question_answering_form_submit_blank in Quiz 7.6
Same name and namespace in other branches
- 7.5 question_types/quiz_question/quiz_question.module \quiz_question_answering_form_submit_blank()
Submit action for "leave blank".
1 string reference to 'quiz_question_answering_form_submit_blank'
- quiz_question_answering_form in question_types/
quiz_question/ quiz_question.module - Get the form to show to the quiz taker.
File
- question_types/
quiz_question/ quiz_question.module, line 262 - Quiz Question module. This module provides the basic facilities for adding quiz question types to a quiz.
Code
function quiz_question_answering_form_submit_blank($form, &$form_state) {
$quiz_result = quiz_result_load($_SESSION['quiz'][arg(1)]['result_id']);
$quiz = node_load($quiz_result->nid, $quiz_result->vid);
foreach (array_keys($form_state['input']['question']) as $nid) {
// Loop over all question inputs provided, and record them as skipped.
$question = node_load($nid);
// Delete the user's answer.
_quiz_question_response_get_instance($quiz_result->result_id, $question)
->delete();
// Mark our question attempt as skipped, reset the correct and points flag.
$qra = quiz_result_answer_load($quiz_result->result_id, $question->nid, $question->vid);
$qra->is_skipped = 1;
$qra->is_correct = 0;
$qra->points_awarded = 0;
$qra->answer_timestamp = REQUEST_TIME;
entity_save('quiz_result_answer', $qra);
quiz_question_goto($quiz, $_SESSION['quiz'][$quiz->nid]['current'] + 1);
}
// Advance to next question.
$form_state['redirect'] = "node/{$quiz->nid}/take/" . $_SESSION['quiz'][$quiz->nid]['current'];
if (!isset($quiz_result->layout[$_SESSION['quiz'][$quiz->nid]['current']])) {
// If this is the last question, finalize the quiz.
quiz_question_answering_form_finalize($form, $form_state);
}
}