queue_overview
- Versions
- 4.6
queue_overview()
Display a page listing the nodes in the submission queue.
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 