public function FasttoggleSettingsForm::submitForm in Fasttoggle 8.2
Same name and namespace in other branches
- 8.3 src/Form/FasttoggleSettingsForm.php \Drupal\fasttoggle\Form\FasttoggleSettingsForm::submitForm()
Form submission handler.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Overrides ConfigFormBase::submitForm
File
- src/
Form/ FasttoggleSettingsForm.php, line 151 - Contains \Drupal\fasttoggle\Form\FasttoggleSettingsForm.
Class
- FasttoggleSettingsForm
- Configure fasttoggle settings for this site.
Namespace
Drupal\fasttoggle\FormCode
public function submitForm(array &$form, FormStateInterface $form_state) {
$config = $this
->config('fasttoggle.settings');
$configKeys = [];
$settings_obj = $this
->configFactory()
->getEditable('fasttoggle.settings');
$settings_obj
->set('label_style', $form_state
->getValue('label_style'));
$objects = $this->objectManager
->getDefinitions();
$group = $this->groupManager
->getDefinitions();
$object_settings = $this->settingManager
->getDefinitions();
foreach ($object_settings as $type => $groups) {
$plugin = $this->objectManager
->createInstance($type);
$configKeys += array_keys($plugin
->getSitewideSettingFormElements($config));
foreach ($groups as $group => $settings) {
$plugin = $this->groupManager
->createInstance($group);
$configKeys += array_keys($plugin
->getSitewideSettingFormElements($config));
foreach ($settings as $setting => $settingDef) {
$plugin = $this->settingManager
->createInstance($setting);
$configKeys += array_merge($configKeys, $plugin
->getSitewideSettingFormElements($config));
$configKeys += array_merge($configKeys, $plugin
->configSettingKeys());
}
}
}
foreach ($configKeys as $key) {
$new_value = $form_state
->getValue($key);
$settings_obj
->set($key, $new_value)
->save();
}
parent::submitForm($form, $form_state);
}