function quiz_quiz_scored in Quiz 7
Same name and namespace in other branches
- 6.4 quiz.module \quiz_quiz_scored()
- 7.6 quiz.module \quiz_quiz_scored()
- 7.4 quiz.module \quiz_quiz_scored()
Implements hook_quiz_scored().
Performs actions like sending quiz results over email at the end of quiz.
Related topics
File
- ./
quiz.module, line 2360 - Quiz Module
Code
function quiz_quiz_scored($quiz, $score, $rid) {
global $user;
if (variable_get('quiz_email_results', 0) && $user->uid != 0 && $score['is_evaluated']) {
drupal_mail('quiz', 'notice', $user->mail, NULL, array(
$quiz,
$score,
$rid,
'taker',
));
drupal_set_message(t('The results has been sent to the users e-mail address.'));
}
// Calls userpoints functions to credit user point based on number of correct
// answers.
if ($quiz->has_userpoints && $user->uid != 0 && $score['is_evaluated']) {
//Looking up the tid of the selected Userpoint vocabulary
$selected_tid = db_query("SELECT tid FROM {taxonomy_term_node}\n WHERE nid = :nid AND vid = :vid AND tid IN (\n SELECT tid\n FROM {taxonomy_term_data}\n WHERE vid = :vid\n )", array(
':nid' => $quiz->nid,
':vid' => $quiz->vid,
':vid' => userpoints_get_vid(),
))
->fetchField();
$variables = array(
'@title' => $quiz->title,
'@quiz' => variable_get('quiz_name', QUIZ_NAME),
'@time' => date('l jS \\of F Y h:i:s A'),
);
$params = array(
'points' => $score['numeric_score'],
'description' => t('Attened @title @quiz on @time', $variables),
'tid' => $selected_tid,
);
userpoints_userpointsapi($params);
}
}