function nodequeue_edit_queue_form_submit in Nodequeue 6.2
Same name and namespace in other branches
- 5.2 nodequeue.module \nodequeue_edit_queue_form_submit()
- 7.3 includes/nodequeue.admin.inc \nodequeue_edit_queue_form_submit()
- 7.2 includes/nodequeue.admin.inc \nodequeue_edit_queue_form_submit()
Submit function for the nodequeue_queue form.
File
- includes/
nodequeue.admin.inc, line 592 - Admin page callbacks for the nodequeue module.
Code
function nodequeue_edit_queue_form_submit($formid, &$form_state) {
$queue = (object) $form_state['values'];
// Fix checkboxes.
$queue->roles = array_keys(array_filter($queue->roles));
$queue->types = array_keys(array_filter($queue->types));
// Remove roles that have the 'manipulate all queues' permission.
$manipulate_all_queues = array_keys(user_roles(FALSE, 'manipulate all queues'));
$queue->roles = array_diff($queue->roles, $manipulate_all_queues);
if (!isset($queue->qid)) {
$queue->new = TRUE;
}
// Modify show_in_links based on whether or not links are available.
$queue->show_in_links = !empty($queue->link) || !empty($queue->link_remove);
nodequeue_api_queue_form_submit($queue, $form_state);
$qid = nodequeue_save($queue);
// sets $queue->qid if needed.
nodequeue_api_queue_form_submit_finish($queue, $form_state);
nodequeue_check_subqueue_sizes($queue);
if ($queue->new) {
$form_state['values']['qid'] = $qid;
drupal_set_message(t('The queue has been created.'));
}
else {
drupal_set_message(t('The queue has been updated.'));
}
$form_state['redirect'] = 'admin/content/nodequeue';
}