Fix settings save path

This commit is contained in:
2026-01-12 11:33:33 +01:00
parent 60dab1e9df
commit 1ec8d734ee
+12 -7
View File
@@ -4,11 +4,11 @@
* Speichert in settings.json, lädt ohne Reload * Speichert in settings.json, lädt ohne Reload
*/ */
class SettingsManager { class SettingsManager {
private $settingsFile = 'settings.json'; private $settingsFile;
private $settings = []; private $settings = [];
public function __construct($file = null) { public function __construct($file = null) {
if ($file) $this->settingsFile = $file; $this->settingsFile = $file ?: (__DIR__ . '/settings.json');
$this->load(); $this->load();
} }
@@ -68,10 +68,12 @@ class SettingsManager {
} }
private function save() { private function save() {
return file_put_contents( $payload = json_encode($this->settings, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
$this->settingsFile, if ($payload === false) {
json_encode($this->settings, JSON_PRETTY_PRINT) return false;
) !== false; }
return file_put_contents($this->settingsFile, $payload, LOCK_EX) !== false;
} }
// Für AJAX-Anfragen // Für AJAX-Anfragen
@@ -98,7 +100,10 @@ class SettingsManager {
if ($key && $this->set($key, $value)) { if ($key && $this->set($key, $value)) {
echo json_encode(['success' => true, 'message' => 'Einstellung gespeichert']); echo json_encode(['success' => true, 'message' => 'Einstellung gespeichert']);
} else { } else {
echo json_encode(['success' => false, 'message' => 'Fehler beim Speichern']); echo json_encode([
'success' => false,
'message' => 'Fehler beim Speichern. Bitte Dateirechte prüfen.'
]);
} }
exit; exit;
} }