Fix if setting found in db, but not found in plugins

This commit is contained in:
slawkens
2025-07-22 21:49:05 +02:00
parent caf326a658
commit 6e5a4ff8c7

View File

@@ -472,24 +472,22 @@ class Settings implements \ArrayAccess
if (!isset($this->settingsFile[$pluginKeyName]['settings'])) { if (!isset($this->settingsFile[$pluginKeyName]['settings'])) {
throw new \RuntimeException('Unknown plugin settings: ' . $pluginKeyName); throw new \RuntimeException('Unknown plugin settings: ' . $pluginKeyName);
} }
return $this->settingsFile[$pluginKeyName]['settings']; return $this->settingsFile[$pluginKeyName]['settings'];
} }
$ret = []; if (!isset($this->settingsFile[$pluginKeyName]['settings'][$key])) {
if(isset($this->settingsFile[$pluginKeyName]['settings'][$key])) { return null;
$ret = $this->settingsFile[$pluginKeyName]['settings'][$key];
} }
$ret = $this->settingsFile[$pluginKeyName]['settings'][$key];
if(isset($this->settingsDatabase[$pluginKeyName][$key])) { if(isset($this->settingsDatabase[$pluginKeyName][$key])) {
$value = $this->settingsDatabase[$pluginKeyName][$key]; $value = $this->settingsDatabase[$pluginKeyName][$key];
$ret['value'] = $value; $ret['value'] = $value;
} }
else { else {
if (!isset($this->settingsFile[$pluginKeyName]['settings'][$key])) {
return null;
}
$ret['value'] = $this->settingsFile[$pluginKeyName]['settings'][$key]['default']; $ret['value'] = $this->settingsFile[$pluginKeyName]['settings'][$key]['default'];
} }