You are here

function nodequeue_load_random_node in Nodequeue 7.3

Same name and namespace in other branches
  1. 6.2 nodequeue.module \nodequeue_load_random_node()
  2. 7.2 nodequeue.module \nodequeue_load_random_node()

Load a random node object from a queue.

File

./nodequeue.module, line 1598
Maintains queues of nodes in arbitrary order.

Code

function nodequeue_load_random_node($sqid) {
  $query = db_select('node', 'n')
    ->fields('n', array(
    'nid',
  ));
  $query
    ->join('nodequeue_nodes', 'nn', 'n.nid = nn.nid');
  $count = $query
    ->addTag('node_access')
    ->condition('nn.sqid', $sqid)
    ->condition('n.status', 1)
    ->countQuery()
    ->execute()
    ->fetchField();
  return array_shift(nodequeue_load_nodes($sqid, TRUE, rand(0, $count - 1), 1));
}