public function SettingsForm::submitForm in Juicebox HTML5 Responsive Image Galleries 8.3
Same name and namespace in other branches
- 8.2 src/Form/SettingsForm.php \Drupal\juicebox\Form\SettingsForm::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/ SettingsForm.php, line 170
Class
- SettingsForm
- Defines a form that configures global Juicebox settings.
Namespace
Drupal\juicebox\FormCode
public function submitForm(array &$form, FormStateInterface $form_state) {
$library = $this->juiceboxFormatter
->getLibrary(TRUE, TRUE);
if ($form_state
->getvalue('translate_interface') && !empty($library['installed']) && $form_state
->getvalue('base_languagelist') != $library['base_languagelist']) {
$this
->messenger()
->addWarning($this
->t('Interface translations are enabled but the base translation string does not match the suggested value for your version of the Juicebox javascript library. If some parts of the Juicebox interface do not appear translated correctly please verify that your base translation string is correct.'));
}
$this
->config('juicebox.settings')
->set('apply_markup_filter', $form_state
->getvalue('apply_markup_filter'))
->set('enable_cors', $form_state
->getvalue('enable_cors'))
->set('translate_interface', $form_state
->getvalue('translate_interface'))
->set('base_languagelist', $form_state
->getvalue('base_languagelist'))
->set('juicebox_multisize_small', $form_state
->getvalue('juicebox_multisize_small'))
->set('juicebox_multisize_medium', $form_state
->getvalue('juicebox_multisize_medium'))
->set('juicebox_multisize_large', $form_state
->getvalue('juicebox_multisize_large'))
->save();
// These settings are global and may affect any gallery embed or XML code,
// so we need to clear everything tagged with juicebox_gallery cache tag.
Cache::invalidateTags([
'juicebox_gallery',
]);
$this
->messenger()
->addMessage($this
->t('The Juicebox configuration options have been saved'));
}