1 redirect.admin.inc | redirect_list_form_operations_submit($form, &$form_state) |
Submit handler for redirect_list_form().
Execute the chosen 'Update option' on the selected redirects.
File
- core/
modules/ redirect/ redirect.admin.inc, line 247 - Admin page callbacks for the Redirect module.
Code
function redirect_list_form_operations_submit($form, &$form_state) {
$operations = $form['#operations'];
$operation = $operations[$form_state['values']['operation']];
// Filter out unchecked redirects
$rids = array_filter($form_state['values']['rids']);
if (!empty($operation['confirm']) && empty($form_state['values']['confirm'])) {
// We need to rebuild the form to go to a second step. For example, to
// show the confirmation form for the deletion of redirects.
$form_state['rebuild'] = TRUE;
}
else {
$function = $operation['callback'];
// Add in callback arguments if present.
if (isset($operation['callback arguments'])) {
$args = array_merge(array($rids), $operation['callback arguments']);
}
else {
$args = array($rids);
}
call_user_func_array($function, $args);
$count = count($form_state['values']['rids']);
watchdog('redirect', '@action @count redirects.', array('@action' => $operation['action_past'], '@count' => $count));
backdrop_set_message(format_plural(count($rids), '@action @count redirect.', '@action @count redirects.', array('@action' => $operation['action_past'], '@count' => $count)));
}
}