function search_autocomplete_suggestion_new_submit in Search Autocomplete 7.2
Same name and namespace in other branches
- 6.2 search_autocomplete.suggestion.configure.inc \search_autocomplete_suggestion_new_submit()
Implementation of hook_submit(). Save the new form in database
File
- ./
search_autocomplete.suggestion.configure.inc, line 171 - Search Autocomplete Create a new suggestion to Search Autocomplete suggestion list.
Code
function search_autocomplete_suggestion_new_submit($form, &$form_state) {
$ok_query = TRUE;
// so far so good
// if cancel the creation:
if ($form_state['clicked_button']['#name'] == 'cancel') {
drupal_set_message(t('No suggestion has been created'), 'info');
$form_state['redirect'] = 'admin/config/search/search_autocomplete';
return;
}
$values = $form_state['values'];
// get a new possible sid
$result = db_select('search_autocomplete_suggestions', 's')
->fields('s', array(
'sid',
))
->orderBy('sid', 'DESC')
->execute()
->fetchAllAssoc('sid');
$newsid = key($result) + 1;
// insert the default entry:
$ok_query &= db_insert('search_autocomplete_suggestions')
->fields(array(
'sid' => $newsid,
'sug_fid' => 0,
'sug_title' => $values['title'],
'sug_dependencies' => $values['dependancies'],
'sug_prefix' => $values['prefix'],
'sug_query' => $values['query'],
))
->execute();
// duplicate the suggestion for as many form as needed:
$result = db_select('search_autocomplete_forms', 'f')
->fields('f', array(
'fid',
))
->execute()
->fetchAllAssoc('fid');
foreach ($result as $match) {
db_insert('search_autocomplete_suggestions')
->fields(array(
'sid' => $newsid,
'sug_fid' => $match->fid,
'sug_title' => $values['title'],
'sug_dependencies' => $values['dependancies'],
'sug_prefix' => $values['prefix'],
'sug_query' => $values['query'],
))
->execute();
}
// redirect to configuration page
$form_state['redirect'] = 'admin/config/search/search_autocomplete';
// Give a return to the user
drupal_set_message(t('The suggestion has been created successfully !'));
}