queue_overview

Versions
4.6
queue_overview()

Display a page listing the nodes in the submission queue.

▾ 1 function calls queue_overview()

queue_page in modules/queue.module
Menu callback; displays the queue management page.

Code

modules/queue.module, line 120

<?php
function queue_overview() {
  global $user;

  $header = array(array('data' => t('Subject')), array('data' => t('Author')), array('data' => t('Type')), array('data' => t('Score')));

  $sql = 'SELECT n.nid, n.title, n.type, u.name, u.uid, SUM(IF(q.uid = %d, 1, 0)) AS voted, SUM(q.vote) AS score FROM {node} n INNER JOIN {users} u ON n.uid = u.uid INNER JOIN {queue} q ON n.nid = q.nid WHERE n.moderate = 1 GROUP BY n.nid, n.title, n.type, u.name, u.uid, q.uid, q.vote';
  $sql = db_rewrite_sql($sql);
  $sql_count = db_rewrite_sql('SELECT COUNT(n.nid) FROM {node} n INNER JOIN {queue} q ON n.nid = q.nid WHERE n.moderate = 1');
  $result = pager_query($sql, 10, 0, $sql_count, $user->uid);

  while ($node = db_fetch_object($result)) {
    if ($user->uid == $node->uid || $node->voted) {
      $rows[] = array(array('data' => l($node->title, 'queue/'. $node->nid), 'class' => 'title'), array('data' => format_name($node), 'class' => 'name'), array('data' => node_invoke($node, 'node_name'), 'class' => 'type'), array('data' => $node->score, 'class' => 'score'));
    }
    else {
      $rows[] = array(array('data' => l($node->title, 'queue/'. $node->nid), 'class' => 'title'), array('data' => format_name($node), 'class' => 'name'), array('data' => node_invoke($node, 'node_name'), 'class' => 'type'), array('data' => l(t('vote'), 'queue/'. $node->nid), 'class' => 'score'));
    }
  }

  if ($pager = theme('pager', NULL, 10, 0, tablesort_pager())) {
    $rows[] = array(array('data' => $pager, 'colspan' => '4'));
  }

  if (!$rows) {
    $rows[] = array(array('data' => t('No posts available in queue.'), 'colspan' => '4'));
  }

  $output  = '<div id="queue">';
  $output .= theme('table', $header, $rows);
  $output .= '</div>';

  drupal_set_title(t('Submission queue'));

  print theme('page', $output);
}
?>
Login or register to post comments
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.