Merge branch 'blog_v3' into beta

This commit is contained in:
Fred Tempez 2020-09-27 18:05:20 +02:00
commit 6f228d168d
11 changed files with 114 additions and 87 deletions

View File

@ -1,5 +1,16 @@
# Changelog # Changelog
## version 10.3.01
- Corrections :
- Configuration du site :
- Filtrage des pages affichées dans la configuration et initialisation après une mise à jour.
- Pages de recherche et des mentions vides, modification de la valeur en l'absence de choix.
- Libellé des pages d'erreur non sélectionnées "Page par défaut"
- Erreur de position du menu fixe en haut de page des membres simples et dans après une déconnexion automatique
- Modification :
- Thème : import d'une archive de thème, vérification de la cohérence du contenu avant son installation.
- Configuration : suppression du bloc des versions, affichage de la version de ZwiiCMS dans le bloc Informations générales.
## version 10.3.00 ## version 10.3.00
- Modifications : - Modifications :
- Module User - Module User

View File

@ -1366,6 +1366,7 @@ class common {
// Options de barre de membre simple // Options de barre de membre simple
$this->setData(['config','page404','none']); $this->setData(['config','page404','none']);
$this->setData(['config','page403','none']); $this->setData(['config','page403','none']);
$this->setData(['config','page302','none']);
// Module de recherche // Module de recherche
// Suppression du dossier search // Suppression du dossier search
if (is_dir('core/module/search')) { if (is_dir('core/module/search')) {
@ -1407,6 +1408,17 @@ class common {
// Mise à jour du numéro de version // Mise à jour du numéro de version
$this->setData(['core', 'dataVersion', 10300]); $this->setData(['core', 'dataVersion', 10300]);
} }
// Version 10.3.01
if ($this->getData(['core', 'dataVersion']) < 10301) {
// Inscription des nouvelles variables
if ($this->getData(['config','searchPageId']) === '') {
$this->setData(['config','searchPageId','none']);
}
if ($this->getData(['config','legalPageId']) === '') {
$this->setData(['config','legalPageId','none']);
}
$this->setData(['core', 'dataVersion', 10301]);
}
// Version 10.4.00 // Version 10.4.00
if ($this->getData(['core', 'dataVersion']) < 10300) { if ($this->getData(['core', 'dataVersion']) < 10300) {
// Ajouter le prénom comme pseudo et le pseudo comme signature // Ajouter le prénom comme pseudo et le pseudo comme signature
@ -2234,13 +2246,15 @@ class layout extends common {
$items .= '</span>'; $items .= '</span>';
// Affichage du module de recherche // Affichage du module de recherche
$items .= '<span id="footerDisplaySearch"'; $items .= '<span id="footerDisplaySearch"';
$items .= $this->getData(['theme','footer','displaySearch']) === false ? ' class="displayNone"' : ''; $items .= $this->getData(['theme','footer','displaySearch']) === false ? ' class="displayNone" >' : '>';
$items .= '><wbr>&nbsp;|&nbsp;<a href="' . helper::baseUrl() . $this->getData(['config','searchPageId']) . '" data-tippy-content="Rechercher dans le site" >Recherche</a>'; if ($this->getData(['config','searchPageId']) !== 'none') {
$items .= '<wbr>&nbsp;|&nbsp;<a href="' . helper::baseUrl() . $this->getData(['config','searchPageId']) . '" data-tippy-content="Rechercher dans le site" >Recherche</a>';
}
$items .= '</span>'; $items .= '</span>';
// Affichage des mentions légales // Affichage des mentions légales
$items .= '<span id="footerDisplayLegal"'; $items .= '<span id="footerDisplayLegal"';
$items .= $this->getData(['theme','footer','displayLegal']) === false ? ' class="displayNone" >' : '>'; $items .= $this->getData(['theme','footer','displayLegal']) === false ? ' class="displayNone" >' : '>';
if ($this->getData(['config','legalPageId']) !== '') { if ($this->getData(['config','legalPageId']) !== 'none') {
$items .= '<wbr>&nbsp;|&nbsp;<a href="' . helper::baseUrl() . $this->getData(['config','legalPageId']) . '" data-tippy-content="Mentions Légales">Mentions légales</a>'; $items .= '<wbr>&nbsp;|&nbsp;<a href="' . helper::baseUrl() . $this->getData(['config','legalPageId']) . '" data-tippy-content="Mentions Légales">Mentions légales</a>';
} }
$items .= '</span>'; $items .= '</span>';

View File

@ -26,19 +26,18 @@
<?php $layout->showNotification(); ?> <?php $layout->showNotification(); ?>
<?php if($this->getData(['theme', 'menu', 'position']) === 'body-first' || $this->getData(['theme', 'menu', 'position']) === 'top' ): ?> <?php if($this->getData(['theme', 'menu', 'position']) === 'body-first' || $this->getData(['theme', 'menu', 'position']) === 'top' ): ?>
<!-- Menu dans le fond du site avant la bannière --> <!-- Menu dans le fond du site avant la bannière -->
<nav <!-- Détermine si le menu est fixe en haut de page lorsque l'utilisateur n'est pas connecté -->
<?php <?php
// Détermine si le menu est fixe en haut de page lorsque l'utilisateur n'est pas connecté if ( $this->getData(['theme', 'menu', 'position']) === 'top'
// AND $this->getData(['theme', 'menu', 'fixed']) === true
if($this->getData(['theme', 'menu', 'position']) === 'top' && AND $this->getUser('password') === $this->getInput('ZWII_USER_PASSWORD',true)
$this->getData(['theme', 'menu', 'fixed']) === true) { AND $this->getUser('group') > self::GROUP_MEMBER) {
if ($this->getUser('password') !== $this->getInput('ZWII_USER_PASSWORD')) echo '<nav id="navfixedconnected" >';
{echo 'id="navfixedlogout"';} } else {
elseif ($this->getUrl(0) !== 'theme') echo '<nav id="navfixedlogout" >';
{echo 'id="navfixedconnected"';} }
} ?>
?> <!-- Menu Burger -->
>
<div id="toggle"> <div id="toggle">
<?php if ($this->getData(['theme','menu','burgerTitle']) === true ): ?> <?php if ($this->getData(['theme','menu','burgerTitle']) === true ): ?>
<div id="burgerText"><?php echo $this->getData(['config','title']);?></div> <div id="burgerText"><?php echo $this->getData(['config','title']);?></div>
@ -47,8 +46,7 @@
<div id="menu" class=" <div id="menu" class="
<?php if($this->getData(['theme', 'menu', 'position']) === 'top'){echo 'container-large';}else{echo'container';} <?php if($this->getData(['theme', 'menu', 'position']) === 'top'){echo 'container-large';}else{echo'container';}
?>"> ?>">
<?php $layout->showMenu(); ?>
<?php $layout->showMenu(); ?>
</div> <!--fin menu --> </div> <!--fin menu -->
</nav> </nav>
<?php endif; ?> <?php endif; ?>

View File

@ -416,8 +416,8 @@ class config extends common {
$this->setData(['core','lastAutoUpdate',0]); $this->setData(['core','lastAutoUpdate',0]);
} }
// Empêcher la modification si défini dans footer // Empêcher la modification si défini dans footer
if ( $this->getData(['theme','footer','displaySearch']) === true if ( $this->getData(['theme','footer','displaySearch']) === true
AND $this->getInput('configSearchPageId') === '' AND $this->getInput('configSearchPageId') === 'none'
){ ){
$searchPageId = $this->getData(['config','searchPageId']); $searchPageId = $this->getData(['config','searchPageId']);
self::$inputNotices['configSearchPageId'] = 'Désactiver l\'option dans le pied de page'; self::$inputNotices['configSearchPageId'] = 'Désactiver l\'option dans le pied de page';
@ -426,8 +426,8 @@ class config extends common {
$searchPageId = $this->getInput('configSearchPageId'); $searchPageId = $this->getInput('configSearchPageId');
} }
// Empêcher la modification si défini dans footer // Empêcher la modification si défini dans footer
if ( $this->getData(['theme','footer','displayLegal']) === true if ( $this->getData(['theme','footer','displayLegal']) === true
AND $this->getInput('configLegalPageId') === '' AND $this->getInput('configLegalPageId') === 'none'
){ ){
$legalPageId = $this->getData(['config','legalPageId']); $legalPageId = $this->getData(['config','legalPageId']);
self::$inputNotices['configLegalPageId'] = 'Désactiver l\'option dans le pied de page'; self::$inputNotices['configLegalPageId'] = 'Désactiver l\'option dans le pied de page';

View File

@ -39,7 +39,7 @@ $( document).ready(function() {
* Initialisation des blocs * 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) { $.each(i,function(e) {
if (getCookie(i[e]) === "true") { if (getCookie(i[e]) === "true") {
$("#" + i[e]).find(".zwiico-plus-circled").hide(); $("#" + i[e]).find(".zwiico-plus-circled").hide();

View File

@ -29,20 +29,27 @@
<div class="block"> <div class="block">
<h4>Informations générales</h4> <h4>Informations générales</h4>
<div class="row"> <div class="row">
<div class="col12"> <div class="col9">
<?php echo template::text('configTitle', [ <?php echo template::text('configTitle', [
'label' => 'Titre du site', 'label' => 'Titre du site',
'value' => $this->getData(['config', 'title']), 'value' => $this->getData(['config', 'title']),
'help' => 'Il apparaît dans la barre de titre et les partages sur les réseaux sociaux.' 'help' => 'Il apparaît dans la barre de titre et les partages sur les réseaux sociaux.'
]); ?> ]); ?>
</div> </div>
<div class="col3">
<?php echo template::text('configVersion', [
'label' => 'ZwiiCMS Version',
'value' => common::ZWII_VERSION,
'readonly' => true
]); ?>
</div>
</div> </div>
<div class="row"> <div class="row">
<div class="col12"> <div class="col12">
<?php echo template::textarea('configMetaDescription', [ <?php echo template::textarea('configMetaDescription', [
'label' => 'Description du site', 'label' => 'Description du site',
'value' => $this->getData(['config', 'metaDescription']), '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.'
]); ?> ]); ?>
</div> </div>
</div> </div>
@ -169,14 +176,14 @@
]); ?> ]); ?>
</div> </div>
<div class="col4"> <div class="col4">
<?php echo template::select('configLegalPageId', array_merge(['' => 'Sélectionner'] , helper::arrayCollumn($this->getData(['page']), 'title', 'SORT_ASC') ) , [ <?php echo template::select('configLegalPageId', array_merge(['none' => 'Aucune'] , helper::arrayCollumn($pages, 'title', 'SORT_ASC') ) , [
'label' => 'Mentions légales', 'label' => 'Mentions légales',
'selected' => $this->getData(['config', 'legalPageId']), '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.' 'help' => 'Les mentions légales sont obligatoires en France. Une option du pied de page ajoute un lien discret vers cette page.'
]); ?> ]); ?>
</div> </div>
<div class="col4"> <div class="col4">
<?php echo template::select('configSearchPageId', array_merge(['' => 'Sélectionner'] , helper::arrayCollumn($this->getData(['page']), 'title', 'SORT_ASC') ) , [ <?php echo template::select('configSearchPageId', array_merge(['none' => 'Aucune'] , helper::arrayCollumn($pages, 'title', 'SORT_ASC') ) , [
'label' => 'Recherche dans le site', 'label' => 'Recherche dans le site',
'selected' => $this->getData(['config', 'searchPageId']), '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. ' '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 @@
<div class="row"> <div class="row">
<div class="col4"> <div class="col4">
<?php <?php
echo template::select('configPage403', array_merge(['none' => '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', 'label' => 'Accès interdit, erreur 403',
'selected' =>$this->getData(['config', 'page403']), 'selected' =>$this->getData(['config', 'page403']),
'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.' 'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.'
@ -194,7 +201,7 @@
</div> </div>
<div class="col4"> <div class="col4">
<?php <?php
echo template::select('configPage404', array_merge(['none' => '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', 'label' => 'Page inexistante, erreur 404',
'selected' =>$this->getData(['config', 'page404']), 'selected' =>$this->getData(['config', 'page404']),
'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.' 'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.'
@ -202,7 +209,7 @@
</div> </div>
<div class="col4"> <div class="col4">
<?php <?php
echo template::select('configPage302', array_merge(['none' => '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', 'label' => 'Site en maintenance',
'selected' =>$this->getData(['config', 'page302']), 'selected' =>$this->getData(['config', 'page302']),
'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.' 'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.'
@ -574,30 +581,4 @@
</div> </div>
</div> </div>
</div> </div>
<div class="row">
<div class="col12" >
<div class="block" id="system">
<h4>Versions des modules
<div class="openClose">
<?php
echo template::ico('plus-circled','right');
echo template::ico('minus-circled','right');
?>
</div>
</h4>
<div class="blockContainer">
<div class="row">
<div class="col12">
<?php echo 'ZwiiCMS : ' . common::ZWII_VERSION . '&nbsp;&nbsp;-&nbsp;&nbsp;';?>
<?php echo 'Blog : ' . blog::BLOG_VERSION . '&nbsp;&nbsp;-&nbsp;&nbsp;';?>
<?php echo 'Formulaire : ' . form::FORM_VERSION . '&nbsp;&nbsp;-&nbsp;&nbsp;';?>
<?php echo 'News : ' . news::NEWS_VERSION . '&nbsp;&nbsp;-&nbsp;&nbsp;';?>
<?php echo 'Redirection : ' . redirection::REDIRECTION_VERSION . '&nbsp;&nbsp;-&nbsp;&nbsp;';?>
<?php echo 'Recherche : ' . search::SEARCH_VERSION ;?>
</div>
</div>
</div>
</div>
</div>
</div>
<?php echo template::formClose(); ?> <?php echo template::formClose(); ?>

View File

@ -13,6 +13,8 @@ class init extends common {
'page302' => 'erreur302', 'page302' => 'erreur302',
'page403' => 'erreur403', 'page403' => 'erreur403',
'page404' => 'erreur404', 'page404' => 'erreur404',
'legalPageId' => 'mentions-legales',
'searchPageId' => 'recherche',
'maintenance' => false, 'maintenance' => false,
'social' => [ 'social' => [
'facebookId' => 'facebook', 'facebookId' => 'facebook',
@ -25,8 +27,6 @@ class init extends common {
], ],
'timezone' => 'Europe/Paris', 'timezone' => 'Europe/Paris',
'itemsperPage' => 10, '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.', '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 !', 'title' => 'Votre site en quelques clics !',
'proxyUrl' => '', 'proxyUrl' => '',

47
core/module/theme/theme.php Normal file → Executable file
View File

@ -610,32 +610,50 @@ class theme extends common {
public function manage() { public function manage() {
if($this->isPost() ) { if($this->isPost() ) {
$zipFilename = $this->getInput('themeManageImport', helper::FILTER_STRING_SHORT, true); $zipFilename = $this->getInput('themeManageImport', helper::FILTER_STRING_SHORT, true);
$tempFolder = uniqid();
$zip = new ZipArchive(); $zip = new ZipArchive();
if ($zip->open(self::FILE_DIR.'source/'.$zipFilename) === TRUE) { 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(); $zip->close();
} else {
// erreur à l'ouverture
$success = false;
$notification = 'Impossible d\'ouvrir l\'archive';
}
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'theme' 'notification' => $notification,
]); 'state' => $success,
} else { 'title' => 'Gestion des thèmes',
$this->addOutput([ 'view' => 'manage'
'notification' => 'Erreur avec le thème <b>'.$zipFilename.'</b>', ]);;
'redirect' => helper::baseUrl() . 'theme/manage'
]);
}
} }
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'title' => 'Gestion des thèmes', 'title' => 'Gestion des thèmes',
'view' => 'manage' 'view' => 'manage'
]); ]);
} }
/** /**
* Export du thème * Export du thème
*/ */
@ -651,7 +669,7 @@ class theme extends common {
readfile(self::TEMP_DIR . $zipFilename); readfile(self::TEMP_DIR . $zipFilename);
// Nettoyage du dossier // Nettoyage du dossier
unlink (self::TEMP_DIR . $zipFilename); unlink (self::TEMP_DIR . $zipFilename);
die(); exit();
} }
/** /**
@ -679,7 +697,7 @@ class theme extends common {
* construction du zip * construction du zip
* @param string $modele theme ou admin * @param string $modele theme ou admin
*/ */
public function makezip($modele) { private function makezip($modele) {
// Creation du dossier // Creation du dossier
$zipFilename = $modele . ' ' .date('d m Y').' '.date('H i s ').'.zip'; $zipFilename = $modele . ' ' .date('d m Y').' '.date('H i s ').'.zip';
$zip = new ZipArchive(); $zip = new ZipArchive();
@ -709,4 +727,5 @@ class theme extends common {
} }
return ($zipFilename); return ($zipFilename);
} }
} }

View File

@ -79,16 +79,16 @@
<div class="row"> <div class="row">
<div class="col6"> <div class="col6">
<?php echo template::checkbox('themeFooterDisplayLegal', true, 'Mentions légales', [ <?php echo template::checkbox('themeFooterDisplayLegal', true, 'Mentions légales', [
'checked' => (bool) empty($this->getData(['config', 'legalPageId'])) ? false : $this->getData(['theme', 'footer', 'displayLegal']), 'checked' => $this->getData(['config', 'legalPageId']) === 'none' ? false : $this->getData(['theme', 'footer', 'displayLegal']),
'disabled' => (bool) empty($this->getData(['config', 'legalPageId'])) ? true : false, 'disabled' => $this->getData(['config', 'legalPageId']) === 'none' ? 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' : '' 'help' => $this->getData(['config', 'legalPageId']) === 'none' ? 'Pour activer cette option, sélectionnez la page contenant les mentions légales dans la configuration du site' : ''
]); ?> ]); ?>
</div> </div>
<div class="col6"> <div class="col6">
<?php echo template::checkbox('themeFooterDisplaySearch', true, 'Rechercher dans le site', [ <?php echo template::checkbox('themeFooterDisplaySearch', true, 'Rechercher dans le site', [
'checked' => (bool) empty($this->getData(['config', 'searchPageId'])) ? false : $this->getData(['theme', 'footer', 'displaySearch']), 'checked' => $this->getData(['config', 'searchPageId']) === 'none' ? false : $this->getData(['theme', 'footer', 'displaySearch']),
'disabled' => (bool) empty($this->getData(['config', 'searchPageId'])) ? true : false, 'disabled' => $this->getData(['config', 'searchPageId']) === 'none' ? 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' : '' 'help' => $this->getData(['config', 'searchPageId']) === 'none' ? 'Pour activer cette option, sélectionnez la page contenant un module de recherche dans la configuration du site' : ''
]); ?> ]); ?>
</div> </div>
</div> </div>

View File

@ -5,7 +5,7 @@
): ?> ): ?>
<?php echo template::speech('Cliquez sur une zone afin d\'accéder à ses options de personnalisation. Vous pouvez également afficher les zones cachées à l\'aide du bouton ci-dessous.'); ?> <?php echo template::speech('Cliquez sur une zone afin d\'accéder à ses options de personnalisation. Vous pouvez également afficher les zones cachées à l\'aide du bouton ci-dessous.'); ?>
<div class="row"> <div class="row">
<div class="col3"> <div class="col3 offset3">
<?php echo template::button('themeBack', [ <?php echo template::button('themeBack', [
'class' => 'buttonGrey', 'class' => 'buttonGrey',
'href' => helper::baseUrl(false), 'href' => helper::baseUrl(false),
@ -20,7 +20,9 @@
'value' => 'Administration' 'value' => 'Administration'
]); ?> ]); ?>
</div> </div>
<div class="col3"> </div>
<div class="row">
<div class="col3 offset3">
<?php echo template::button('themeAdvanced', [ <?php echo template::button('themeAdvanced', [
'ico' => 'code', 'ico' => 'code',
'href' => helper::baseUrl() . $this->getUrl(0) . '/advanced', 'href' => helper::baseUrl() . $this->getUrl(0) . '/advanced',
@ -36,7 +38,7 @@
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col3 offset5"> <div class="col4 offset4">
<?php echo template::button('themeShowAll', [ <?php echo template::button('themeShowAll', [
'ico' => 'eye', 'ico' => 'eye',
'value' => 'Zones cachées' 'value' => 'Zones cachées'
@ -46,7 +48,7 @@
<?php else: ?> <?php else: ?>
<?php echo template::speech('Cliquez sur une zone afin d\'accéder à ses options de personnalisation.'); ?> <?php echo template::speech('Cliquez sur une zone afin d\'accéder à ses options de personnalisation.'); ?>
<div class="row"> <div class="row">
<div class="col3"> <div class="col3 offset3">
<?php echo template::button('themeBack', [ <?php echo template::button('themeBack', [
'class' => 'buttonGrey', 'class' => 'buttonGrey',
'href' => helper::baseUrl(false), 'href' => helper::baseUrl(false),
@ -61,7 +63,9 @@
'value' => 'Administration' 'value' => 'Administration'
]); ?> ]); ?>
</div> </div>
<div class="col3"> </div>
<div class="row">
<div class="col3 offset3">
<?php echo template::button('themeManage', [ <?php echo template::button('themeManage', [
'href' => helper::baseUrl() . $this->getUrl(0) . '/manage', 'href' => helper::baseUrl() . $this->getUrl(0) . '/manage',
'ico' => 'upload', 'ico' => 'upload',

View File

@ -19,7 +19,7 @@ class gallery extends common {
const SORT_ASC = 'SORT_ASC'; const SORT_ASC = 'SORT_ASC';
const SORT_DSC = 'SORT_DSC'; const SORT_DSC = 'SORT_DSC';
const SORT_HAND = 'SORT_HAND'; const SORT_HAND = 'SORT_HAND';
const GALLERY_VERSION = '2.4'; const GALLERY_VERSION = '2.5';
public static $directories = []; public static $directories = [];
@ -178,7 +178,7 @@ class gallery extends common {
'directory' => $this->getData(['module',$this->getUrl(0),$galleryName,'config','directory']), 'directory' => $this->getData(['module',$this->getUrl(0),$galleryName,'config','directory']),
'homePicture' => $this->getData(['module',$this->getUrl(0),$galleryName,'config','homePicture']), 'homePicture' => $this->getData(['module',$this->getUrl(0),$galleryName,'config','homePicture']),
'sort' => $this->getData(['module',$this->getUrl(0),$galleryName,'config','sort']), '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']) '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), 'directory' => $this->getInput('galleryConfigDirectory', helper::FILTER_STRING_SHORT, true),
'homePicture' => $homePicture, 'homePicture' => $homePicture,
'sort' => self::SORT_ASC, '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 'fullScreen' => false
], ],
'legend' => [], 'legend' => [],
@ -382,7 +382,7 @@ class gallery extends common {
'homePicture' => $homePicture, 'homePicture' => $homePicture,
// pas de positions, on active le tri alpha // pas de positions, on active le tri alpha
'sort' => $this->getInput('galleryEditSort'), '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) 'fullScreen' => $this->getInput('galleryEditFullscreen', helper::FILTER_BOOLEAN)
], ],