@@ -47,8 +46,7 @@
diff --git a/core/module/config/config.php b/core/module/config/config.php
index cd5dcf0e..93c0beed 100644
--- a/core/module/config/config.php
+++ b/core/module/config/config.php
@@ -416,8 +416,8 @@ class config extends common {
$this->setData(['core','lastAutoUpdate',0]);
}
// Empêcher la modification si défini dans footer
- if ( $this->getData(['theme','footer','displaySearch']) === true
- AND $this->getInput('configSearchPageId') === ''
+ if ( $this->getData(['theme','footer','displaySearch']) === true
+ AND $this->getInput('configSearchPageId') === 'none'
){
$searchPageId = $this->getData(['config','searchPageId']);
self::$inputNotices['configSearchPageId'] = 'Désactiver l\'option dans le pied de page';
@@ -426,8 +426,8 @@ class config extends common {
$searchPageId = $this->getInput('configSearchPageId');
}
// Empêcher la modification si défini dans footer
- if ( $this->getData(['theme','footer','displayLegal']) === true
- AND $this->getInput('configLegalPageId') === ''
+ if ( $this->getData(['theme','footer','displayLegal']) === true
+ AND $this->getInput('configLegalPageId') === 'none'
){
$legalPageId = $this->getData(['config','legalPageId']);
self::$inputNotices['configLegalPageId'] = 'Désactiver l\'option dans le pied de page';
diff --git a/core/module/config/view/index/index.js.php b/core/module/config/view/index/index.js.php
index 1be4b45c..cf6a7a92 100644
--- a/core/module/config/view/index/index.js.php
+++ b/core/module/config/view/index/index.js.php
@@ -39,7 +39,7 @@ $( document).ready(function() {
* Initialisation des blocs
*/
- var i = [ "social", "ceo", "network", "smtp", "login", "logs", "script", "system" ];
+ var i = [ "social", "ceo", "network", "smtp", "login", "logs", "script" ];
$.each(i,function(e) {
if (getCookie(i[e]) === "true") {
$("#" + i[e]).find(".zwiico-plus-circled").hide();
diff --git a/core/module/config/view/index/index.php b/core/module/config/view/index/index.php
index b48b5aaf..5d55a94c 100644
--- a/core/module/config/view/index/index.php
+++ b/core/module/config/view/index/index.php
@@ -29,20 +29,27 @@
Informations générales
-
+
'Titre du site',
'value' => $this->getData(['config', 'title']),
'help' => 'Il apparaît dans la barre de titre et les partages sur les réseaux sociaux.'
]); ?>
+
+ 'ZwiiCMS Version',
+ 'value' => common::ZWII_VERSION,
+ 'readonly' => true
+ ]); ?>
+
'Description du site',
'value' => $this->getData(['config', 'metaDescription']),
- 'help' => 'La description participe au référence, n\'oubliez pas de personnaliser la description de chaque page sans copié collé.'
+ 'help' => 'La description participe au référence, n\'oubliez pas de personnaliser la description de chaque page sans copié collé cette description.'
]); ?>
@@ -169,14 +176,14 @@
]); ?>
- 'Sélectionner'] , helper::arrayCollumn($this->getData(['page']), 'title', 'SORT_ASC') ) , [
+ 'Aucune'] , helper::arrayCollumn($pages, 'title', 'SORT_ASC') ) , [
'label' => 'Mentions légales',
'selected' => $this->getData(['config', 'legalPageId']),
'help' => 'Les mentions légales sont obligatoires en France. Une option du pied de page ajoute un lien discret vers cette page.'
]); ?>
- 'Sélectionner'] , helper::arrayCollumn($this->getData(['page']), 'title', 'SORT_ASC') ) , [
+ 'Aucune'] , helper::arrayCollumn($pages, 'title', 'SORT_ASC') ) , [
'label' => 'Recherche dans le site',
'selected' => $this->getData(['config', 'searchPageId']),
'help' => 'Sélectionner la page "Recherche" ou une page contenant le module "Recherche" permet d\'activer un lien dans le pied de page. '
@@ -186,7 +193,7 @@
'Aucune'],helper::arrayCollumn($orphans, 'title', 'SORT_ASC')), [
+ echo template::select('configPage403', array_merge(['none' => 'Page par défaut'],helper::arrayCollumn($orphans, 'title', 'SORT_ASC')), [
'label' => 'Accès interdit, erreur 403',
'selected' =>$this->getData(['config', 'page403']),
'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.'
@@ -194,7 +201,7 @@
'Aucune'],helper::arrayCollumn($orphans, 'title', 'SORT_ASC')), [
+ echo template::select('configPage404', array_merge(['none' => 'Page par défaut'],helper::arrayCollumn($orphans, 'title', 'SORT_ASC')), [
'label' => 'Page inexistante, erreur 404',
'selected' =>$this->getData(['config', 'page404']),
'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.'
@@ -202,7 +209,7 @@
'Aucune'],helper::arrayCollumn($orphans, 'title', 'SORT_ASC')), [
+ echo template::select('configPage302', array_merge(['none' => 'Page par défaut'],helper::arrayCollumn($orphans, 'title', 'SORT_ASC')), [
'label' => 'Site en maintenance',
'selected' =>$this->getData(['config', 'page302']),
'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.'
@@ -574,30 +581,4 @@
-
-
-
-
Versions des modules
-
-
-
-
-
-
-
-
diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php
index 624b50c5..8fc24513 100644
--- a/core/module/install/ressource/defaultdata.php
+++ b/core/module/install/ressource/defaultdata.php
@@ -13,6 +13,8 @@ class init extends common {
'page302' => 'erreur302',
'page403' => 'erreur403',
'page404' => 'erreur404',
+ 'legalPageId' => 'mentions-legales',
+ 'searchPageId' => 'recherche',
'maintenance' => false,
'social' => [
'facebookId' => 'facebook',
@@ -25,8 +27,6 @@ class init extends common {
],
'timezone' => 'Europe/Paris',
'itemsperPage' => 10,
- 'legalPageId' => 'mentions-legales',
- 'searchPageId' => 'recherche',
'metaDescription' => 'Zwii est un CMS sans base de données qui permet de créer et gérer facilement un site web sans aucune connaissance en programmation.',
'title' => 'Votre site en quelques clics !',
'proxyUrl' => '',
diff --git a/core/module/theme/theme.php b/core/module/theme/theme.php
old mode 100644
new mode 100755
index a226d3f9..177800cb
--- a/core/module/theme/theme.php
+++ b/core/module/theme/theme.php
@@ -610,32 +610,50 @@ class theme extends common {
public function manage() {
if($this->isPost() ) {
$zipFilename = $this->getInput('themeManageImport', helper::FILTER_STRING_SHORT, true);
-
+ $tempFolder = uniqid();
$zip = new ZipArchive();
if ($zip->open(self::FILE_DIR.'source/'.$zipFilename) === TRUE) {
- $zip->extractTo('.');
+ mkdir (self::TEMP_DIR . $tempFolder);
+ $zip->extractTo(self::TEMP_DIR . $tempFolder );
+ // Archive de thème ?
+ if ( file_exists(self::TEMP_DIR . $tempFolder . '/site/data/custom.css')
+ AND file_exists(self::TEMP_DIR . $tempFolder . '/site/data/theme.css')
+ AND file_exists(self::TEMP_DIR . $tempFolder . '/site/data/theme.json') ) {
+ // traiter l'archive
+ $success = $zip->extractTo('.');
+ // traitement de l'erreur
+ $notification = $success ? 'Le thème a été importé' : 'Erreur lors de l\'extraction, vérifiez les permissions.';
+ // Supprimmer le dossier temporaire
+ $install = new install;
+ $install->removeAll(self::TEMP_DIR . $tempFolder);
+ } else {
+ // pas une archive de thème
+ $success = false;
+ $notification = 'Ce n\'est pas l\'archive d\'un thème !';
+ }
$zip->close();
+ } else {
+ // erreur à l'ouverture
+ $success = false;
+ $notification = 'Impossible d\'ouvrir l\'archive';
+ }
// Valeurs en sortie
$this->addOutput([
- 'redirect' => helper::baseUrl() . 'theme'
- ]);
- } else {
- $this->addOutput([
- 'notification' => 'Erreur avec le thème
'.$zipFilename.'',
- 'redirect' => helper::baseUrl() . 'theme/manage'
- ]);
- }
+ 'notification' => $notification,
+ 'state' => $success,
+ 'title' => 'Gestion des thèmes',
+ 'view' => 'manage'
+ ]);;
}
-
// Valeurs en sortie
$this->addOutput([
'title' => 'Gestion des thèmes',
'view' => 'manage'
]);
-
}
+
/**
* Export du thème
*/
@@ -651,7 +669,7 @@ class theme extends common {
readfile(self::TEMP_DIR . $zipFilename);
// Nettoyage du dossier
unlink (self::TEMP_DIR . $zipFilename);
- die();
+ exit();
}
/**
@@ -679,7 +697,7 @@ class theme extends common {
* construction du zip
* @param string $modele theme ou admin
*/
- public function makezip($modele) {
+ private function makezip($modele) {
// Creation du dossier
$zipFilename = $modele . ' ' .date('d m Y').' '.date('H i s ').'.zip';
$zip = new ZipArchive();
@@ -709,4 +727,5 @@ class theme extends common {
}
return ($zipFilename);
}
+
}
diff --git a/core/module/theme/view/footer/footer.php b/core/module/theme/view/footer/footer.php
index fcccdac8..7ca2688a 100644
--- a/core/module/theme/view/footer/footer.php
+++ b/core/module/theme/view/footer/footer.php
@@ -79,16 +79,16 @@
(bool) empty($this->getData(['config', 'legalPageId'])) ? false : $this->getData(['theme', 'footer', 'displayLegal']),
- 'disabled' => (bool) empty($this->getData(['config', 'legalPageId'])) ? true : false,
- 'help' => (bool) empty($this->getData(['config', 'legalPageId'])) ? 'Pour activer cette option, sélectionnez la page contenant les mentions légales dans la configuration du site' : ''
+ 'checked' => $this->getData(['config', 'legalPageId']) === 'none' ? false : $this->getData(['theme', 'footer', 'displayLegal']),
+ 'disabled' => $this->getData(['config', 'legalPageId']) === 'none' ? true : false,
+ 'help' => $this->getData(['config', 'legalPageId']) === 'none' ? 'Pour activer cette option, sélectionnez la page contenant les mentions légales dans la configuration du site' : ''
]); ?>
(bool) empty($this->getData(['config', 'searchPageId'])) ? false : $this->getData(['theme', 'footer', 'displaySearch']),
- 'disabled' => (bool) empty($this->getData(['config', 'searchPageId'])) ? true : false,
- 'help' => (bool) empty($this->getData(['config', 'searchPageId'])) ? 'Pour activer cette option, sélectionnez la page contenant un module de recherche dans la configuration du site' : ''
+ 'checked' => $this->getData(['config', 'searchPageId']) === 'none' ? false : $this->getData(['theme', 'footer', 'displaySearch']),
+ 'disabled' => $this->getData(['config', 'searchPageId']) === 'none' ? true : false,
+ 'help' => $this->getData(['config', 'searchPageId']) === 'none' ? 'Pour activer cette option, sélectionnez la page contenant un module de recherche dans la configuration du site' : ''
]); ?>
diff --git a/core/module/theme/view/index/index.php b/core/module/theme/view/index/index.php
index 44a9d4a2..8d9316e5 100644
--- a/core/module/theme/view/index/index.php
+++ b/core/module/theme/view/index/index.php
@@ -5,7 +5,7 @@
): ?>
-
+
'buttonGrey',
'href' => helper::baseUrl(false),
@@ -20,7 +20,9 @@
'value' => 'Administration'
]); ?>
-
+
+
+
'code',
'href' => helper::baseUrl() . $this->getUrl(0) . '/advanced',
@@ -36,7 +38,7 @@
-
+
'eye',
'value' => 'Zones cachées'
@@ -46,7 +48,7 @@
-
+
'buttonGrey',
'href' => helper::baseUrl(false),
@@ -61,7 +63,9 @@
'value' => 'Administration'
]); ?>
-
+
+
+
helper::baseUrl() . $this->getUrl(0) . '/manage',
'ico' => 'upload',
diff --git a/module/gallery/gallery.php b/module/gallery/gallery.php
index 1eef8ab4..77d0f2c3 100644
--- a/module/gallery/gallery.php
+++ b/module/gallery/gallery.php
@@ -19,7 +19,7 @@ class gallery extends common {
const SORT_ASC = 'SORT_ASC';
const SORT_DSC = 'SORT_DSC';
const SORT_HAND = 'SORT_HAND';
- const GALLERY_VERSION = '2.4';
+ const GALLERY_VERSION = '2.5';
public static $directories = [];
@@ -178,7 +178,7 @@ class gallery extends common {
'directory' => $this->getData(['module',$this->getUrl(0),$galleryName,'config','directory']),
'homePicture' => $this->getData(['module',$this->getUrl(0),$galleryName,'config','homePicture']),
'sort' => $this->getData(['module',$this->getUrl(0),$galleryName,'config','sort']),
- 'position' => $this->getData(['module',$this->getUrl(0),$galleryName,'config','positions']),
+ 'position' => $this->getData(['module',$this->getUrl(0),$galleryName,'config','position']),
'fullScreen' => $this->getData(['module',$this->getUrl(0),$galleryName,'config','fullScreen'])
],
@@ -259,7 +259,7 @@ class gallery extends common {
'directory' => $this->getInput('galleryConfigDirectory', helper::FILTER_STRING_SHORT, true),
'homePicture' => $homePicture,
'sort' => self::SORT_ASC,
- 'position' => $this->getData(['module',$this->getUrl(0)]) !== null ? count($this->getData(['module',$this->getUrl(0)])) + 1 : 0,
+ 'position' => $this->getData(['module', $this->getUrl(0), $galleryId,'config','position']),
'fullScreen' => false
],
'legend' => [],
@@ -382,7 +382,7 @@ class gallery extends common {
'homePicture' => $homePicture,
// pas de positions, on active le tri alpha
'sort' => $this->getInput('galleryEditSort'),
- 'position' => $this->getData(['module', $this->getUrl(0), $galleryId,'config','positions']) === null ? count($this->getData(['module',$this->getUrl(0)]))-1 : $this->getData(['module', $this->getUrl(0), $galleryId,'config','positions']),
+ 'position' => $this->getData(['module', $this->getUrl(0), $galleryId,'config','position']),
'fullScreen' => $this->getInput('galleryEditFullscreen', helper::FILTER_BOOLEAN)
],