function search_by_page_admin_settings_submit in Search by Page 8
Same name and namespace in other branches
- 6 search_by_page.module \search_by_page_admin_settings_submit()
- 7 search_by_page.module \search_by_page_admin_settings_submit()
Submit handler for search_by_page_admin_settings().
1 string reference to 'search_by_page_admin_settings_submit'
- search_by_page_admin_settings in ./
search_by_page.module - Returns the admin settings page for a single search environment.
File
- ./
search_by_page.module, line 1262 - Main module file for Drupal module Search by Page.
Code
function search_by_page_admin_settings_submit($form, &$form_state) {
// This basically follows system_settings_form_submit().
$form_state['redirect'] = 'admin/config/search/search_by_page';
$environment = intval($form_state['values']['environment']);
$skip = [
'submit',
'form_id',
'form_token',
'form_build_id',
'environment',
'set_as_default',
];
// Special case: results per page, make sure it's an integer. Could do
// this in validation, but...
$num = intval($form_state['values']['results_per_page']);
if ($num < 1) {
$num = 10;
}
$form_state['values']['results_per_page'] = $num;
foreach ($form_state['values'] as $key => $value) {
if (!in_array($key, $skip)) {
\Drupal::service('search_by_page.settings')
->setSetting($key, $environment, $value);
}
}
if ($form_state['values']['set_as_default']) {
\Drupal::state()
->set('search_by_page_default_environment', $environment);
}
// Make sure menu gets rebuilt, so our new/changed path works.
// Also need to clear block cache.
\Drupal::state()
->set('menu_rebuild_needed', TRUE);
drupal_flush_all_caches();
\Drupal::messenger()
->addMessage(t('The configuration options have been saved.'));
}