function nodequeue_add_subqueue in Nodequeue 7.3
Same name and namespace in other branches
- 5.2 nodequeue.module \nodequeue_add_subqueue()
- 6.2 nodequeue.module \nodequeue_add_subqueue()
- 7.2 nodequeue.module \nodequeue_add_subqueue()
Add a new subqueue to a queue.
Parameters
$queue: The queue object that is the parent of this subqueue.
$title: The title of the subqueue.
$reference: A reference that uniquely identifies this subqueue. If NULL it will be assigned the sqid.
2 calls to nodequeue_add_subqueue()
- nodequeue_save in ./
nodequeue.module - Save a nodequeue. This does not save subqueues; those must be added separately.
- smartqueue_taxonomy_nodequeue_subqueues in ./
smartqueue.module - Implements hook_nodequeue_subqueues().
File
- ./
nodequeue.module, line 936 - Maintains queues of nodes in arbitrary order.
Code
function nodequeue_add_subqueue(&$queue, $title, $reference = NULL) {
if (empty($reference)) {
$insert_reference = "";
}
else {
$insert_reference = $reference;
}
$subqueue = new stdClass();
$subqueue->reference = $reference;
$subqueue->name = $queue->name;
$subqueue->title = $title;
$subqueue->sqid = db_insert('nodequeue_subqueue')
->fields(array(
'name' => $queue->name,
'reference' => $insert_reference,
'title' => $title,
))
->execute();
// If somehow the $reference is null, here we set it to the sqid.
// We have to do it here, because before the insert we don't know what the sqid will be.
if (empty($reference)) {
db_update('nodequeue_subqueue')
->fields(array(
'reference' => $subqueue->sqid,
))
->condition('sqid', $subqueue->sqid)
->execute();
}
return $subqueue;
}