function quiz_question_quiz_question_score in Quiz 8.5
Same name and namespace in other branches
- 8.6 question_types/quiz_question/quiz_question.module \quiz_question_quiz_question_score()
- 8.4 question_types/quiz_question/quiz_question.module \quiz_question_quiz_question_score()
- 6.6 question_types/quiz_question/quiz_question.module \quiz_question_quiz_question_score()
- 6.3 question_types/quiz_question/quiz_question.module \quiz_question_quiz_question_score()
- 6.4 question_types/quiz_question/quiz_question.module \quiz_question_quiz_question_score()
- 6.5 question_types/quiz_question/quiz_question.module \quiz_question_quiz_question_score()
- 7.6 question_types/quiz_question/quiz_question.module \quiz_question_quiz_question_score()
- 7 question_types/quiz_question/quiz_question.module \quiz_question_quiz_question_score()
- 7.4 question_types/quiz_question/quiz_question.module \quiz_question_quiz_question_score()
- 7.5 question_types/quiz_question/quiz_question.module \quiz_question_quiz_question_score()
Implements hook_quiz_question_score().
File
- question_types/
quiz_question/ quiz_question.module, line 68 - Quiz Question module.
Code
function quiz_question_quiz_question_score($quiz, $question_nid, $question_vid = NULL, $result_id = NULL) {
if (!isset($quiz) && !isset($result_id)) {
return quiz_question_get_max_score($question_nid, $question_vid);
}
// We avoid using node_load to increase performance...
$dummy_node = new stdClass();
$dummy_node->nid = $question_nid;
$dummy_node->vid = $question_vid;
$question = _quiz_question_get_instance($dummy_node, TRUE);
if (!$question) {
return FALSE;
}
$score = new stdClass();
$score->possible = $question
->getMaximumScore();
$score->question_nid = $question->node->nid;
$score->question_vid = $question->node->vid;
if (isset($result_id)) {
$response = _quiz_question_response_get_instance($result_id, $question->node);
$score->attained = $score->possible > 0 ? $response
->getScore() : 0;
$score->possible = $response
->getMaxScore();
$score->is_evaluated = $response
->isEvaluated();
}
return $score;
}