function nodequeue_generate_repopulate_queues in Nodequeue 7.2
Same name and namespace in other branches
- 7.3 nodequeue_generate.module \nodequeue_generate_repopulate_queues()
Re-populates nodequeues with nodes.
Parameters
array $qids: Array of queues, that need to be repopulated.
int $nodes_limit: The node limit.
3 calls to nodequeue_generate_repopulate_queues()
- drush_nodequeue_generate in ./
nodequeue_generate.drush.inc - Re-populates specified nodequeues with random nodes.
- drush_nodequeue_generate_all in ./
nodequeue_generate.drush.inc - Re-populates all nodequeues with random nodes.
- nodequeue_generate_form_submit in ./
nodequeue_generate.module
File
- ./
nodequeue_generate.module, line 96
Code
function nodequeue_generate_repopulate_queues($qids, $nodes_limit = 10) {
// Remove existing nodes from queues.
db_query("DELETE FROM {nodequeue_nodes} WHERE qid IN (:qids)", array(
':qids' => $qids,
));
// Load all queues and their subqueues.
$queues = nodequeue_load_queues($qids);
$subqueues = nodequeue_load_subqueues_by_queue($qids);
// Re-populate subqueues
foreach ($qids as $qid) {
$queue = nodequeue_load($qid);
// Skip nodequeues that do not belong to any node types.
if (!empty($queue->types)) {
$limit = $queue->size ? $queue->size : $nodes_limit;
$callback = $queue->owner . '_nodequeue_generate';
if (function_exists($callback)) {
$callback($queue, $limit);
}
}
}
drupal_set_message(format_plural(count($qids), '1 queue populated', '@count queues populated.'));
}