function opigno_statistics_app_handle_new_quiz_score in Opigno Statistics App 7
Handle new quiz score coming from quiz hooks
Parameters
$quiz:
$score:
2 calls to opigno_statistics_app_handle_new_quiz_score()
- opigno_statistics_app_quiz_finished in ./
opigno_statistics_app.module - Implements hook_quiz_finished().
- opigno_statistics_app_quiz_scored in ./
opigno_statistics_app.module - Implements hook_quiz_scored().
File
- ./
opigno_statistics_app.module, line 391 - Module file. Defines module hooks.
Code
function opigno_statistics_app_handle_new_quiz_score($quiz, $score) {
global $user;
$user_groups = og_get_groups_by_user($user, 'node');
foreach ($quiz->og_group_ref[LANGUAGE_NONE] as $course_nid_array) {
$course_nid = $course_nid_array['target_id'];
// If the user is not part of the course, don't save his stats for this course
if (!in_array($course_nid, $user_groups)) {
break;
}
$course = node_load($course_nid);
$passed = $score['percentage_score'] >= $quiz->pass_rate ? OPIGNO_STATISTICS_APP_STATUS_PASSED : OPIGNO_STATISTICS_APP_STATUS_NOT_PASSED;
$required = opigno_statistics_app_is_lesson_required_in_course($quiz, $course);
opigno_statistics_app_insert_user_course_if_not_exist($course_nid);
$user_course_id = opigno_statistics_app_query_user_course_find_id_by_uid_and_course_nid($user->uid, $course_nid);
opigno_statistics_app_query_user_course_details_insert_or_update_best_score($user_course_id, $quiz->type, $quiz->nid, $quiz->title, $score['percentage_score'], $passed, $required);
opigno_statistics_app_query_user_course_update_score($user_course_id);
}
}