function theme_opigno_quiz_app_user_course_results in Opigno Quiz App 7
Theme callback: display user results for a specific course.
1 theme call to theme_opigno_quiz_app_user_course_results()
- theme_opigno_quiz_app_user_results in ./
opigno_quiz_app.module - Theme callback: display user results.
File
- ./
opigno_quiz_app.module, line 1213 - Module file. Defines module hooks.
Code
function theme_opigno_quiz_app_user_course_results($vars) {
switch ($vars['course_results']['passed']) {
case OPIGNO_QUIZ_APP_PASSED:
$img_name = 'passed.jpg';
$status_text = t('Passed');
break;
case OPIGNO_QUIZ_APP_FAILED:
$img_name = 'failed.jpg';
$status_text = t('Failed');
break;
case OPIGNO_QUIZ_APP_PENDING:
default:
$img_name = 'pending.jpg';
$status_text = t('Pending');
break;
}
$download_certificate = opigno_quiz_app_get_certificate($vars['course_node']->nid, $vars['user']->uid);
$header = array(
0 => array(
'class' => array(
'opigno-quiz-app-course-status',
),
'colspan' => 4,
),
);
if (path_is_admin(current_path())) {
$detailspath = "/node/{$vars['course_node']->nid}/quiz-results/{$vars['user']->uid}";
$header[0]['data'] = t("@title (!status - <a href='!url'>see details</a>)", array(
'@title' => $vars['course_node']->title,
'!status' => $status_text,
'!url' => url($detailspath),
));
}
else {
if (!empty($vars['course_node']->nid)) {
$detailspath = "/node/{$vars['course_node']->nid}/my-quiz-results";
$header[0]['data'] = t("@title (!status - <a href='!url'>see details</a>)", array(
'@title' => $vars['course_node']->title,
'!status' => $status_text,
'!url' => url($detailspath),
));
}
else {
$header[0]['data'] = t("No required lessons for this course");
}
}
$result = '<div class="d-inline-block v-align-top mr-4"><img src="' . url(drupal_get_path('module', 'opigno_quiz_app') . '/img/' . $img_name) . '" alt="" /></div>';
$result .= '<div class="d-inline-block v-align-top"><div><strong>' . $status_text . '</strong></div>';
// $result .= '<div>' . t('Pass rate:') . ' ' . '%</div>';
$result .= '<div>' . t('Score:') . ' ' . (isset($vars['course_results']['total_score']) ? $vars['course_results']['total_score'] : '-') . '%</div></div>';
$rows = array();
$rows[] = array(
'data' => array(
$result,
array(
'data' => '<div class="bar" style="width :' . (isset($vars['course_results']['total_score']) ? $vars['course_results']['total_score'] : 0) . '%"></div><div>' . (isset($vars['course_results']['total_score']) ? $vars['course_results']['total_score'] : '-') . '%</div>',
'class' => 'percent-bar text-center',
),
array(
'data' => isset($vars['course_results']['total_time']) ? gmdate('H:i:s', $vars['course_results']['total_time']) : '-',
'class' => 'global-time text-center',
),
array(
'data' => $download_certificate,
'class' => 'text-center',
),
),
'class' => array(
'header-row',
),
);
if (!empty($vars['course_results']['quizzes'])) {
foreach ($vars['course_results']['quizzes'] as $quiz_title => $score) {
$rows[] = array(
'data' => array(
check_plain($quiz_title),
array(
'data' => isset($score['score']) ? $score['score'] . '%' : '-',
'class' => 'text-right',
),
array(
'data' => isset($score['total_time']) ? gmdate('H:i:s', $score['total_time']) : '-',
'class' => 'text-right',
),
array(
'data' => NULL,
'class' => 'text-right',
),
),
);
}
}
//////////////////////////////////////////
if (!empty($vars['course_results']['iht'])) {
foreach ($vars['course_results']['iht'] as $quiz_title => $score) {
$rows[] = array(
'data' => array(
check_plain($quiz_title),
array(
'data' => isset($score['score']) ? $score['score'] . '%' : '-',
'class' => 'text-right',
),
array(
'data' => isset($score['total_time']) ? gmdate('H:i:s', $score['total_time']) : '-',
'class' => 'text-right',
),
array(
'data' => NULL,
'class' => 'text-right',
),
),
);
}
}
if (!empty($vars['course_results']['live_meeting'])) {
foreach ($vars['course_results']['live_meeting'] as $quiz_title => $score) {
$rows[] = array(
'data' => array(
check_plain($quiz_title),
array(
'data' => isset($score['score']) ? $score['score'] . '%' : '-',
'class' => 'text-right',
),
array(
'data' => isset($score['total_time']) ? gmdate('H:i:s', $score['total_time']) : '-',
'class' => 'text-right',
),
array(
'data' => NULL,
'class' => 'text-right',
),
),
);
}
}
if (!empty($vars['course_results']['webx'])) {
foreach ($vars['course_results']['webx'] as $quiz_title => $score) {
$rows[] = array(
'data' => array(
check_plain($quiz_title),
array(
'data' => isset($score['score']) ? $score['score'] . '%' : '-',
'class' => 'text-right',
),
array(
'data' => isset($score['total_time']) ? gmdate('H:i:s', $score['total_time']) : '-',
'class' => 'text-right',
),
array(
'data' => NULL,
'class' => 'text-right',
),
),
);
}
}
//////////////////////////////////////////*/
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-user-course-results-table',
),
),
));
}