You are here

function quiz_store_question_result in Quiz 7.5

Same name and namespace in other branches
  1. 8.4 quiz.module \quiz_store_question_result()
  2. 5.2 quiz.module \quiz_store_question_result()
  3. 6.6 quiz.module \quiz_store_question_result()
  4. 6.2 quiz.module \quiz_store_question_result()
  5. 6.3 quiz.module \quiz_store_question_result()
  6. 6.4 quiz.module \quiz_store_question_result()
  7. 6.5 quiz.module \quiz_store_question_result()
  8. 7.6 quiz.module \quiz_store_question_result()
  9. 7 quiz.module \quiz_store_question_result()
  10. 7.4 quiz.module \quiz_store_question_result()

Store a quiz question result.

Parameters

$quiz: The quiz node

$result: Object with data about the result for a question.

$options: Array with options that affect the behavior of this function.

Related topics

1 call to quiz_store_question_result()
quiz_question_answering_form_submit in question_types/quiz_question/quiz_question.module
Submit handler for the question answering form.

File

./quiz.module, line 2002
quiz.module Main file for the Quiz module.

Code

function quiz_store_question_result($quiz, $result, $options) {

  // Insert result data, or update existing data.
  $result_answer_id = db_query("SELECT result_answer_id\n    FROM {quiz_node_results_answers}\n    WHERE question_nid = :question_nid\n    AND question_vid = :question_vid\n    AND result_id = :result_id", array(
    ':question_nid' => $result->nid,
    ':question_vid' => $result->vid,
    ':result_id' => $result->result_id,
  ))
    ->fetchField();
  $entity = (object) array(
    'result_answer_id' => $result_answer_id,
    'question_nid' => $result->nid,
    'question_vid' => $result->vid,
    'result_id' => $result->result_id,
    'is_correct' => (int) $result->is_correct,
    'points_awarded' => $result->score,
    'answer_timestamp' => REQUEST_TIME,
    'is_skipped' => (int) $result->is_skipped,
    'is_doubtful' => (int) $result->is_doubtful,
    'number' => $options['question_data']['number'],
  );
  entity_save('quiz_result_answer', $entity);
}