function opigno_quiz_app_course_class_passed in Opigno Quiz App 7
Helper function to check if a user passed the course or class given in parameter.
File
- ./
opigno_quiz_app.module, line 2318 - Module file. Defines module hooks.
Code
function opigno_quiz_app_course_class_passed($nid, $uid = null) {
if ($uid === null) {
global $user;
$uid = $user->uid;
}
// If node is class, get all the courses.
// If node is course, add it in the courses to test.
// If node is none, return false;
$node = node_load($nid);
switch ($node->type) {
case 'class':
// If no course, return true (passed).
if (empty($node->opigno_class_courses[LANGUAGE_NONE])) {
return true;
}
$courses_nids = array_map(function ($entry) {
return $entry['target_id'];
}, $node->opigno_class_courses[LANGUAGE_NONE]);
break;
case 'course':
$courses_nids = array(
$nid,
);
break;
default:
return false;
}
// For each courses, check if it's passed. If one is not, return false.
foreach ($courses_nids as $course_nid) {
if (!opigno_quiz_app_user_passed($course_nid, $uid)) {
return false;
}
}
return true;
}