function _quiz_get_answers in Quiz 7.5
Same name and namespace in other branches
- 8.4 quiz.module \_quiz_get_answers()
- 5.2 quiz.module \_quiz_get_answers()
- 5 quiz.module \_quiz_get_answers()
- 6.6 quiz.module \_quiz_get_answers()
- 6.2 quiz.module \_quiz_get_answers()
- 6.3 quiz.module \_quiz_get_answers()
- 6.4 quiz.module \_quiz_get_answers()
- 6.5 quiz.module \_quiz_get_answers()
- 7.6 quiz.module \_quiz_get_answers()
- 7 quiz.module \_quiz_get_answers()
- 7.4 quiz.module \_quiz_get_answers()
Get answer data for a specific result.
Parameters
$result_id: Result id.
Return value
Array of answers.
Deprecated
This function is no longer called in Quiz core and most likely will be removed.
File
- ./
quiz.module, line 2957 - quiz.module Main file for the Quiz module.
Code
function _quiz_get_answers($quiz, $result_id) {
$questions = array();
$ids = db_query("SELECT question_nid, question_vid, n.type, rs.max_score, qt.max_score as term_max_score\n FROM {quiz_node_results_answers} ra\n LEFT JOIN {node} n ON (ra.question_nid = n.nid)\n LEFT JOIN {quiz_node_results} r ON (ra.result_id = r.result_id)\n LEFT OUTER JOIN {quiz_node_relationship} rs ON (ra.question_vid = rs.child_vid) AND rs.parent_vid = r.vid\n LEFT OUTER JOIN {quiz_terms} qt ON (qt.vid = :vid AND qt.tid = ra.tid)\n WHERE ra.result_id = :rid\n ORDER BY ra.number, ra.answer_timestamp", array(
':vid' => $quiz->vid,
':rid' => $result_id,
));
while ($line = $ids
->fetch()) {
// Questions picked from term id's won't be found in the
// quiz_node_relationship table.
if ($line->max_score === NULL) {
if ($quiz->randomization == 3) {
$line->max_score = $line->term_max_score;
}
}
$module = quiz_question_module_for_type($line->type);
if (!$module) {
continue;
}
$question_node = node_load($line->question_nid, $line->question_vid);
$response = _quiz_question_response_get_instance($result_id, $question_node);
$questions[$line->question_nid] = $response->question;
// Add max score info to the question.
if (!isset($questions[$line->question_nid]->score_weight)) {
if ($questions[$line->question_nid]->max_score == 0) {
$score_weight = 0;
}
else {
$score_weight = $line->max_score / $questions[$line->question_nid]->max_score;
}
$questions[$line->question_nid]->qnr_max_score = $line->max_score;
$questions[$line->question_nid]->score_weight = $score_weight;
}
}
return $questions;
}