12008 fix gestion des plugins quand aucun module est utilisé
This commit is contained in:
parent
0dca0487ec
commit
844ba88a1a
@ -1,6 +1,6 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## Version 12.0.00
|
## Version 12.0.08
|
||||||
### Nouveautés :
|
### Nouveautés :
|
||||||
- Compatiblité PHP 8.1
|
- Compatiblité PHP 8.1
|
||||||
- Module addon refondu et renommé plugin.
|
- Module addon refondu et renommé plugin.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# ZwiiCMS 12.0.00
|
# ZwiiCMS 12.0.08
|
||||||
|
|
||||||
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.
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ class common
|
|||||||
// Numéro de version
|
// Numéro de version
|
||||||
const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/update/raw/branch/master/';
|
const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/update/raw/branch/master/';
|
||||||
|
|
||||||
const ZWII_VERSION = '12.0.00-beta07';
|
const ZWII_VERSION = '12.0.08';
|
||||||
const ZWII_UPDATE_CHANNEL = "test";
|
const ZWII_UPDATE_CHANNEL = "test";
|
||||||
|
|
||||||
public static $actions = [];
|
public static $actions = [];
|
||||||
|
@ -506,34 +506,35 @@ class plugin extends common
|
|||||||
// Avec les commandes de sauvegarde et de restauration
|
// Avec les commandes de sauvegarde et de restauration
|
||||||
self::$modulesData[] = [];
|
self::$modulesData[] = [];
|
||||||
if (
|
if (
|
||||||
isset($pagesInfos) //&&
|
isset($pagesInfos)
|
||||||
//array_key_exists(self::$i18nContent, $pagesInfos)
|
|
||||||
) {
|
) {
|
||||||
foreach ($i18nSites as $keyi18n => $valuei18n) {
|
foreach ($i18nSites as $keyi18n => $valuei18n) {
|
||||||
foreach ($pagesInfos[$keyi18n] as $keyPage => $value) {
|
if (isset($pagesInfos[$keyi18n])) {
|
||||||
if (isset($infoModules[$pagesInfos[$keyi18n][$keyPage]['moduleId']])) {
|
foreach ($pagesInfos[$keyi18n] as $keyPage => $value) {
|
||||||
// Co[nstruire le tableau de sortie
|
if (isset($infoModules[$pagesInfos[$keyi18n][$keyPage]['moduleId']])) {
|
||||||
self::$modulesData[] = [
|
// Construire le tableau de sortie
|
||||||
$infoModules[$pagesInfos[$keyi18n][$keyPage]['moduleId']]['realName'] . ' (' . $pagesInfos[$keyi18n][$keyPage]['moduleId'] . ')',
|
self::$modulesData[] = [
|
||||||
$infoModules[$pagesInfos[$keyi18n][$keyPage]['moduleId']]['version'],
|
$infoModules[$pagesInfos[$keyi18n][$keyPage]['moduleId']]['realName'] . ' (' . $pagesInfos[$keyi18n][$keyPage]['moduleId'] . ')',
|
||||||
template::flag($keyi18n, '20px') . ' <a href ="' . helper::baseUrl() . $keyPage . '" target="_blank">' . $pagesInfos[$keyi18n][$keyPage]['title'] . ' (' . $keyPage . ')</a>',
|
$infoModules[$pagesInfos[$keyi18n][$keyPage]['moduleId']]['version'],
|
||||||
template::button('dataExport' . $keyPage, [
|
template::flag($keyi18n, '20px') . ' <a href ="' . helper::baseUrl() . $keyPage . '" target="_blank">' . $pagesInfos[$keyi18n][$keyPage]['title'] . ' (' . $keyPage . ')</a>',
|
||||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/dataExport/filemanager/' . self::$i18nContent . '/' . $pagesInfos[$keyi18n][$keyPage]['moduleId'] . '/' . $keyPage . '/' . $_SESSION['csrf'], // appel de fonction vaut exécution, utiliser un paramètre
|
template::button('dataExport' . $keyPage, [
|
||||||
'value' => template::ico('download-cloud'),
|
'href' => helper::baseUrl() . $this->getUrl(0) . '/dataExport/filemanager/' . self::$i18nContent . '/' . $pagesInfos[$keyi18n][$keyPage]['moduleId'] . '/' . $keyPage . '/' . $_SESSION['csrf'], // appel de fonction vaut exécution, utiliser un paramètre
|
||||||
'help' => 'Sauvegarder les données du module dans le gestionnaire de fichiers'
|
'value' => template::ico('download-cloud'),
|
||||||
]),
|
'help' => 'Sauvegarder les données du module dans le gestionnaire de fichiers'
|
||||||
template::button('dataExport' . $keyPage, [
|
]),
|
||||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/dataExport/download/' . self::$i18nContent . '/' . $pagesInfos[$keyi18n][$keyPage]['moduleId'] . '/' . $keyPage . '/' . $_SESSION['csrf'], // appel de fonction vaut exécution, utiliser un paramètre
|
template::button('dataExport' . $keyPage, [
|
||||||
'value' => template::ico('download'),
|
'href' => helper::baseUrl() . $this->getUrl(0) . '/dataExport/download/' . self::$i18nContent . '/' . $pagesInfos[$keyi18n][$keyPage]['moduleId'] . '/' . $keyPage . '/' . $_SESSION['csrf'], // appel de fonction vaut exécution, utiliser un paramètre
|
||||||
'help' => 'Sauvegarder et télécharger les données du module'
|
'value' => template::ico('download'),
|
||||||
]),
|
'help' => 'Sauvegarder et télécharger les données du module'
|
||||||
template::button('dataDelete' . $keyPage, [
|
]),
|
||||||
'href' => helper::baseUrl() . $this->getUrl(0) . '/dataDelete/' . self::$i18nContent . '/' . $pagesInfos[$keyi18n][$keyPage]['moduleId'] . '/' . $keyPage . '/' . $_SESSION['csrf'], // appel de fonction vaut exécution, utiliser un paramètre
|
template::button('dataDelete' . $keyPage, [
|
||||||
'value' => template::ico('trash'),
|
'href' => helper::baseUrl() . $this->getUrl(0) . '/dataDelete/' . self::$i18nContent . '/' . $pagesInfos[$keyi18n][$keyPage]['moduleId'] . '/' . $keyPage . '/' . $_SESSION['csrf'], // appel de fonction vaut exécution, utiliser un paramètre
|
||||||
'class' => 'buttonRed dataDelete',
|
'value' => template::ico('trash'),
|
||||||
'help' => 'Détacher le module de la page',
|
'class' => 'buttonRed dataDelete',
|
||||||
])
|
'help' => 'Détacher le module de la page',
|
||||||
];
|
])
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -689,18 +690,18 @@ class plugin extends common
|
|||||||
|
|
||||||
// Copier les données et le descripteur
|
// Copier les données et le descripteur
|
||||||
$success = file_put_contents($tmpFolder . '/module.json', json_encode($moduleData)) === false ? false : true;
|
$success = file_put_contents($tmpFolder . '/module.json', json_encode($moduleData)) === false ? false : true;
|
||||||
|
|
||||||
$success = $success && is_int(file_put_contents($tmpFolder . '/enum.json', json_encode( [$moduleId => $infoModule])));
|
$success = $success && is_int(file_put_contents($tmpFolder . '/enum.json', json_encode([$moduleId => $infoModule])));
|
||||||
// Le dossier du module s'il existe
|
// Le dossier du module s'il existe
|
||||||
if (is_dir(self::DATA_DIR . $moduleId . '/' . $pageId )) {
|
if (is_dir(self::DATA_DIR . $moduleId . '/' . $pageId)) {
|
||||||
// Copier le dossier des données
|
// Copier le dossier des données
|
||||||
$success = $success && $this->copyDir(self::DATA_DIR . '/'. $moduleId . '/' . $pageId , $tmpFolder . '/dataDirectory' );
|
$success = $success && $this->copyDir(self::DATA_DIR . '/' . $moduleId . '/' . $pageId, $tmpFolder . '/dataDirectory');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Création du zip
|
// Création du zip
|
||||||
$fileName = $lang . '-' . $moduleId . '-' . $pageId . '.zip';
|
$fileName = $lang . '-' . $moduleId . '-' . $pageId . '.zip';
|
||||||
$this->makeZip(self::TEMP_DIR . $fileName, $tmpFolder);
|
$this->makeZip(self::TEMP_DIR . $fileName, $tmpFolder);
|
||||||
|
|
||||||
// Gestin de l'action
|
// Gestin de l'action
|
||||||
if ($success) {
|
if ($success) {
|
||||||
switch ($action) {
|
switch ($action) {
|
||||||
@ -709,7 +710,7 @@ class plugin extends common
|
|||||||
mkdir(self::FILE_DIR . 'source/modules');
|
mkdir(self::FILE_DIR . 'source/modules');
|
||||||
}
|
}
|
||||||
if (file_exists(self::TEMP_DIR . $fileName)) {
|
if (file_exists(self::TEMP_DIR . $fileName)) {
|
||||||
$success = $success && copy(self::TEMP_DIR . $fileName, self::FILE_DIR . 'source/modules/data' . $moduleId . '.zip');
|
$success = $success && copy(self::TEMP_DIR . $fileName, self::FILE_DIR . 'source/modules/data' . $moduleId . '.zip');
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'redirect' => helper::baseUrl() . 'plugin',
|
'redirect' => helper::baseUrl() . 'plugin',
|
||||||
@ -782,9 +783,9 @@ class plugin extends common
|
|||||||
|
|
||||||
// Copie des fichiers d'accompagnement
|
// Copie des fichiers d'accompagnement
|
||||||
// Le dossier du module s'il existe
|
// Le dossier du module s'il existe
|
||||||
if (is_dir($tmpFolder . '/dataDirectory' )) {
|
if (is_dir($tmpFolder . '/dataDirectory')) {
|
||||||
// Copier le dossier des données
|
// Copier le dossier des données
|
||||||
$this->copyDir($tmpFolder . '/dataDirectory' , self::DATA_DIR . '/' . $moduleId . '/'. $pageId );
|
$this->copyDir($tmpFolder . '/dataDirectory', self::DATA_DIR . '/' . $moduleId . '/' . $pageId);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Supprimer le dossier temporaire
|
// Supprimer le dossier temporaire
|
||||||
|
Loading…
Reference in New Issue
Block a user