function opigno_quiz_app_course_is_started in Opigno Quiz App 7
Helper function to know if a course is started or not by a user.
File
- ./
opigno_quiz_app.module, line 2361 - Module file. Defines module hooks.
Code
function opigno_quiz_app_course_is_started($node_nid, $uid = null) {
if ($uid === null) {
global $user;
$uid = $user->uid;
}
$last_viewed_lesson_in_course = opigno_quiz_app_course_get_last_viewed($node_nid, $uid);
// If the user has not viewed any quiz yet, say "not started"
if (!$last_viewed_lesson_in_course) {
return false;
}
$last_viewed_lesson_in_course_result = $last_viewed_lesson_in_course['result_id'];
$last_viewed_lesson_in_course = $last_viewed_lesson_in_course['quiz_nid'];
// If the user has not finished the latest lesson, say "course started"
if (!opigno_quiz_app_user_finished_quiz_result($last_viewed_lesson_in_course, $last_viewed_lesson_in_course_result, $uid)) {
return true;
}
// If the user has finished the latest lesson he was in, try to find the next one.
$lessons = opigno_quiz_app_course_lessons($node_nid);
if (isset($lessons[$node_nid])) {
$current_position = array_search($last_viewed_lesson_in_course, array_keys($lessons[$node_nid]));
// If the lesson he just finished was the last one, return "not started (finished)"
if ($current_position == count($lessons[$node_nid]) - 1) {
return false;
}
else {
return true;
}
}
return false;
}