From e26beac06c18df41db0343343c8463387095dbd1 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Tue, 6 Feb 2024 20:08:40 +0100 Subject: [PATCH] =?UTF-8?q?13104=20Protection=20suppl=C3=A9mentaire=20dans?= =?UTF-8?q?=20jsonDB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/class/jsondb/JsonDb.class.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/core/class/jsondb/JsonDb.class.php b/core/class/jsondb/JsonDb.class.php index 8344c045..b90ac676 100644 --- a/core/class/jsondb/JsonDb.class.php +++ b/core/class/jsondb/JsonDb.class.php @@ -143,7 +143,11 @@ class JsonDb extends \Prowebcraft\Dot public function save() { //$v = json_encode($this->data, JSON_UNESCAPED_UNICODE ); - $v = json_encode($this->data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_FORCE_OBJECT); + if ($this->data === null) { + error_log('Tentative d\'enregistrer de données nulles, enregistrement annulé.'); + exit('Tentative d\'enregistrer de données nulles, enregistrement annulé.'); + } + $v = json_encode($this->data, JSON_UNESCAPED_UNICODE | JSON_FORCE_OBJECT); $l = strlen($v); $t = 0; while ($t < 5) { @@ -154,7 +158,8 @@ class JsonDb extends \Prowebcraft\Dot $t++; } if ($w !== $l) { - exit('Erreur d\'écriture, les données n\'ont pas été sauvegardées'); + error_log('Erreur d\'écriture, les données n\'ont pas été sauvegardées.'); + exit('Erreur d\'écriture, les données n\'ont pas été sauvegardées.'); } }