You are here

function _redirect_extract_url_options in Redirect 7.2

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

Extract the query and fragment parts out of an URL field.

2 calls to _redirect_extract_url_options()
redirect_element_validate_redirect in ./redirect.admin.inc
Element validate handler; validate the redirect of an URL redirect.
redirect_element_validate_source in ./redirect.admin.inc
Element validate handler; validate the source of an URL redirect.

File

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

Code

function _redirect_extract_url_options(&$element, &$form_state) {
  $value =& $element['#value'];
  $type = $element['#name'];
  $options =& $form_state['values']["{$type}_options"];
  $parsed = redirect_parse_url($value);
  if (isset($parsed['fragment'])) {
    $options['fragment'] = $parsed['fragment'];
  }
  else {
    unset($options['fragment']);
  }
  if (isset($parsed['query'])) {
    $options['query'] = $parsed['query'];
  }
  else {
    unset($options['query']);
  }
  if (isset($parsed['scheme']) && $parsed['scheme'] == 'https') {
    $options['https'] = TRUE;
  }
  else {
    unset($options['https']);
  }
  if (!url_is_external($parsed['url'])) {
    $parsed['url'] = drupal_get_normal_path($parsed['url'], $form_state['values']['language']);
  }
  form_set_value($element, $parsed['url'], $form_state);
  return $parsed;
}