You are here

function nodequeue_admin_page in Nodequeue 5

Display a list of queues and their status for the administrator.

1 string reference to 'nodequeue_admin_page'
nodequeue_menu in ./nodequeue.module
Implementation of hook_menu

File

./nodequeue.module, line 249

Code

function nodequeue_admin_page() {
  $result = pager_query('SELECT nq.title, nq.qid, nq.size, COUNT(DISTINCT(nn.nid)) AS nodes FROM {nodequeue_queue} nq LEFT JOIN {nodequeue_nodes} nn ON nq.qid = nn.qid GROUP by nq.title, nq.qid, nq.size', 20, 0, 'SELECT COUNT(q.qid) FROM {nodequeue_queue} q');
  if (db_num_rows($result)) {
    $header = array(
      t('Title'),
      t('Max Nodes'),
      t('In Queue'),
      t('Operation'),
    );
    $rows = array();
    while ($queue = db_fetch_object($result)) {
      $rows[] = array(
        $queue->title,
        array(
          'data' => $queue->size,
        ),
        array(
          'data' => $queue->nodes,
        ),
        array(
          'data' => implode(' | ', array(
            l(t('Edit'), "admin/content/nodequeue/{$queue->qid}/edit"),
            l(t('View'), "admin/content/nodequeue/{$queue->qid}/view"),
            l(t('Delete'), "admin/content/nodequeue/{$queue->qid}/delete"),
          )),
        ),
      );
    }
    $output = theme('table', $header, $rows);
    $output .= theme('pager', NULL, 20);
    return $output;
  }
  else {
    return t('No node queues exist.');
  }
}