You are here

function redirect_edit_form_validate in Redirect 7.2

Same name and namespace in other branches
  1. 7 redirect.admin.inc \redirect_edit_form_validate()

Form validate handler; validate an URL redirect.

See also

redirect_edit_form()

File

./redirect.admin.inc, line 558
Administrative page callbacks for the redirect module.

Code

function redirect_edit_form_validate($form, &$form_state) {
  $redirect = (object) $form_state['values'];
  if (empty($form_state['values']['override'])) {

    // Find out if any (disabled or enabled) redirect with this source already
    // exists.
    if ($existing = redirect_load_by_source($redirect->source, $redirect->language, array(), FALSE)) {
      if ($redirect->rid != $existing->rid && $redirect->language == $existing->language) {

        // The "from" path should not conflict with another (disabled or
        // enabled) redirect.
        $form_state['storage']['override_messages']['redirect-conflict'] = t('A redirect already exists for the source path %source. Do you want to <a href="@edit-page">edit the existing redirect</a>?', array(
          '%source' => $redirect->source,
          '@edit-page' => url('admin/config/search/redirect/edit/' . $existing->rid),
        ));
        $form_state['rebuild'] = TRUE;
      }
    }
    if ($form['override']['#access']) {
      drupal_set_message('Did you read the warnings and click the checkbox?', 'error');
      $form_state['rebuild'] = TRUE;
    }
  }
  redirect_validate($redirect, $form, $form_state);
}