function nodequeue_arrange_subqueue_form_submit in Nodequeue 5.2
Same name and namespace in other branches
- 6.2 includes/nodequeue.admin.inc \nodequeue_arrange_subqueue_form_submit()
- 7.3 includes/nodequeue.admin.inc \nodequeue_arrange_subqueue_form_submit()
- 7.2 includes/nodequeue.admin.inc \nodequeue_arrange_subqueue_form_submit()
Submit function for nodequeue_arrange_subqueue_form
File
- ./
nodequeue.module, line 1079
Code
function nodequeue_arrange_subqueue_form_submit($form_id, $form_values) {
// Add a node to the queue if that's the intention.
if ($form_values['op'] == t('Clear')) {
return 'admin/content/nodequeue/' . $form_values['qid'] . '/clear/' . $form_values['sqid'];
}
$queue = nodequeue_load($form_values['qid']);
$subqueue = nodequeue_load_subqueue($form_values['sqid']);
if ($form_values['op'] == t('Add')) {
nodequeue_subqueue_add($queue, $subqueue, $form_values['nid']);
return;
}
db_query("DELETE FROM {nodequeue_nodes} WHERE sqid = %d", $form_values['sqid']);
if ($form_values['order']) {
$now = time();
$sql = '';
$args = array();
$nids = $form_values['nids'];
$subqueue->count = 0;
$order = explode(',', $form_values['order']);
if ($queue->reverse xor $form_values['op'] == t('Reverse')) {
$order = array_reverse($order);
}
foreach ($order as $new_pos => $old_pos) {
if ($sql) {
$sql .= ', ';
}
$sql .= ' (%d, %d, %d, %d, %d)';
$args[] = $form_values['sqid'];
$args[] = $form_values['qid'];
$args[] = $nids[$old_pos];
// $new_pos starts from 0 but we start from 1.
$args[] = $new_pos + 1;
$args[] = $now;
$subqueue->count++;
}
$sql = "INSERT INTO {nodequeue_nodes} (sqid, qid, nid, position, timestamp) VALUES {$sql}";
db_query($sql, $args);
if ($queue->size) {
// 0 means infinity so never do this if false
nodequeue_check_subqueue_size($queue, $subqueue);
}
if ($form_values['op'] == t('Shuffle')) {
nodequeue_subqueue_shuffle($subqueue);
}
}
drupal_set_message(t('The queue has been updated'));
}