- $storage_form_errors = DI::storage()->saveOptions($storage_opts_data);
- if (count($storage_form_errors)) {
- foreach ($storage_form_errors as $name => $err) {
- notice('Storage backend, ' . $storage_opts[$name][1] . ': ' . $err);
+ $storage_form_errors = $newstorage->saveOptions($storage_opts_data);
+ if (count($storage_form_errors)) {
+ foreach ($storage_form_errors as $name => $err) {
+ notice(DI::l10n()->t('Storage backend %s error: %s', $storage_opts[$name][1], $err));
+ }
+ DI::baseUrl()->redirect('admin/storage');
+ }
+
+ if (!empty($_POST['submit_save_set'])) {
+ try {
+ /** @var IWritableStorage $newstorage */
+ $newstorage = DI::storageManager()->getWritableStorageByName($storagebackend);
+
+ if (!DI::storageManager()->setBackend($newstorage)) {
+ notice(DI::l10n()->t('Invalid storage backend setting value.'));