dataVersion OKAY

autoupdate actif in config WIP
This commit is contained in:
Fred Tempez 2023-02-05 19:10:42 +01:00
parent 5a83835b4d
commit 4d4512fcc6
8 changed files with 26 additions and 19 deletions

View File

@ -1,9 +1,13 @@
# Changelog # Changelog
## Version 12.2.04
### Amélioration :
- Prise en charge des mises à jour en ligne
## Version 12.2.03 ## Version 12.2.03
- Corrections de bugs consécutifs au changement de format de languages.json - 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 : ### Corrections :
- Gestion des plugins (modules) : - Gestion des plugins (modules) :
- Corrige un bug dans l'acquisition des données du store. - 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). - 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. - 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 : ### 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. - 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 : ### 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. - 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 : ### Nouveautés :
- Traduction des modules en anglais, grec, espagnol, italien et portugais. - Traduction des modules en anglais, grec, espagnol, italien et portugais.
### Amélioration : ### Amélioration :

View File

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

@ -53,7 +53,8 @@ class common
const ZWII_UI_URL = 'https://forge.chapril.org/ZwiiCMS-Team/zwiicms-translations/raw/branch/master/'; 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 // 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"; const ZWII_UPDATE_CHANNEL = "v12";
public static $actions = []; public static $actions = [];
@ -471,9 +472,12 @@ class common
} }
} }
// Mise à jour des données core // Mise à jour des données core selon la version du jeu de données
if ($this->getData(['core', 'dataVersion']) !== intval(str_replace('.', '', self::ZWII_VERSION))) if ( $this->getData(['core', 'dataVersion']) < common::ZWII_DATAVERSION ) {
die();
include('core/include/update.inc.php'); include('core/include/update.inc.php');
}
// Données de proxy // Données de proxy
$proxy = $this->getData(['config', 'proxyType']) . $this->getData(['config', 'proxyUrl']) . ':' . $this->getData(['config', 'proxyPort']); $proxy = $this->getData(['config', 'proxyType']) . $this->getData(['config', 'proxyUrl']) . ':' . $this->getData(['config', 'proxyPort']);
@ -2270,11 +2274,11 @@ class common
'help' => 'Utilisateurs', 'help' => 'Utilisateurs',
'href' => helper::baseUrl() . 'user' 'href' => helper::baseUrl() . 'user'
]) . '</li>'; ]) . '</li>';
// Mise à jour automatique // Mise à jour automatique
$today = mktime(0, 0, 0); $today = mktime(0, 0, 0);
$checkUpdate = (int) $this->getData(['core', 'lastAutoUpdate']); $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 ( if (
$this->getData(['config', 'autoUpdate']) === true $this->getData(['config', 'autoUpdate']) === true
and $this->getData(['core', 'updateAvailable']) === false and $this->getData(['core', 'updateAvailable']) === false

View File

@ -420,7 +420,6 @@ class config extends common
$this->setData(['core', 'lastAutoUpdate', 0]); $this->setData(['core', 'lastAutoUpdate', 0]);
} }
// Sauvegarder la configuration // Sauvegarder la configuration
$this->setData([ $this->setData([
'config', 'config',
@ -545,7 +544,8 @@ class config extends common
// Variable de version // Variable de version
self::$onlineVersion = helper::getUrlContents(common::ZWII_UPDATE_URL . common::ZWII_UPDATE_CHANNEL . '/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'); self::$updateButtonText = helper::translate('Mettre à jour');
} }

View File

@ -84,8 +84,8 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col6"> <div class="col6">
<?php echo '<pre>Version installée : <strong>' . common::ZWII_VERSION . '</strong></pre>'; ?> <pre>Version installée : <strong><?php echo common::ZWII_VERSION ; ?></strong></pre>
<?php echo $module::$onlineVersion ? '<pre>Version en ligne : <strong>' . $module::$onlineVersion . '</strong></pre>' : ''; ?> <pre>Version en ligne : <strong><?php echo $module::$onlineVersion ; ?></strong></pre>
</div> </div>
<div class="col4 verticalAlignBottom"> <div class="col4 verticalAlignBottom">
<?php echo template::button('configUpdateForced', [ <?php echo template::button('configUpdateForced', [
@ -93,7 +93,6 @@
'href' => helper::baseUrl() . 'install/update', 'href' => helper::baseUrl() . 'install/update',
'value' => $module::$updateButtonText, 'value' => $module::$updateButtonText,
'class' => 'buttonRed', 'class' => 'buttonRed',
'disabled' => !$module::$onlineVersion
]); ?> ]); ?>
</div> </div>
</div> </div>

View File

@ -44,7 +44,7 @@ class init extends common
] ]
], ],
'core' => [ 'core' => [
'dataVersion' => 11600, 'dataVersion' => 12000,
'lastBackup' => 0, 'lastBackup' => 0,
'lastClearTmp' => 0, 'lastClearTmp' => 0,
'lastAutoUpdate' => 0, 'lastAutoUpdate' => 0,

View File

@ -82,7 +82,7 @@ class translate extends common
// Upload et sauver le fichier de langue // Upload et sauver le fichier de langue
$response = json_decode(helper::getUrlContents(common::ZWII_UI_URL . $lang . '.json'), true); $response = json_decode(helper::getUrlContents(common::ZWII_UI_URL . $lang . '.json'), true);
if ($response !== false) { 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 // Mettre à jour le descripteur
$enumsStore = json_decode(helper::getUrlContents(common::ZWII_UI_URL . 'languages.json'), true); $enumsStore = json_decode(helper::getUrlContents(common::ZWII_UI_URL . 'languages.json'), true);
$enums = $this->getData(['languages']); $enums = $this->getData(['languages']);
@ -91,7 +91,7 @@ class translate extends common
]); ]);
$response = (bool) $response && $this->setData(['languages', $enums]); $response = (bool) $response && $this->setData(['languages', $enums]);
} }
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'translate', 'redirect' => helper::baseUrl() . 'translate',
@ -272,7 +272,7 @@ class translate extends common
} }
} }
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'title' => helper::translate('Multilingue'), 'title' => helper::translate('Multilingue'),