From 4d4512fcc6ad0e2ad9b82b85de5b3d3d809e8a00 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Sun, 5 Feb 2023 19:10:42 +0100 Subject: [PATCH] dataVersion OKAY autoupdate actif in config WIP --- CHANGES.md | 10 +++++++--- LISEZMOI.md | 2 +- README.md | 2 +- core/core.php | 14 +++++++++----- core/module/config/config.php | 4 ++-- core/module/config/view/setup/setup.php | 5 ++--- core/module/install/ressource/defaultdata.php | 2 +- core/module/translate/translate.php | 6 +++--- 8 files changed, 26 insertions(+), 19 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 708682bd..7c2ef9fd 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,9 +1,13 @@ # Changelog +## Version 12.2.04 +### Amélioration : +- Prise en charge des mises à jour en ligne + ## Version 12.2.03 - Corrections de bugs consécutifs au changement de format de languages.json -## Version 12.2.02 +## Version 12.2.02 (version non publiée) ### Corrections : - Gestion des plugins (modules) : - Corrige un bug dans l'acquisition des données du store. @@ -11,13 +15,13 @@ - Corrige un bug dans l'installation d'un module (dataDirectory). - Langues étrangères (v4) : corrige l'absence de spécificateur %s dans les traductions occasionnant des plantages lorsqu'une langue étrangère est active. -## Version 12.2.01 +## Version 12.2.01 (version non publiée) ### Correction : - Bug majeur lors de l'installation d'une version fraiche, erreur lors de la création de la base de données des langues. ### Amélioration : - Gestion des erreurs d'écritures à l'aide d'un 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 +## Version 12.2.00 (version non publiée) ### Nouveautés : - Traduction des modules en anglais, grec, espagnol, italien et portugais. ### Amélioration : diff --git a/LISEZMOI.md b/LISEZMOI.md index eb9ae38b..32aead6f 100644 --- a/LISEZMOI.md +++ b/LISEZMOI.md @@ -1,4 +1,4 @@ -# ZwiiCMS 12.2.03 +# ZwiiCMS 12.2.04 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 7646da87..09ba5d81 100755 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# ZwiiCMS 12.2.03 +# ZwiiCMS 12.2.04 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/core.php b/core/core.php index 0d532ff3..e497a079 100644 --- a/core/core.php +++ b/core/core.php @@ -53,7 +53,8 @@ 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'auto-update - const ZWII_VERSION = '12.2.03'; + const ZWII_VERSION = '12.2.04'; + const ZWII_DATAVERSION = 12000; const ZWII_UPDATE_CHANNEL = "v12"; public static $actions = []; @@ -471,9 +472,12 @@ class common } } - // Mise à jour des données core - if ($this->getData(['core', 'dataVersion']) !== intval(str_replace('.', '', self::ZWII_VERSION))) + // Mise à jour des données core selon la version du jeu de données + if ( $this->getData(['core', 'dataVersion']) < common::ZWII_DATAVERSION ) { + die(); include('core/include/update.inc.php'); + } + // Données de proxy $proxy = $this->getData(['config', 'proxyType']) . $this->getData(['config', 'proxyUrl']) . ':' . $this->getData(['config', 'proxyPort']); @@ -2270,11 +2274,11 @@ class common 'help' => 'Utilisateurs', 'href' => helper::baseUrl() . 'user' ]) . ''; - + // Mise à jour automatique $today = mktime(0, 0, 0); $checkUpdate = (int) $this->getData(['core', 'lastAutoUpdate']); - // Recherche d'une mise à jour si active, si une mise à jour n'est pas déjà disponible et le délais journalier est dépassé. + // Recherche d'une mise à jour si active, si une mise à jour n'est pas déjà disponible et le délai journalier est dépassé. if ( $this->getData(['config', 'autoUpdate']) === true and $this->getData(['core', 'updateAvailable']) === false diff --git a/core/module/config/config.php b/core/module/config/config.php index 3b0d3977..a89929b3 100644 --- a/core/module/config/config.php +++ b/core/module/config/config.php @@ -420,7 +420,6 @@ class config extends common $this->setData(['core', 'lastAutoUpdate', 0]); } - // Sauvegarder la configuration $this->setData([ 'config', @@ -545,7 +544,8 @@ class config extends common // Variable de version self::$onlineVersion = helper::getUrlContents(common::ZWII_UPDATE_URL . common::ZWII_UPDATE_CHANNEL . '/version'); - if (self::$onlineVersion > common::ZWII_VERSION) { + if (version_compare(self::$onlineVersion, common::ZWII_VERSION ) == 1) { + $this->setData(['core', 'updateAvailable', true]); self::$updateButtonText = helper::translate('Mettre à jour'); } diff --git a/core/module/config/view/setup/setup.php b/core/module/config/view/setup/setup.php index 4a440f95..9a7f991f 100644 --- a/core/module/config/view/setup/setup.php +++ b/core/module/config/view/setup/setup.php @@ -84,8 +84,8 @@
- Version installée : ' . common::ZWII_VERSION . ''; ?> - Version en ligne : ' . $module::$onlineVersion . '' : ''; ?> +
Version installée : 
+
Version en ligne  : 
helper::baseUrl() . 'install/update', 'value' => $module::$updateButtonText, 'class' => 'buttonRed', - 'disabled' => !$module::$onlineVersion ]); ?>
diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 45aeca0b..c6f95698 100644 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -44,7 +44,7 @@ class init extends common ] ], 'core' => [ - 'dataVersion' => 11600, + 'dataVersion' => 12000, 'lastBackup' => 0, 'lastClearTmp' => 0, 'lastAutoUpdate' => 0, diff --git a/core/module/translate/translate.php b/core/module/translate/translate.php index f6da3842..9ce8deb8 100644 --- a/core/module/translate/translate.php +++ b/core/module/translate/translate.php @@ -82,7 +82,7 @@ class translate extends common // Upload et sauver le fichier de langue $response = json_decode(helper::getUrlContents(common::ZWII_UI_URL . $lang . '.json'), true); if ($response !== false) { - $response = file_put_contents(self::I18N_DIR . $lang . '.json', json_encode($response, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT)); + $response = file_put_contents(self::I18N_DIR . $lang . '.json', json_encode($response, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT)); // Mettre à jour le descripteur $enumsStore = json_decode(helper::getUrlContents(common::ZWII_UI_URL . 'languages.json'), true); $enums = $this->getData(['languages']); @@ -91,7 +91,7 @@ class translate extends common ]); $response = (bool) $response && $this->setData(['languages', $enums]); } - + // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl() . 'translate', @@ -272,7 +272,7 @@ class translate extends common } } - + // Valeurs en sortie $this->addOutput([ 'title' => helper::translate('Multilingue'),