function opigno_quiz_app_get_course_progression in Opigno Quiz App 7
Helper function to get the course progression in percent
3 calls to opigno_quiz_app_get_course_progression()
- opigno_quiz_app_field_course_class_progress::render in views/
opigno_quiz_app_field_course_class_progress.inc - Render the field.
- opigno_quiz_app_get_class_progression in ./
opigno_quiz_app.module - Helper function to get the class progression in percent
- opigno_quiz_app_get_course_class_progression in ./
opigno_quiz_app.module - Helper function to get the course or class progression in percent
File
- ./
opigno_quiz_app.module, line 2189 - Module file. Defines module hooks.
Code
function opigno_quiz_app_get_course_progression($course_nid, $uid = null) {
if ($uid === null) {
global $user;
$uid = $user->uid;
}
// Get all the lessons from this course and get all the best scores for this course
$course = node_load($course_nid);
$quizzes_nids = opigno_quiz_app_get_course_quizzes($course);
$scores = quiz_get_score_data($quizzes_nids, $uid);
// For each lessons, check if the user has tried it.
$passed_lessons = 0;
$total_lessons = count($quizzes_nids);
foreach ($scores as $score) {
// If tried and success, give 1 (total + 1)
if ($score->percent_score >= $score->percent_pass) {
$passed_lessons++;
}
}
// Do percentage (nb success / total)
if ($total_lessons == 0) {
return 100;
}
else {
return round($passed_lessons * 100 / $total_lessons);
}
}