You are here

function theme_opigno_quiz_app_course_lessons in Opigno Quiz App 7

Theme callback: display course quizes and results.

1 call to theme_opigno_quiz_app_course_lessons()
opigno_quiz_app_course_lessons_progress_and_time in ./opigno_quiz_app.module

File

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

Code

function theme_opigno_quiz_app_course_lessons($vars) {
  $rows = array();
  if (!empty($vars['courses'])) {
    foreach ($vars['courses'] as $course_id => $lessons) {
      foreach ($lessons as $lesson_id => $lesson) {
        $selected = "";
        if (strpos(current_path(), 'node/' . $lesson->nid) !== false) {
          $selected = "selected";
        }
        $rows[] = array(
          'class' => array(),
          'data' => array(
            l($lesson->title, 'node/' . $lesson->nid . '/take', array(
              'attributes' => array(
                'class' => array(
                  $selected,
                ),
              ),
            )),
            isset($lesson->percent_score) ? '<div class="opigno-quiz-app-group-status-quiz-result-' . ($lesson->percent_score >= $lesson->percent_pass ? "passed" : "failed") . '">' . $lesson->percent_score . '<div>' : '-',
            isset($lesson->total_time) && $lesson->total_time > 0 ? gmdate('H:i:s', $lesson->total_time) : '-',
          ),
        );
      }
    }
  }
  $header = array(
    array(
      'data' => t('Lessons'),
      'class' => array(
        'opigno-quiz-app-course-name',
      ),
    ),
    array(
      'data' => t('Score'),
      'class' => array(
        'opigno-quiz-app-course-total-score',
      ),
    ),
    array(
      'data' => t('Total Time'),
      'class' => array(
        'opigno-quiz-app-course-total-time',
      ),
    ),
  );
  return theme('table', array(
    'header' => $header,
    'rows' => $rows,
    'attributes' => array(
      'class' => array(),
    ),
  ));
}