function search_autocomplete_form_add_submit in Search Autocomplete 7.2
Same name and namespace in other branches
- 6.4 search_autocomplete.form.add.inc \search_autocomplete_form_add_submit()
- 6.2 search_autocomplete.form.add.inc \search_autocomplete_form_add_submit()
- 7.4 search_autocomplete.form.add.inc \search_autocomplete_form_add_submit()
- 7.3 search_autocomplete.form.add.inc \search_autocomplete_form_add_submit()
Implements hook_submit(). Save the new form in database
File
- ./
search_autocomplete.form.add.inc, line 53 - Search Autocomplete Add a new form to Search Autocomplete form list.
Code
function search_autocomplete_form_add_submit($form, &$form_state) {
$ok_query = TRUE;
// so far so good!
// Update the database with the new values
$what = '';
$sids = '';
$weights = '';
// Get the form values
$values = $form_state['values'];
// Check if aready existing records
$result = db_select('search_autocomplete_forms', 'f')
->fields('f')
->condition('title', $values['title'])
->condition('selector', $values['selector'])
->execute()
->fetchAll();
foreach ($result as $obj) {
drupal_set_message(t("The title or the selector already exists. Please choose another one."), 'error');
return;
}
// Insert the new form in database
$fid = db_insert('search_autocomplete_forms')
->fields(array(
'title' => $values['title'],
'selector' => $values['selector'],
))
->execute();
// Connect default suggestions to this form
$result = db_select('search_autocomplete_suggestions', 's')
->fields('s')
->condition('sug_fid', 0)
->execute()
->fetchAllAssoc('sid');
foreach ($result as $match) {
db_insert('search_autocomplete_suggestions')
->fields(array(
'sid' => $match->sid,
'sug_fid' => $fid,
'sug_enabled' => $match->sug_enabled,
'sug_prefix' => $match->sug_prefix,
'sug_title' => $match->sug_title,
'sug_name' => $match->sug_name,
'sug_dependencies' => $match->sug_dependencies,
'sug_weight' => $match->sug_weight,
'sug_query' => $match->sug_query,
))
->execute();
}
// redirect to configuration page
$form_state['redirect'] = 'admin/config/search/search_autocomplete/' . $fid . '/configure';
// Give a return to the user
$ok_query ? drupal_set_message(t('The form has been created successfully !') . '<br/>' . t('Please check its configuration.')) : drupal_set_message(t("An error has occured while creating the form. Please, double check your settings!"), 'error');
}