You are here

function nodequeue_load_subqueues_by_queue in Nodequeue 7.3

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

Load the entire set of subqueues for a queue.

This will load the entire set of subqueues for a given queue (and can respect the pager, if desired). It does NOT cache the subqueues like nodequeue_load_subqueues does, so beware of this mixed caching.

Parameters

$queue_names: A $name or array of $queue_names.

$page_size: If non-zero, use the pager_query and limit the page-size to the parameter.

10 calls to nodequeue_load_subqueues_by_queue()
nodequeue_admin_view in includes/nodequeue.admin.inc
Page callback to view a queue.
nodequeue_apachesolr_query_alter in ./nodequeue.module
Implements hook_apachesolr_query_alter().
nodequeue_arrange_subqueue in includes/nodequeue.admin.inc
View the contents of a subqueue, with links to re-order the queue.
nodequeue_check_subqueue_sizes in ./nodequeue.module
Guarantee that all subqueues are within the size constraints set by $queue->size.
nodequeue_form_apachesolr_search_bias_form_alter in ./nodequeue.module
Implements hook_form_FORM_ID_alter().

... See full list

File

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

Code

function nodequeue_load_subqueues_by_queue($queue_names, $page_size = 0) {
  if (is_string($queue_names)) {
    $queue_names = array(
      $queue_names,
    );
  }
  if (empty($queue_names)) {
    return array();
  }
  $query = "SELECT s.*, (SELECT COUNT(*) FROM {nodequeue_nodes} n WHERE n.sqid = s.sqid) AS count FROM {nodequeue_subqueue} s WHERE s.name IN (:names)";
  $result = db_query($query, array(
    ':names' => $queue_names,
  ));
  $subqueues = array();
  foreach ($result as $subqueue) {
    $subqueues[$subqueue->sqid] = $subqueue;
  }
  return $subqueues;
}