You are here

function nodequeue_load_subqueues_by_queue in Nodequeue 5.2

Same name and namespace in other branches
  1. 6.2 nodequeue.module \nodequeue_load_subqueues_by_queue()
  2. 7.3 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

$qids: A $qid or array of $qids

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

7 calls to nodequeue_load_subqueues_by_queue()
nodequeue_admin_view in ./nodequeue.module
Page callback to view a queue.
nodequeue_check_subqueue_sizes in ./nodequeue.module
Guarantee that all subqueues are within the size constraints set by $queue->size.
nodequeue_generate_form in ./nodequeue_generate.module
nodequeue_generate_form_submit in ./nodequeue_generate.module
nodequeue_handler_subqueuelist in ./nodequeue.views.inc
Generate a list of queues for use in option/value fields.

... See full list

File

./nodequeue.module, line 1690

Code

function nodequeue_load_subqueues_by_queue($qids, $page_size = 0) {
  if (is_numeric($qids)) {
    $qids = array(
      $qids,
    );
  }
  if (empty($qids)) {
    return array();
  }
  $query = "SELECT s.*, COUNT(n.position) AS count FROM {nodequeue_subqueue} s LEFT JOIN {nodequeue_nodes} n ON n.sqid = s.sqid WHERE s.qid IN (" . implode(', ', array_fill(0, count($qids), '%d')) . ") GROUP BY s.sqid";
  if ($page_size) {
    $result = pager_query($query, $page_size, 0, $qids);
  }
  else {
    $result = db_query($query, $qids);
  }
  $subqueues = array();
  while ($subqueue = db_fetch_object($result)) {
    $subqueues[$subqueue->sqid] = $subqueue;
  }
  return $subqueues;
}