You are here

function search_autocomplete_form_configure_submit in Search Autocomplete 6.2

Same name and namespace in other branches
  1. 6.4 search_autocomplete.form.configure.inc \search_autocomplete_form_configure_submit()
  2. 7.4 search_autocomplete.form.configure.inc \search_autocomplete_form_configure_submit()
  3. 7.2 search_autocomplete.form.configure.inc \search_autocomplete_form_configure_submit()
  4. 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 167
Search Autocomplete Helper functions to retrive suggestions from database

Code

function search_autocomplete_form_configure_submit($form, &$form_state) {
  $ok_query = TRUE;

  // so far so good!

  //Update the database with the new values
  $what = '';
  $sids = '';
  $weights = '';

  // ###
  // UPDATE THE FORM
  // -> update form
  $values = $form_state['values'];
  $ok_query &= db_query('UPDATE {search_autocomplete_forms} SET min_char = %d, max_sug = %d, selector = "%s" WHERE fid = %d', array(
    $values['min_char'],
    $values['max_sug'],
    $values['selector'],
    $values['fid'],
  ));

  // -> update each suggestions
  foreach ($form_state['clicked_button']['#post']['search_autocomplete_what'] as $key => $item) {
    drupal_write_record('search_autocomplete_suggestions', $values['search_autocomplete_what'][$key], 'sid');
  }

  // ###
  // 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
    $ok_query &= db_query('UPDATE {search_autocomplete_forms} SET min_char = %d, max_sug = %d WHERE fid = %d', array(
      $values['min_char'],
      $values['max_sug'],
      $fid,
    ));

    // -> update each suggestions
    foreach ($form_state['clicked_button']['#post']['search_autocomplete_what'] as $key => $item) {
      drupal_write_record('search_autocomplete_suggestions', $values['search_autocomplete_what'][$key], 'sid');
    }
  }

  // ###
  $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');
}