function nodequeue_arrange_subqueue_form_submit in Nodequeue 7.2
Same name and namespace in other branches
- 5.2 nodequeue.module \nodequeue_arrange_subqueue_form_submit()
- 6.2 includes/nodequeue.admin.inc \nodequeue_arrange_subqueue_form_submit()
- 7.3 includes/nodequeue.admin.inc \nodequeue_arrange_subqueue_form_submit()
Submit handler for nodequeue drag'n'drop form. Updates node positions in {nodequeue_nodes}.
2 calls to nodequeue_arrange_subqueue_form_submit()
- nodequeue_arrange_subqueue_form_reverse_submit in includes/
nodequeue.admin.inc - Submit function for nodequeue_arrange_subqueue_form on 'Reverse' button.
- nodequeue_arrange_subqueue_form_shuffle_submit in includes/
nodequeue.admin.inc
1 string reference to 'nodequeue_arrange_subqueue_form_submit'
- nodequeue_arrange_subqueue_form in includes/
nodequeue.admin.inc - Form definition for nodequeue drag'n'drop form.
File
- includes/
nodequeue.admin.inc, line 999 - Admin page callbacks for the nodequeue module.
Code
function nodequeue_arrange_subqueue_form_submit($form, &$form_state, $reverse = FALSE, $shuffle = FALSE) {
$nodes = array();
foreach ($form_state['values']['nodes'] as $key => $element) {
$nid = $form['nodes'][$key]['#node']['nid'];
if (is_numeric($nid)) {
$nodes[$form_state['values']['nodes'][$key]['position']] = array(
'nid' => $nid,
'data' => $form_state['values']['nodes'][$key],
);
}
}
$message = t('The queue has been updated.');
if ($reverse || $shuffle) {
$keys = array_keys($nodes);
$values = array_values($nodes);
// reverse the list if the reverse button was pressed
if ($reverse) {
$values = array_reverse($values);
$message = t('The queue has been reversed.');
}
// shuffle the list if the shuffle button was pressed.
if ($shuffle) {
shuffle($values);
$message = t('The queue has been shuffled.');
}
$nodes = array_combine($keys, $values);
}
$qid = $form['nodes']['#queue']['qid'];
$sqid = $form['nodes']['#subqueue']['sqid'];
nodequeue_save_subqueue_order($nodes, $qid, $sqid);
drupal_set_message($message);
}