From 7834ab3d62780dc83eee544264a8eccca180557c Mon Sep 17 00:00:00 2001 From: iglocska Date: Thu, 27 Jan 2022 20:57:35 +0100 Subject: [PATCH] chg: [settingsTable] Use settings array for the actual saving in saveSetting - allows us to modify a value in the processing steps before the value is committed to disk --- src/Model/Table/SettingsTable.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Model/Table/SettingsTable.php b/src/Model/Table/SettingsTable.php index 7e9bcff..7fe18ac 100644 --- a/src/Model/Table/SettingsTable.php +++ b/src/Model/Table/SettingsTable.php @@ -72,15 +72,15 @@ class SettingsTable extends AppTable } } } + $setting['value'] = $value ?? ''; if (empty($errors) && !empty($setting['beforeSave'])) { - $setting['value'] = $value ?? ''; $beforeSaveResult = $this->SettingsProvider->evaluateFunctionForSetting($setting['beforeSave'], $setting); if ($beforeSaveResult !== true) { $errors[] = $beforeSaveResult; } } if (empty($errors)) { - $saveResult = $this->saveSettingOnDisk($name, $value); + $saveResult = $this->saveSettingOnDisk($name, $setting['value']); if ($saveResult) { if (!empty($setting['afterSave'])) { $this->SettingsProvider->evaluateFunctionForSetting($setting['afterSave'], $setting);