Update setting() function to support storing multiple settings at the same time

This commit is contained in:
Ralph J. Smit
2022-08-06 15:35:45 +02:00
parent f2c47ba2f3
commit 465b2a524b
3 changed files with 16 additions and 20 deletions

View File

@@ -159,9 +159,7 @@ class Settings extends Page
Storage::disk('logos')->delete($oldLogo);
}
foreach ($state as $key => $value) {
setting([$key => $value]);
}
setting($state);
cache()->forget('core.settings');

View File

@@ -82,9 +82,7 @@ class Terms extends Page
{
$state = $this->form->getState();
foreach ($state as $key => $value) {
setting([$key => $value]);
}
setting($state);
cache()->forget('core.settings');

View File

@@ -12,23 +12,23 @@ if ( ! function_exists('setting') ) {
*/
function setting($key = null, $default = null)
{
if ( is_array($key) ) {
$value = Arr::first($key);
if ( is_array($settings = $key) ) {
foreach ($settings as $key => $value) {
if ( $value === true ) {
$value = '1';
}
if ( $value === true ) {
$value = '1';
if ( $value === false ) {
$value = '0';
}
Setting::updateOrCreate([
'key' => $key,
], [
'value' => $value,
]);
}
if ( $value === false ) {
$value = '0';
}
Setting::updateOrCreate([
'key' => key($key)
], [
'value' => $value,
]);
try {
cache()->forget('core.settings');
} catch (Exception $e) {