function multichoice_calculate_result in Quiz 6.6
Same name and namespace in other branches
- 5.2 multichoice.module \multichoice_calculate_result()
- 5 multichoice.module \multichoice_calculate_result()
- 6.2 multichoice.module \multichoice_calculate_result()
- 6.3 question_types/multichoice/multichoice.module \multichoice_calculate_result()
- 6.5 question_types/multichoice/multichoice.module \multichoice_calculate_result()
1 call to multichoice_calculate_result()
- multichoice_evaluate_question in question_types/
multichoice/ multichoice.module - Evaluate whether a question is correct.
File
- question_types/
multichoice/ multichoice.module, line 986 - Multiple choice question type for the Quiz module.
Code
function multichoice_calculate_result(&$result, $tried) {
$correct_answers = array();
$answers = db_query("SELECT answer_id FROM {quiz_multichoice_answers} WHERE nid = %d AND vid = %d AND is_correct = 1", $result->nid, $result->vid);
while ($answer = db_fetch_array($answers)) {
$correct_answers[] = $answer['answer_id'];
}
if (empty($correct_answers)) {
// We are in a personality test. Score doesn't matter. Just return TRUE.
return TRUE;
}
$all_correct = array_values($correct_answers) === array_values($tried);
// Modify result object.
$result->score = $all_correct ? 1 : 0;
$result->is_correct = $all_correct;
return $all_correct;
}