diff --git a/CHANGES.md b/CHANGES.md index 8328c97b..f5a3e765 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,9 @@ # Changelog +## Version 12.2.01 +### Améliorations : +- Gère les erreurs d'écritures à l'aide dun contrôle des données écrites sur le disque. Cinq tentatives se terminent par un arrêt en cas d'impossibilité d'enregistrer les données. + ## Version 12.2.00 ### Nouveautés : - Traduction des modules en anglais, grec, espagnol, italien et portugais. diff --git a/LISEZMOI.md b/LISEZMOI.md index a600a9c6..f3f795f5 100644 --- a/LISEZMOI.md +++ b/LISEZMOI.md @@ -1,4 +1,4 @@ -# ZwiiCMS 12.2.00 +# ZwiiCMS 12.2.01 Zwii est un CMS sans base de données (flat-file) qui permet de créer et gérer facilement un site web sans aucune connaissance en programmation. diff --git a/README.md b/README.md index de7699cd..1ac09e40 100755 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# ZwiiCMS 12.2.00 +# ZwiiCMS 12.2.01 Zwii is a database-less (flat-file) CMS that allows you to easily create and manage a web site without any programming knowledge. diff --git a/core/class/jsondb/JsonDb.class.php b/core/class/jsondb/JsonDb.class.php index 13f8a717..92734a33 100644 --- a/core/class/jsondb/JsonDb.class.php +++ b/core/class/jsondb/JsonDb.class.php @@ -136,7 +136,20 @@ class JsonDb extends \Prowebcraft\Dot * Save database */ public function save() { - file_put_contents($this->db, json_encode($this->data, JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT|LOCK_EX)); // Multi user get a locker + $lenght = strlen(json_encode($this->data)); + $try = 0; + while ($try < 5) { + $written = file_put_contents($this->db, json_encode($this->data), JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT|LOCK_EX); // Multi user get a locker + if ($written == $lenght) { + break; + } + $try++; + sleep(1); + } + if ($written !== $lenght) { + exit('Erreur d\'écriture, les données n\'ont pas été sauvegardées'); + } + } diff --git a/core/core.php b/core/core.php index f97730c4..30d48b7c 100644 --- a/core/core.php +++ b/core/core.php @@ -53,7 +53,7 @@ class common const ZWII_UI_URL = 'https://forge.chapril.org/ZwiiCMS-Team/zwiicms-translations/raw/branch/master/'; // Numéro de version et branche pour l'autoupdate - const ZWII_VERSION = '12.2.00'; + const ZWII_VERSION = '12.2.01'; const ZWII_UPDATE_CHANNEL = "v12"; public static $actions = [];