function search_autocomplete_form_configure_submit in Search Autocomplete 6.4
Same name and namespace in other branches
- 6.2 search_autocomplete.form.configure.inc \search_autocomplete_form_configure_submit()
- 7.4 search_autocomplete.form.configure.inc \search_autocomplete_form_configure_submit()
- 7.2 search_autocomplete.form.configure.inc \search_autocomplete_form_configure_submit()
- 7.3 search_autocomplete.form.configure.inc \search_autocomplete_form_configure_submit()
Implementation of hook_submit(). Save the changes in the database
File
- ./
search_autocomplete.form.configure.inc, line 220 - Search Autocomplete Helper functions to retrive forms from database
Code
function search_autocomplete_form_configure_submit($form, &$form_state) {
global $base_url;
$ok_query = TRUE;
// Get form submission values.
$values = $form_state['values'];
// Analyse incoming callback.
$callback = $values['callback_textfield'];
// Static resource => type = 2.
$data_type = $values['suggestions'];
if ($data_type == 1 && $callback != '') {
// If path is absolute:
if (menu_path_is_external($callback)) {
// If path is internal:
if (strcmp(substr($callback, 0, strlen($base_url)), $base_url) === 0) {
// Get it relative.
$callback = str_replace($base_url . "/", "", $callback);
$data_type = 1;
}
else {
$data_type = 0;
}
}
else {
$data_type = 1;
}
}
if ($data_type = 3) {
$callback = 'search_autocomplete/autocomplete/' . $values['fid'] . '/';
}
// ###.
// UPDATE THE FORM.
// -> update form.
db_query('UPDATE {search_autocomplete_forms} SET min_char=%d, max_sug=%d, auto_submit=%d, auto_redirect=%d, no_results="%s", selector="%s", data_source=%d, data_callback="%s", data_static="%s", data_view="%s", theme="%s" WHERE fid=%d', array(
$values['min_char'],
$values['max_sug'],
$values['auto_submit'],
$values['auto_redirect'],
$values['no_results'],
$values['selector'],
$data_type,
$callback,
$values['staticresource_textfield'],
$values['view_textfield'],
$values['theme'],
$values['fid'],
));
// ###
// UPDATE CHILD LIST BUT NOT THE ADVANCED OPTIONS.
$fids = _search_autocomplete_get_all_children($values['fid']);
// Update the settings for this form + every children form.
foreach ($fids as $fid) {
// -> update form.
db_query('UPDATE {search_autocomplete_forms} SET min_char=%d, max_sug=%d, auto_submit=%d, auto_redirect=%d, no_results="%s", theme="%s" WHERE fid=%d', array(
$values['min_char'],
$values['max_sug'],
$values['auto_submit'],
$values['auto_redirect'],
$values['no_results'],
$values['theme'],
$fid,
));
}
// ###.
drupal_clear_css_cache();
$form_state['redirect'] = 'admin/settings/search_autocomplete';
$ok_query ? drupal_set_message(t("Configuration success !")) : drupal_set_message(t("An error has occured while saving the settings. Please, double check your settings!"), 'error');
}