1 path.admin.inc | path_admin_form_validate($form, &$form_state) |
Form validation handler for path_admin_form().
See also
path_admin_form_delete_submit()
File
- core/
modules/ path/ path.admin.inc, line 244 - Admin page callbacks for the Path module.
Code
function path_admin_form_validate($form, &$form_state) {
$source = &$form_state['values']['source'];
$source = backdrop_get_normal_path($source);
$alias = $form_state['values']['alias'];
$pid = isset($form_state['values']['pid']) ? $form_state['values']['pid'] : 0;
// Language is only set if language.module is enabled, otherwise save for all
// languages.
$langcode = isset($form_state['values']['langcode']) ? $form_state['values']['langcode'] : LANGUAGE_NONE;
$query = db_select('url_alias', 'ua')
->fields('ua', array('langcode'))
->condition('pid', $pid, '<>')
->condition('alias', $alias);
if ($langcode != LANGUAGE_NONE) {
$query->condition('langcode', array($langcode, LANGUAGE_NONE), 'IN');
}
$existing = $query->execute()->fetchCol();
if (count($existing)) {
form_set_error('alias', t('The alias %alias conflicts with existing alias(es) for %languages.', array(
'%alias' => $alias,
'%languages' => _path_get_language_names($existing),
)));
}
if (!backdrop_valid_path($source)) {
form_set_error('source', t('The path <code>@link_path</code> is either invalid or you do not have access to it.', array(
'@link_path' => $source,
)));
}
}