From 625d949ba131ef8aff32b6a99e1d3a90b8dbda86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Thu, 10 Sep 2020 08:37:19 +0200 Subject: Properly check value types when updating watermark settings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- lib/Controller/SettingsController.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'lib') diff --git a/lib/Controller/SettingsController.php b/lib/Controller/SettingsController.php index 24a7f1ad..ef3e2a04 100644 --- a/lib/Controller/SettingsController.php +++ b/lib/Controller/SettingsController.php @@ -232,12 +232,15 @@ class SettingsController extends Controller{ 'data' => ['message' => $this->l10n->t('Invalid config key') . ' ' . $fullKey] ], Http::STATUS_BAD_REQUEST); } - $value = $value === true ? 'yes' : $value; - $value = $value === false ? 'no' : $value; - if (AppConfig::APP_SETTING_TYPES[$fullKey] === 'array') { - $value = implode(',', $value); + $parsedValue = $value; + if (is_bool($value)) { + $parsedValue = $value ? 'yes' : 'no'; } - $this->appConfig->setAppValue($fullKey, $value); + $appSettingsType = isset(AppConfig::APP_SETTING_TYPES[$fullKey]) ? AppConfig::APP_SETTING_TYPES[$fullKey] : 'string'; + if ($appSettingsType === 'array') { + $parsedValue = implode(',', $value); + } + $this->appConfig->setAppValue($fullKey, $parsedValue); } $response = [ -- cgit v1.2.3