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
## 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 :

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.

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.

View File

@ -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'
]) . '</li>';
// 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

View File

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

View File

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

View File

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

View File

@ -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'),