function opigno_quiz_app_get_class_progression in Opigno Quiz App 7
Helper function to get the class progression in percent
2 calls to opigno_quiz_app_get_class_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_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 2222 - Module file. Defines module hooks.
Code
function opigno_quiz_app_get_class_progression($class_nid, $uid = null) {
if ($uid === null) {
global $user;
$uid = $user->uid;
}
$class = node_load($class_nid);
// If no course, the class is completed
if (empty($class->opigno_class_courses['und'])) {
return 100;
}
// Get the courses that are linked to this class.
// For each course, get the progression
$courses_total_progression = 0;
$nb_courses = 0;
foreach ($class->opigno_class_courses['und'] as $course_value_raw) {
$course_nid = $course_value_raw['target_id'];
$courses_total_progression += opigno_quiz_app_get_course_progression($course_nid, $uid);
$nb_courses++;
}
// If no courses, return 100% completed
// Else, do the average.
if ($nb_courses == 0) {
return 100;
}
else {
return round($courses_total_progression / $nb_courses);
}
}