function nodequeue_arrange_subqueue_form_validate in Nodequeue 5.2
Same name and namespace in other branches
- 6.2 includes/nodequeue.admin.inc \nodequeue_arrange_subqueue_form_validate()
- 7.3 includes/nodequeue.admin.inc \nodequeue_arrange_subqueue_form_validate()
- 7.2 includes/nodequeue.admin.inc \nodequeue_arrange_subqueue_form_validate()
Validate handler for nodequeue_arrange_subqueue_form
File
- ./
nodequeue.module, line 1038
Code
function nodequeue_arrange_subqueue_form_validate($form_id, $form_values, $form) {
if ($form_values['op'] == t('Add')) {
$queue = nodequeue_load($form_values['qid']);
$subqueue = nodequeue_load($form_values['sqid']);
$nodes = nodequeue_api_autocomplete($queue, $subqueue, $form_values['add']);
if (empty($nodes) || !is_array($nodes)) {
form_error($form['add'], t('Invalid node'));
return;
}
if (count($nodes) > 1) {
form_error($form['add'], t('That matches too many nodes'));
return;
}
$keys = array_keys($nodes);
$nid = array_pop($keys);
form_set_value($form['nid'], $nid);
return;
}
if ($form_values['op'] == t('Save')) {
$nids = $form_values['nids'];
// We can't use array_merge because it'll reset our keys and we can't
// use + because it will overwrite.
if ($form_values['added_nids']) {
foreach (explode(',', $form_values['added_nids']) as $nid) {
if (empty($nids)) {
$nids[1] = $nid;
}
else {
$nids[max(array_keys($nids)) + 1] = $nid;
}
}
}
form_set_value($form['nids'], $nids);
}
}