12201 Better save json function, 5 tries if save error.

This commit is contained in:
Fred Tempez 2023-02-01 21:16:55 +01:00
parent 8dded3d437
commit 8d6dc7f2e4
5 changed files with 21 additions and 4 deletions

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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');
}
}

View File

@ -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 = [];