You are here

function theme_opigno_quiz_app_course_user_results in Opigno Quiz App 7

Theme callback: display course results for a specific user.

1 theme call to theme_opigno_quiz_app_course_user_results()
theme_opigno_quiz_app_course_results in ./opigno_quiz_app.module
Theme callback: display course results.

File

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

Code

function theme_opigno_quiz_app_course_user_results($vars) {
  $download_certificate = opigno_quiz_app_get_certificate($vars['course']->nid, $vars['user']->uid);
  $header = array(
    array(
      'data' => t("@name (!status)", array(
        '@name' => $vars['user']->name,
        '!status' => $vars['results']['passed'] == OPIGNO_QUIZ_APP_PASSED ? t("Passed") : ($vars['results']['passed'] == OPIGNO_QUIZ_APP_FAILED ? t("Failed") : t("Pending")),
      )) . $download_certificate,
      'class' => array(
        'opigno-quiz-app-course-status',
        'opigno-quiz-app-course-status-' . ($vars['results']['passed'] == OPIGNO_QUIZ_APP_PASSED ? 'passed' : ($vars['results']['passed'] == OPIGNO_QUIZ_APP_FAILED ? 'failed' : 'pending')),
      ),
    ),
    array(
      'data' => isset($vars['results']['total_score']) ? $vars['results']['total_score'] : '-',
      'class' => array(
        'opigno-quiz-app-course-total-score',
      ),
    ),
    array(
      'data' => isset($vars['results']['total_time']) ? gmdate('H:i:s', $vars['results']['total_time']) : '-',
      'class' => array(
        'opigno-quiz-app-course-total-time',
      ),
    ),
  );
  $rows = array();
  if (!empty($vars['results']['quizzes'])) {
    foreach ($vars['results']['quizzes'] as $quiz_title => $score) {
      $rows[] = array(
        'class' => array(
          'opigno-quiz-app-quiz-result',
          'opigno-quiz-app-quiz-result-' . ($score['passed'] == OPIGNO_QUIZ_APP_PASSED ? 'passed' : ($score['passed'] == OPIGNO_QUIZ_APP_FAILED ? 'failed' : 'pending')),
        ),
        'data' => array(
          check_plain($quiz_title),
          isset($score['score']) ? $score['score'] : '-',
          isset($score['total_time']) ? gmdate('H:i:s', $score['total_time']) : '-',
        ),
      );
    }
  }

  //////////////////////////////////////////
  if (!empty($vars['results']['iht'])) {
    foreach ($vars['results']['iht'] as $quiz_title => $score) {
      $rows[] = array(
        'class' => array(
          'opigno-quiz-app-quiz-result',
          'opigno-quiz-app-quiz-result-' . ($score['passed'] == OPIGNO_QUIZ_APP_PASSED ? 'passed' : ($score['passed'] == OPIGNO_QUIZ_APP_FAILED ? 'failed' : 'pending')),
        ),
        'data' => array(
          check_plain($quiz_title),
          isset($score['score']) ? $score['score'] : '-',
          isset($score['total_time']) ? gmdate('H:i:s', $score['total_time']) : '-',
        ),
      );
    }
  }
  if (!empty($vars['results']['live_meeting'])) {
    foreach ($vars['results']['live_meeting'] as $quiz_title => $score) {
      $rows[] = array(
        'class' => array(
          'opigno-quiz-app-quiz-result',
          'opigno-quiz-app-quiz-result-' . ($score['passed'] == OPIGNO_QUIZ_APP_PASSED ? 'passed' : ($score['passed'] == OPIGNO_QUIZ_APP_FAILED ? 'failed' : 'pending')),
        ),
        'data' => array(
          check_plain($quiz_title),
          isset($score['score']) ? $score['score'] : '-',
          isset($score['total_time']) ? gmdate('H:i:s', $score['total_time']) : '-',
        ),
      );
    }
  }
  if (!empty($vars['results']['webx'])) {
    foreach ($vars['results']['webx'] as $quiz_title => $score) {
      $rows[] = array(
        'class' => array(
          'opigno-quiz-app-quiz-result',
          'opigno-quiz-app-quiz-result-' . ($score['passed'] == OPIGNO_QUIZ_APP_PASSED ? 'passed' : ($score['passed'] == OPIGNO_QUIZ_APP_FAILED ? 'failed' : 'pending')),
        ),
        'data' => array(
          check_plain($quiz_title),
          isset($score['score']) ? $score['score'] : '-',
          isset($score['total_time']) ? gmdate('H:i:s', $score['total_time']) : '-',
        ),
      );
    }
  }

  //////////////////////////////////////////
  return theme('table', array(
    'header' => $header,
    'rows' => $rows,
    'attributes' => array(
      'class' => array(
        'opigno-quiz-app-results-table',
        'opigno-quiz-app-results-collapsible-table',
        'opigno-quiz-app-course-user-results-table',
      ),
    ),
  ));
}