function nodequeue_set_subqueue_positions in Nodequeue 7.2
Same name and namespace in other branches
- 5.2 nodequeue.module \nodequeue_set_subqueue_positions()
 - 6.2 nodequeue.module \nodequeue_set_subqueue_positions()
 - 7.3 nodequeue.module \nodequeue_set_subqueue_positions()
 
Get the position of a node in several subqueues.
3 calls to nodequeue_set_subqueue_positions()
- nodequeue_apachesolr_index_document_build_node in ./
nodequeue.module  - Implements hook_apachesolr_index_document_build_ENTITY_TYPE().
 - nodequeue_node_links in ./
nodequeue.module  - Returns an array of nodequeue links for a node.
 - nodequeue_node_tab in includes/
nodequeue.admin.inc  - Display the queue controls for a node.
 
File
- ./
nodequeue.module, line 1709  - Maintains queues of nodes in arbitrary order.
 
Code
function nodequeue_set_subqueue_positions(&$subqueues, $nid) {
  if (empty($subqueues)) {
    return;
  }
  $query = db_select('nodequeue_nodes', 'n')
    ->fields('n', array(
    'sqid',
  ))
    ->condition('sqid', array_keys($subqueues), 'IN')
    ->condition('nid', $nid)
    ->groupBy('sqid');
  $query
    ->addExpression('MIN(position)', 'position');
  $result = $query
    ->execute();
  foreach ($result as $obj) {
    $subqueues[$obj->sqid]->position = $obj->position;
  }
}