Merge branch '11007' into 11008

This commit is contained in:
Fred Tempez 2021-08-21 09:02:19 +02:00
commit 4090e8153b
14 changed files with 65 additions and 102 deletions

View File

@ -1,7 +1,7 @@
# Changelog # Changelog
## Version 11.0.06 ## Version 11.0.07
- Modifications : - Modifications :
- Intégration de la classe layout dans la classe core - Intégration de la classe layout dans la classe core
- Gestion multi-langues - Gestion multi-langues

View File

@ -1,6 +1,6 @@
# ZwiiCMS 11.0.06 # ZwiiCMS 11.0.07
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

@ -45,7 +45,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 = '11.0.06'; const ZWII_VERSION = '11.0.07';
const ZWII_UPDATE_CHANNEL = "v11"; const ZWII_UPDATE_CHANNEL = "v11";
public static $actions = []; public static $actions = [];

View File

@ -588,8 +588,8 @@ $this->deleteData(['config','itemsperPage']);
$this->setData(['core', 'dataVersion', 10600]); $this->setData(['core', 'dataVersion', 10600]);
} }
// Version 11.0.00 // Version 11.0.06
if ($this->getData(['core', 'dataVersion']) < 11000) { if ($this->getData(['core', 'dataVersion']) < 11006) {
// Option de déconnexion auto activée // Option de déconnexion auto activée
$this->setData(['config','autoDisconnect',true]); $this->setData(['config','autoDisconnect',true]);
@ -637,7 +637,10 @@ if ($this->getData(['core', 'dataVersion']) < 11000) {
$this->setData(['page', $parent, 'content', $parent . '.html']); $this->setData(['page', $parent, 'content', $parent . '.html']);
} }
$this->setData(['core', 'dataVersion', 11000]); // Référencement
$this->setData(['config','seo','robots',true]);
$this->setData(['core', 'dataVersion', 11006]);
} }
?> ?>

View File

@ -25,7 +25,8 @@
html, html,
body { body {
min-height: 100%; /*min-height: 100%;*/
min-height: 100vh;
} }
@ -757,7 +758,8 @@ li .menuSideChild {
} }
section { section {
min-height: 450px; /*min-height: 100%;*/
min-height: 65vh;
} }
section #sectionTitle { section #sectionTitle {

View File

@ -395,7 +395,7 @@ class addon extends common {
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'title' => 'Modules installés', 'title' => 'Gestion des modules',
'view' => 'index' 'view' => 'index'
]); ]);
} }

View File

@ -14,16 +14,10 @@
'value' => 'Aide' 'value' => 'Aide'
]); ?> ]); ?>
</div> </div>
<div class="col3 offset2"> <div class="col2 offset6">
<?php echo template::button('configStoreUpload', [ <?php echo template::button('configStoreUpload', [
'href' => helper::baseUrl() . 'addon/upload', 'href' => helper::baseUrl() . 'addon/upload',
'value' => 'Téléverser un module' 'value' => 'Installer un module'
]); ?>
</div>
<div class="col3">
<?php echo template::button('configModulesStore', [
'href' => helper::baseUrl() . 'addon/store',
'value' => 'Catalogue en ligne'
]); ?> ]); ?>
</div> </div>
</div> </div>

View File

@ -2,7 +2,7 @@
<div class="col2"> <div class="col2">
<?php echo template::button('configStoreBack', [ <?php echo template::button('configStoreBack', [
'class' => 'buttonGrey', 'class' => 'buttonGrey',
'href' => helper::baseUrl() . 'addon', 'href' => helper::baseUrl() . 'addon/upload',
'ico' => 'left', 'ico' => 'left',
'value' => 'Retour' 'value' => 'Retour'
]); ?> ]); ?>

View File

@ -15,21 +15,30 @@
'value' => 'Aide' 'value' => 'Aide'
]); ?> ]); ?>
</div> </div>
<div class="col2 offset6">
<?php echo template::submit('configModulesSubmit',[
'value' => 'Valider',
'ico' => 'check'
]); ?>
</div>
</div> </div>
<!-- Aide à propos de la gestion des modules, view upload --> <!-- Aide à propos de la gestion des modules, view upload -->
<div class="helpDisplayContent"> <div class="helpDisplayContent">
<?php echo file_get_contents( 'core/module/addon/view/upload/upload.help.html') ;?> <?php echo file_get_contents( 'core/module/addon/view/upload/upload.help.html') ;?>
</div>
<div class="row">
<div class="col12">
<div class="block">
<h4>Télécharger un module du catalogue en ligne </h4>
<div class="row">
<div class="col4 offset4">
<?php echo template::button('configModulesStore', [
'href' => helper::baseUrl() . 'addon/store',
'value' => 'Catalogue en ligne'
]); ?>
</div>
</div>
</div>
</div>
</div> </div>
<div class="row"> <div class="row">
<div class="col12"> <div class="col12">
<div class="block"> <div class="block">
<h4>Installer ou mettre à jour un module </h4> <h4>Installer ou mettre à jour un module téléchargé </h4>
<div class="row"> <div class="row">
<div class="col6 offset3"> <div class="col6 offset3">
<?php echo template::file('configModulesInstallation', [ <?php echo template::file('configModulesInstallation', [
@ -39,12 +48,18 @@
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col6"> <div class="col4 offset3">
<?php echo template::checkbox('configModulesCheck', true, 'Mise à jour forcée', [ <?php echo template::checkbox('configModulesCheck', true, 'Mise à jour forcée', [
'checked' => false, 'checked' => false,
'help' => 'Permet de forcer une mise à jour même si la version du module est inférieure ou égale à celle du module installé.', 'help' => 'Permet de forcer une mise à jour même si la version du module est inférieure ou égale à celle du module installé.',
]); ?> ]); ?>
</div> </div>
<div class="col2">
<?php echo template::submit('configModulesSubmit',[
'value' => 'Valider',
'ico' => 'check'
]); ?>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -175,8 +175,8 @@ class init extends common {
], ],
'site' => [ 'site' => [
'backgroundColor' => 'rgba(255, 255, 255, 1)', 'backgroundColor' => 'rgba(255, 255, 255, 1)',
'radius' => '0', 'radius' => '0px',
'shadow' => '0', 'shadow' => '0px 0px 0px',
'width' => '960px' 'width' => '960px'
], ],
'block' => [ 'block' => [

View File

@ -17,7 +17,7 @@
class gallery extends common { class gallery extends common {
const VERSION = '3.1'; const VERSION = '3.2';
const REALNAME = 'Galerie'; const REALNAME = 'Galerie';
const DELETE = true; const DELETE = true;
const UPDATE = '0.0'; const UPDATE = '0.0';
@ -179,6 +179,11 @@ class gallery extends common {
$versionData = $this->getData(['module',$this->getUrl(0),'config', 'versionData' ]); $versionData = $this->getData(['module',$this->getUrl(0),'config', 'versionData' ]);
// le module n'est pas initialisé
if ($versionData === NULL) {
$this->init();
}
// Mise à jour 3.1 // Mise à jour 3.1
if (version_compare($versionData, '3.1', '<') ) { if (version_compare($versionData, '3.1', '<') ) {
if (is_dir(self::DATADIRECTORY . 'pages/')) { if (is_dir(self::DATADIRECTORY . 'pages/')) {
@ -313,9 +318,6 @@ class gallery extends common {
// Mise à jour des données de module // Mise à jour des données de module
$this->update(); $this->update();
// Initialisation d'un nouveau module
$this->init();
//Affichage de la galerie triée //Affichage de la galerie triée
$g = $this->getData(['module', $this->getUrl(0), 'content']); $g = $this->getData(['module', $this->getUrl(0), 'content']);
$p = helper::arrayCollumn(helper::arrayCollumn($g,'config'),'position'); $p = helper::arrayCollumn(helper::arrayCollumn($g,'config'),'position');
@ -599,9 +601,6 @@ class gallery extends common {
// Mise à jour des données de module // Mise à jour des données de module
$this->update(); $this->update();
// Initialisation d'un nouveau module
$this->init();
// Images d'une galerie // Images d'une galerie
if($this->getUrl(1)) { if($this->getUrl(1)) {
// La galerie n'existe pas // La galerie n'existe pas

View File

@ -15,7 +15,7 @@
class news extends common { class news extends common {
const VERSION = '3.4'; const VERSION = '3.5';
const REALNAME = 'News'; const REALNAME = 'News';
const DELETE = true; const DELETE = true;
const UPDATE = '0.0'; const UPDATE = '0.0';
@ -189,9 +189,6 @@ class news extends common {
// Mise à jour des données de module // Mise à jour des données de module
$this->update(); $this->update();
// Initialisation d'un nouveau module
$this->init();
// Soumission du formulaire // Soumission du formulaire
if($this->isPost()) { if($this->isPost()) {
@ -396,9 +393,6 @@ class news extends common {
// Mise à jour des données de module // Mise à jour des données de module
$this->update(); $this->update();
// Initialisation d'un nouveau module
$this->init();
// Affichage d'un article // Affichage d'un article
if( if(
$this->getUrl(1) $this->getUrl(1)
@ -502,19 +496,13 @@ class news extends common {
*/ */
private function update() { private function update() {
// Créer la structure de configuration si absente
// Il n'existait aucun paramétrage dans les version précédentes
if ($this->getData(['module', $this->getUrl(0), 'config', 'itemsperPage']) === NULL ) {
// Données config et theme absentes du précédent module
require_once('module/news/ressource/defaultdata.php');
$this->setData(['module', $this->getUrl(0), 'config', init::$defaultData]);
// Données de thème
$this->setData(['module', $this->getUrl(0), 'theme', init::$defaultTheme]);
$this->setData(['module', $this->getUrl(0), 'theme', 'style', self::DATADIRECTORY . $this->getUrl(0) . '/theme.css' ]);
}
$versionData = $this->getData(['module',$this->getUrl(0),'config', 'versionData' ]); $versionData = $this->getData(['module',$this->getUrl(0),'config', 'versionData' ]);
// le module n'est pas initialisé
if ($versionData === NULL) {
$this->init();
}
// Mise à jour 3.2 // Mise à jour 3.2
if (version_compare($versionData, '3.1', '<') ) { if (version_compare($versionData, '3.1', '<') ) {
$this->setData(['module',$this->getUrl(0),'theme', 'itemsBlur', '0%' ]); $this->setData(['module',$this->getUrl(0),'theme', 'itemsBlur', '0%' ]);

View File

@ -5,7 +5,7 @@ class init extends search {
'resultHideContent' => false, 'resultHideContent' => false,
'placeHolder' => 'Un ou plusieurs mots-clés séparés par un espace ou par +', 'placeHolder' => 'Un ou plusieurs mots-clés séparés par un espace ou par +',
'submitText' => 'Rechercher', 'submitText' => 'Rechercher',
'versionData' => '2.0' 'versionData' => '2.2'
]; ];
public static $defaultTheme = [ public static $defaultTheme = [
'keywordColor' => 'rgba(229, 229, 1, 1)' 'keywordColor' => 'rgba(229, 229, 1, 1)'

View File

@ -19,7 +19,7 @@
class search extends common { class search extends common {
const VERSION = '2.2'; const VERSION = '2.3';
const REALNAME = 'Recherche'; const REALNAME = 'Recherche';
const DELETE = true; const DELETE = true;
const UPDATE = '0.0'; const UPDATE = '0.0';
@ -52,44 +52,14 @@ class search extends common {
*/ */
private function update() { private function update() {
// Déplacement des données d'une version ultérieure
// selon la présence de previewLenght
if ($this->getData(['module', $this->getUrl(0), 'previewLength']) ) {
$data = $this->getData(['module', $this->getUrl(0)]);
// Feuille de style
$fileCSS = self::DATADIRECTORY . $this->getUrl(0) . '/theme.css' ;
$this->setData(['module', $this->getUrl(0), 'config', [
'submitText' => $this->getData(['module', $this->getUrl(0), 'submitText']),
'placeHolder' => $this->getData(['module', $this->getUrl(0), 'placeHolder']),
'resultHideContent' => $this->getData(['module', $this->getUrl(0), 'resultHideContent']),
'previewLength' => $this->getData(['module', $this->getUrl(0), 'previewLength']),
'versionData' => '2.0'
]]);
$this->setData(['module', $this->getUrl(0), 'theme', [
'keywordColor' => $this->getData(['module', $this->getUrl(0), 'keywordColor']),
'style' => $fileCSS
]]);
// Dossier de l'instance
if (!is_dir(self::DATADIRECTORY . $this->getUrl(0) )) {
mkdir (self::DATADIRECTORY . $this->getUrl(0), 0777, true);
}
// Générer la feuille de CSS
$style = '.keywordColor {background: ' . $this->getData(['module', $this->getUrl(0), 'theme', 'keywordColor']) . ';}';
// Sauver la feuille de style
$success = file_put_contents( $fileCSS, $style);
// Nettoyage des données précédentes
$this->deleteData(['module', $this->getUrl(0), 'submitText']);
$this->deleteData(['module', $this->getUrl(0), 'placeHolder']);
$this->deleteData(['module', $this->getUrl(0), 'resultHideContent']);
$this->deleteData(['module', $this->getUrl(0), 'previewLength']);
$this->deleteData(['module', $this->getUrl(0), 'keywordColor']);
$this->setData(['module', $this->getUrl(0), 'config', 'versionData', '2.0']);
}
$versionData = $this->getData(['module',$this->getUrl(0),'config', 'versionData' ]); $versionData = $this->getData(['module',$this->getUrl(0),'config', 'versionData' ]);
// le module n'est pas initialisé
if ($versionData === NULL) {
$this->init();
}
// Mise à jour 2.2 // Mise à jour 2.2
if (version_compare($versionData, '2.2', '<') ) { if (version_compare($versionData, '2.2', '<') ) {
if (is_dir(self::DATADIRECTORY . 'pages/')) { if (is_dir(self::DATADIRECTORY . 'pages/')) {
@ -145,10 +115,6 @@ class search extends common {
// Mise à jour des données de module // Mise à jour des données de module
$this->update(); $this->update();
// Initialisation d'un nouveau module
$this->init();
if($this->isPost()) { if($this->isPost()) {
// Générer la feuille de CSS // Générer la feuille de CSS
@ -194,10 +160,6 @@ class search extends common {
// Mise à jour des données de module // Mise à jour des données de module
$this->update(); $this->update();
// Initialisation d'un nouveau module
$this->init();
if($this->isPost()) { if($this->isPost()) {
//Initialisations variables //Initialisations variables
$success = true; $success = true;
@ -268,9 +230,9 @@ class search extends common {
$titre = $this->getData(['page', $parentId, 'title']); $titre = $this->getData(['page', $parentId, 'title']);
//$content = file_get_contents(self::DATA_DIR . self::$i18n . '/content/' . $this->getData(['page', $parentId, 'content'])); //$content = file_get_contents(self::DATA_DIR . self::$i18n . '/content/' . $this->getData(['page', $parentId, 'content']));
$content = $this->getPage($parentId, self::$i18n); $content = $this->getPage($parentId, self::$i18n);
$contenu = $titre . ' ' . $contenu ; $content = $titre . ' ' . $content ;
// Pages sauf pages filles et articles de blog // Pages sauf pages filles et articles de blog
$tempData = $this->occurrence($url, $titre, $contenu, $motclef, self::$motentier); $tempData = $this->occurrence($url, $titre, $content, $motclef, self::$motentier);
if (is_array($tempData) ) { if (is_array($tempData) ) {
$result [] = $tempData; $result [] = $tempData;
} }
@ -285,9 +247,9 @@ class search extends common {
$titre = $this->getData(['page', $childId, 'title']); $titre = $this->getData(['page', $childId, 'title']);
//$content = file_get_contents(self::DATA_DIR . self::$i18n . '/content/' . $this->getData(['page', $childId, 'content'])); //$content = file_get_contents(self::DATA_DIR . self::$i18n . '/content/' . $this->getData(['page', $childId, 'content']));
$content = $this->getPage($childId, self::$i18n); $content = $this->getPage($childId, self::$i18n);
$contenu = $titre . ' ' . $contenu ; $content = $titre . ' ' . $content ;
//Pages filles //Pages filles
$tempData = $this->occurrence($url, $titre, $contenu, $motclef, self::$motentier); $tempData = $this->occurrence($url, $titre, $content, $motclef, self::$motentier);
if (is_array($tempData) ) { if (is_array($tempData) ) {
$result [] = $tempData; $result [] = $tempData;
} }