You are here

function opigno_quiz_app_course_lessons_progress_and_time in Opigno Quiz App 7

1 call to opigno_quiz_app_course_lessons_progress_and_time()
opigno_quiz_app_preprocess_page in ./opigno_quiz_app.module
Implements hook_preprocess_page().

File

./opigno_quiz_app.module, line 1748
Module file. Defines module hooks.

Code

function opigno_quiz_app_course_lessons_progress_and_time($course_nid, $account = NULL) {
  if ($account == NULL) {
    global $user;
    $account = $user;
    $uid = $account->uid;
  }
  $lessons = opigno_quiz_app_course_lessons($course_nid);
  $lessons_ = array();
  foreach ($lessons as $course_nid => $quizs) {
    foreach ($quizs as $quiz_id => $quiz) {
      $score = quiz_get_score_data(array(
        $quiz_id,
      ), $uid);
      $lessons_[$course_nid][$quiz['vid']] = $score[$quiz['vid']];
      $total_time = 0;
      $all_scores = opigno_quiz_app_get_score_data(array(
        $quiz_id,
      ), $uid);
      foreach ($all_scores as $quiz_nid => $results) {
        foreach ($results as $rid => $score) {
          if ($score->time_end != 0) {
            if (!isset($quiz_total_time[$quiz_nid])) {
              $quiz_total_time[$quiz_nid] = 0;
            }
            $total_time += $score->time_end - $score->time_start;
            $quiz_total_time[$quiz_nid] += $score->time_end - $score->time_start;
          }
        }
      }
      $lessons_[$course_nid][$quiz['vid']]->total_time = $total_time;
    }
  }
  $displayinfo = array();
  $displayinfo['courses'] = $lessons_;
  if (!empty($lessons_)) {
    return theme_opigno_quiz_app_course_lessons($displayinfo);
  }
}