function long_answer_get_answer in Quiz 6.4
Same name and namespace in other branches
- 8.4 question_types/long_answer/long_answer.module \long_answer_get_answer()
- 6.6 question_types/long_answer/long_answer.module \long_answer_get_answer()
- 6.3 question_types/long_answer/long_answer.module \long_answer_get_answer()
- 6.5 question_types/long_answer/long_answer.module \long_answer_get_answer()
- 7.6 question_types/long_answer/long_answer.module \long_answer_get_answer()
- 7 question_types/long_answer/long_answer.module \long_answer_get_answer()
- 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) {
$sql = "SELECT answer_id, answer, la.is_evaluated, la.score, la.question_vid, la.question_nid, la.result_id, la.answer_feedback, rel.max_score AS rel_max_score, qt.max_score AS term_max_score, qnra.tid\n FROM {quiz_long_answer_user_answers} la\n JOIN {quiz_node_results} qnr ON (la.result_id = qnr.result_id)\n JOIN {quiz_node_results_answers} qnra ON (qnr.result_id = qnra.result_id AND la.question_nid = qnra.question_nid AND la.question_vid = qnra.question_vid)\n LEFT OUTER JOIN {quiz_node_relationship} rel ON (qnr.vid = rel.parent_vid AND rel.child_vid = la.question_vid)\n LEFT OUTER JOIN {quiz_terms} qt ON qnr.nid = qt.nid AND qnr.vid = qt.vid AND qnra.tid = qt.tid\n WHERE la.question_nid = %d AND la.question_vid = %d AND la.result_id = %d";
$results = db_query($sql, $question_nid, $question_vid, $result_id);
if (!$results) {
return FALSE;
}
$answer = db_fetch_object($results);
if ($answer->rel_max_score === NULL) {
$answer->rel_max_score = $answer->term_max_score;
}
return $answer;
}