function form_process_autocomplete in Drupal 7
Same name and namespace in other branches
- 6 includes/form.inc \form_process_autocomplete()
Process function to prepare autocomplete data.
Parameters
$element: A textfield or other element with a #autocomplete_path.
Return value
array The processed form element.
Related topics
1 string reference to 'form_process_autocomplete'
- system_element_info in modules/
system/ system.module - Implements hook_element_info().
File
- includes/
form.inc, line 3995 - Functions for form and batch generation and processing.
Code
function form_process_autocomplete($element) {
$element['#autocomplete_input'] = array();
if ($element['#autocomplete_path'] && drupal_valid_path($element['#autocomplete_path'])) {
$element['#autocomplete_input']['#id'] = $element['#id'] . '-autocomplete';
// Force autocomplete to use non-clean URLs since this protects against the
// browser interpreting the path plus search string as an actual file.
$current_clean_url = isset($GLOBALS['conf']['clean_url']) ? $GLOBALS['conf']['clean_url'] : NULL;
$GLOBALS['conf']['clean_url'] = 0;
// Force the script path to 'index.php', in case the server is not
// configured to find it automatically. Normally it is the responsibility
// of the site to do this themselves using hook_url_outbound_alter() (see
// url()) but since this code is forcing non-clean URLs on sites that don't
// normally use them, it is done here instead.
$element['#autocomplete_input']['#url_value'] = url($element['#autocomplete_path'], array(
'absolute' => TRUE,
'script' => 'index.php',
));
$GLOBALS['conf']['clean_url'] = $current_clean_url;
}
return $element;
}