You are here

function theme_quiz_admin in Quiz 6.6

Same name and namespace in other branches
  1. 5.2 quiz.module \theme_quiz_admin()
  2. 5 quiz.module \theme_quiz_admin()
  3. 6.2 quiz.admin.inc \theme_quiz_admin()
  4. 6.3 quiz.admin.inc \theme_quiz_admin()
  5. 6.5 quiz.admin.inc \theme_quiz_admin()

Theme the admin results table.

Parameters

$results: As returned by _quiz_get_results().

1 theme call to theme_quiz_admin()
quiz_admin in ./quiz.admin.inc
Quiz Admin.

File

./quiz.admin.inc, line 804
Administrator interface for Quiz module.

Code

function theme_quiz_admin($results) {
  $output = '';
  $quiz = current($results);
  drupal_set_title(t('@current Results', array(
    '@current' => check_plain($quiz['title']),
  )));

  // generates <img src="foo.bar.png" /> tag
  $path_to_module_quiz = drupal_get_path('module', 'quiz');
  $png = array(
    'view' => theme('image', $path_to_module_quiz . '/images/view.png', t('View User Answers and Correct Answers'), t('View User Answers and Correct Answers')),
    'delete' => theme('image', $path_to_module_quiz . '/images/delete.png', t('Delete this Result Record'), t('Delete this Result Record')),
    'html' => theme('image', $path_to_module_quiz . '/images/html.png', t('Export as HTML'), t('Export as HTML')),
    'xml' => theme('image', $path_to_module_quiz . '/images/xml.png', t('Export as XML'), t('Export as XML')),
    'csv' => theme('image', $path_to_module_quiz . '/images/csv.png', t('Export as CSV'), t('Export as CSV')),
  );
  if (module_exists('results_export')) {
    $export_teaser_view = array(
      'html_png' => l($png['html'], 'admin/quiz/results_export_teaser_view/' . $quiz['nid'] . '/html', array(
        'html' => TRUE,
      )),
      'xml_png' => l($png['xml'], 'admin/quiz/results_export_teaser_view/' . $quiz['nid'] . '/xml', array(
        'html' => TRUE,
      )),
      'csv_png' => l($png['csv'], 'admin/quiz/results_export_teaser_view/' . $quiz['nid'] . '/csv', array(
        'html' => TRUE,
      )),
    );
  }
  while (list($key, $result) = each($results)) {
    $action = array(
      'view_png' => l($png['view'], 'admin/quiz/reports/' . $result['result_id'] . '/results', array(
        'html' => TRUE,
      )),
      'delete_png' => l($png['delete'], 'admin/quiz/' . $result['result_id'] . '/delete', array(
        'html' => TRUE,
      )),
    );
    if (module_exists('results_export')) {
      $export_full_view = array(
        'html_png' => l($png['html'], 'admin/quiz/results_export_full_view/' . $result['result_id'] . '/html', array(
          'html' => TRUE,
        )),
      );
    }
    $rows[] = array(
      implode(' ', $action),
      check_plain($result['name']),
      $result['result_id'],
      format_date($result['time_start'], 'small'),
      $result['time_end'] > 0 ? format_date($result['time_end'], 'small') : t('In Progress'),
      $result['time_end'] > 0 ? quiz_get_time_taken_in_minutes($result['time_end'] - $result['time_start']) : quiz_get_time_taken_in_minutes(time() - $result['time_start']),
      $result['time_end'] > 0 ? $result['score'] : t('--'),
      module_exists('results_export') ? implode(' ', $export_full_view) : '',
    );
  }
  $header = array(
    t('Action'),
    t('Username'),
    t('Result<br />ID'),
    t('Time <br />Started <br /> (m/d/y - h/m)'),
    t('Finished? <br /> (m/d/y - h/m)'),
    t('Time <br />Taken <br /> (min:sec)'),
    t('Score'),
    module_exists('results_export') ? t('Export') : '',
  );
  if (!empty($rows)) {
    $output .= module_exists('results_export') ? '<div id="export-table"><p>' . t('Export this Table') . '</p>' . implode(' ', $export_teaser_view) . '</div>' : '';
    $output .= theme('table', $header, $rows);
  }
  else {
    $output .= t('No @quiz results found.', array(
      '@quiz' => QUIZ_NAME,
    ));
  }
  return $output;
}