function nodequeue_check_subqueue_size in Nodequeue 7.2
Same name and namespace in other branches
- 5.2 nodequeue.module \nodequeue_check_subqueue_size()
- 6.2 nodequeue.module \nodequeue_check_subqueue_size()
- 7.3 nodequeue.module \nodequeue_check_subqueue_size()
Guarantee that a subqueue has not gotten too big. It's important to call this after an operation that might have reduced a queue's maximum size. It stores the count to save a query if this is to be followed by an add operation.
@internal param $reference The subqueue to check.
Parameters
$queue: The queue object.
$subqueue:
null $size:
3 calls to nodequeue_check_subqueue_size()
- nodequeue_check_subqueue_sizes in ./
nodequeue.module - Guarantee that all subqueues are within the size constraints set by $queue->size.
- nodequeue_save_subqueue_order in includes/
nodequeue.admin.inc - Validates new subqueue order information and if it passes validation, deletes the old subqueue data from the database and saves the new data.
- nodequeue_subqueue_add in ./
nodequeue.module - Add a node to a subqueue.
File
- ./
nodequeue.module, line 1532 - Maintains queues of nodes in arbitrary order.
Code
function nodequeue_check_subqueue_size($queue, &$subqueue, $size = NULL) {
if (!isset($size)) {
$size = $queue->size;
}
if ($queue->size && $subqueue->count > $size) {
if ($queue->insert_at_front) {
nodequeue_subqueue_remove($subqueue->sqid, $size + 1, $subqueue->count);
}
else {
nodequeue_subqueue_remove($subqueue->sqid, 1, $subqueue->count - $size);
}
$subqueue->count = $size;
}
}