Fix settings save path
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user