diff --git a/sites/all/modules/unl_multisite/unl_site_creation.php b/sites/all/modules/unl_multisite/unl_site_creation.php index d0b7790f3b89be064ff24dc8582fb8dc27e381b2..fff2599779dd2289b235a4534d14373e868545e7 100644 --- a/sites/all/modules/unl_multisite/unl_site_creation.php +++ b/sites/all/modules/unl_multisite/unl_site_creation.php @@ -839,12 +839,22 @@ function unl_page_alias_create($form, &$form_state) { * Form Validate: Create New Page Alias */ function unl_page_alias_create_validate($form, &$form_state) { - if ($form_state['values']['from_uri'] == $form_state['values']['to_uri']) { - form_set_error('', t('From URL cannot equal To URL.')); + $form_state['values']['from_uri'] = trim($form_state['values']['from_uri']); + $form_state['values']['to_uri'] = trim($form_state['values']['to_uri']); + + $from = $form_state['values']['from_uri']; + $to = $form_state['values']['to_uri']; + $root = url('', array('absolute' => TRUE)); + + if (parse_url($from, PHP_URL_HOST) == parse_url($to, PHP_URL_HOST) && + parse_url($from, PHP_URL_PATH) == parse_url($to, PHP_URL_PATH) && + parse_url($from, PHP_URL_QUERY) == parse_url($to, PHP_URL_QUERY)) { + form_set_error('to_uri', 'From URL cannot equal To URL.'); } - if ($form_state['values']['from_uri'] == url('', array('https' => FALSE)) || - $form_state['values']['from_uri'] == str_replace('http://', 'https://', url('', array('https' => FALSE)))) { - form_set_error('', t('From URL cannot be the root of the default site.')); + if (parse_url($from, PHP_URL_HOST) == parse_url($root, PHP_URL_HOST) && + parse_url($from, PHP_URL_PATH) == parse_url($root, PHP_URL_PATH) && + parse_url($from, PHP_URL_QUERY) == parse_url($root, PHP_URL_QUERY)) { + form_set_error('from_uri', 'From URL cannot be the root of the default site.'); } }