function page_manager_http_response_edit_settings_submit

File

page_manager/plugins/task_handlers/http_response.inc, line 267

Code

function page_manager_http_response_edit_settings_submit($form, &$form_state) {
    $machine_name = $form_state['handler']->name;
    $name = $form_state['task_name'] . '__' . $form_state['values']['name'];
    // If new name doesn't equal machine name, we need to update and redirect.
    if ($machine_name !== $name) {
        $form_state['handler']->name = $name;
        // If there's a trail, we need to replace it for redirection.
        if (isset($form_state['trail'])) {
            $form_state['new trail'] = $form_state['trail'];
            $delta = array_search($machine_name, $form_state['new trail']);
            $form_state['new trail'][$delta] = $name;
        }
        // If handler id is set, replace it.
        if ($form_state['handler_id']) {
            $form_state['handler_id'] = $name;
        }
        // If we're defining a new custom handler, move page handler to new name.
        if (isset($form_state['page']->handlers[$machine_name]) && isset($form_state['page']->handler_info[$machine_name])) {
            $form_state['page']->handlers[$name] = $form_state['page']->handlers[$machine_name];
            unset($form_state['page']->handlers[$machine_name]);
            $form_state['page']->handler_info[$name] = $form_state['page']->handler_info[$machine_name];
            unset($form_state['page']->handler_info[$machine_name]);
        }
    }
    $form_state['handler']->conf['title'] = $form_state['values']['title'];
    $form_state['handler']->conf['name'] = $form_state['values']['name'];
    $form_state['handler']->conf['code'] = $form_state['values']['code'];
    $form_state['handler']->conf['destination'] = $form_state['values']['destination'];
}