You are here

function long_answer_get_answer in Quiz 7

Same name and namespace in other branches
  1. 8.4 question_types/long_answer/long_answer.module \long_answer_get_answer()
  2. 6.6 question_types/long_answer/long_answer.module \long_answer_get_answer()
  3. 6.3 question_types/long_answer/long_answer.module \long_answer_get_answer()
  4. 6.4 question_types/long_answer/long_answer.module \long_answer_get_answer()
  5. 6.5 question_types/long_answer/long_answer.module \long_answer_get_answer()
  6. 7.6 question_types/long_answer/long_answer.module \long_answer_get_answer()
  7. 7.4 question_types/long_answer/long_answer.module \long_answer_get_answer()

Get the answer for a question.

This stores a score for a long answer question and marks that question as having been evaluated.

Parameters

$nid: Node ID of question.

$vid: Version ID of question.

$rid: Result ID for the quiz results.

Return value

Assoc array An array if successful, or FALSE if no result could be found. The array contains the following properties: <code> answer_id; // The answer ID answer; // The full text of the answer is_evaluated; // 0 if the question has not been evaluated, 1 if it has score; // The score the evaluator gave the user; this should be 0 if is_evaluated is 0. question_vid question_nid result_id </code>

2 calls to long_answer_get_answer()
LongAnswerUnitTest::unitTestGetAnswer in question_types/long_answer/long_answer.test
long_answer_edit_score in question_types/long_answer/long_answer.admin.inc
Page handler for displaying a scoring form. This function is called directly from the menu router. It generates a form for scoring a quiz.

File

question_types/long_answer/long_answer.module, line 204
This module defines a long answer question type for quizzes.

Code

function long_answer_get_answer($question_nid, $question_vid, $result_id) {
  $result = db_query('SELECT answer_id, answer, la.is_evaluated, la.score, question_vid, question_nid, la.result_id, rel.max_score AS rel_max_score FROM {quiz_long_answer_user_answers} la
    JOIN {quiz_node_results} qnr ON (la.result_id = qnr.result_id)
    JOIN {quiz_node_relationship} rel ON (qnr.vid = rel.parent_vid AND rel.child_vid = la.question_vid)
    WHERE question_nid = :qnid AND question_vid = :qvid AND la.result_id = :rid', array(
    ':qnid' => $question_nid,
    ':qvid' => $question_vid,
    ':rid' => $result_id,
  ))
    ->fetchAssoc();
  return $result ? $result : FALSE;
}