You are here

function nodequeue_load_nodes in Nodequeue 7.2

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

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

Parameters

integer $sqid: Subqueue ID

boolean $backward: If TRUE (default), display the node with the highest queue position first.

integer $from: Display offset from highest (if $backward is FALSE, lowest) queue position.

integer $count: Maximum number of nodes to display.

bool $published_only: If TRUE (default), only load published nodes.

Return value

array An array of node objects indexed by nid.

5 calls to nodequeue_load_nodes()
NodequeueExternalFetchingUnitTest::testNodequeueLoadNodes in tests/nodequeue.test
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 1999
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()
      ->fetchCol();
  }
  else {
    $result = $query
      ->execute()
      ->fetchCol();
  }
  return node_load_multiple($result);
}