You are here

function quiz_question_answering_form_validate in Quiz 7.5

Same name and namespace in other branches
  1. 7.6 question_types/quiz_question/quiz_question.module \quiz_question_answering_form_validate()

Validation callback for quiz question submit.

File

question_types/quiz_question/quiz_question.module, line 887
Quiz Question module.

Code

function quiz_question_answering_form_validate(&$form, &$form_state) {
  $quiz = node_load($form['#quiz']['nid'], $form['#quiz']['vid']);
  $quiz_result = quiz_result_load($_SESSION['quiz'][$quiz->nid]['result_id']);
  $time_reached = $quiz->time_limit && REQUEST_TIME > $quiz_result->time_start + $quiz->time_limit + variable_get('quiz_time_limit_buffer', 5);
  if ($time_reached) {

    // Let's not validate anything, because the input won't get saved in submit
    // either.
    return;
  }
  foreach (array_keys($form_state['values']['question']) as $nid) {
    $current_question = node_load($nid);
    if ($current_question && empty($form['question'][$nid]['#disabled'])) {

      // There was an answer submitted.
      $quiz_question = _quiz_question_get_instance($current_question);
      $quiz_question
        ->getAnsweringFormValidate($form['question'][$nid]['answer'], $form_state['values']['question'][$nid]['answer']);
    }
  }
}