From 204c5a4d99e9bc843785047a929f4bf2c3355712 Mon Sep 17 00:00:00 2001 From: fabrixxm Date: Fri, 14 Dec 2018 14:17:15 +0100 Subject: [PATCH] Don't try to save form for "None" backend. --- mod/admin.php | 45 +++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/mod/admin.php b/mod/admin.php index c454b325af..a0cc207e8d 100644 --- a/mod/admin.php +++ b/mod/admin.php @@ -1176,32 +1176,33 @@ function admin_page_site_post(App $a) StorageManager::setBackend($storagebackend); // save storage backend form - $storage_opts = $storagebackend::getOptions(); - $storage_form_prefix=preg_replace('|[^a-zA-Z0-9]|' ,'', $storagebackend); - $storage_opts_data = []; - foreach($storage_opts as $name => $info) { - $fieldname = $storage_form_prefix . '_' . $name; - switch ($info[0]) { // type - case 'checkbox': - case 'yesno': - $value = !empty($_POST[$fieldname]); - break; - default: - $value = defaults($_POST, $fieldname, ''); + if (!is_null($storagebackend) && $storagebackend != "") { + $storage_opts = $storagebackend::getOptions(); + $storage_form_prefix=preg_replace('|[^a-zA-Z0-9]|' ,'', $storagebackend); + $storage_opts_data = []; + foreach($storage_opts as $name => $info) { + $fieldname = $storage_form_prefix . '_' . $name; + switch ($info[0]) { // type + case 'checkbox': + case 'yesno': + $value = !empty($_POST[$fieldname]); + break; + default: + $value = defaults($_POST, $fieldname, ''); + } + $storage_opts_data[$name] = $value; } - $storage_opts_data[$name] = $value; - } - unset($name); - unset($info); + unset($name); + unset($info); - $storage_form_errors = $storagebackend::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 = $storagebackend::saveOptions($storage_opts_data); + if (count($storage_form_errors)) { + foreach($storage_form_errors as $name => $err) { + notice('Storage backend, ' . $storage_opts[$name][1] . ': ' . $err); + } + $a->internalRedirect('admin/site' . $active_panel); } - $a->internalRedirect('admin/site' . $active_panel); } -