You are here

function nodequeue_load_nodes in Nodequeue 7.3

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

Load an array of node objects belonging to a particular nodequeue.

4 calls to nodequeue_load_nodes()
nodequeue_load_back in ./nodequeue.module
Load the last node of a queue.
nodequeue_load_front in ./nodequeue.module
Load the first node of a queue.
nodequeue_load_random_node in ./nodequeue.module
Load a random node object from a queue.
nodequeue_view_nodes in ./nodequeue.module
Get node_view output from a nodequeue.

File

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

Code

function nodequeue_load_nodes($sqid, $backward = FALSE, $from = 0, $count = 5, $published_only = TRUE) {
  $orderby = $backward ? "DESC" : "ASC";
  $query = db_select('node', 'n')
    ->fields('n', array(
    'nid',
  ))
    ->condition('nn.sqid', $sqid)
    ->orderBy('nn.position', $orderby)
    ->addTag('node_access');
  $query
    ->join('nodequeue_nodes', 'nn', 'n.nid = nn.nid');
  if ($published_only) {
    $query
      ->condition('n.status', 1);
  }
  if ($count) {
    $result = $query
      ->range($from, $count)
      ->execute();
  }
  else {
    $result = $query
      ->execute();
  }
  $nodes = array();
  foreach ($result as $nid) {
    $nodes[] = node_load($nid->nid);
  }
  return $nodes;
}