10.2.dev28 config blocs pliables - optimisation JS à réaliser.

This commit is contained in:
Fred Tempez 2020-06-05 07:23:36 +02:00
parent c963a61389
commit 6b2c44c3fc
4 changed files with 622 additions and 400 deletions

View File

@ -39,7 +39,7 @@ class common {
const ACCESS_TIMER = 1800; const ACCESS_TIMER = 1800;
// Numéro de version // Numéro de version
const ZWII_VERSION = '10.2.00.dev27'; const ZWII_VERSION = '10.2.00.dev28';
const ZWII_UPDATE_CHANNEL = "v10"; const ZWII_UPDATE_CHANNEL = "v10";
public static $actions = []; public static $actions = [];

View File

@ -12,4 +12,36 @@
* @link http://zwiicms.com/ * @link http://zwiicms.com/
*/ */
@import url("site/data/admin.css"); @import url("site/data/admin.css");
#parameter .blockContainer,
#social .blockContainer,
#ceo .blockContainer,
#network .blockContainer,
#smtp .blockContainer,
#login .blockContainer,
#log .blockContainer ,
#script .blockContainer,
#parameter .zwiico-minus,
#social .zwiico-minus,
#ceo .zwiico-minus,
#network .zwiico-minus,
#smtp .zwiico-minus,
#login .zwiico-minus,
#log .zwiico-minus,
#script .zwiico-minus
{
display: none;
}
#info .zwiico-plus,
#version .zwiico-plus {
display: none;
}
.zwiico-minus,
.zwiico-plus {
cursor: pointer;
}

View File

@ -85,3 +85,132 @@ $("select[name=configConnectTimeout]").on("change", function() {
} }
}); });
/**
* Affichage et masquage des blocs
*/
// Informations générales
$("#info .zwiico-plus").click(function() {
$("#info .blockContainer").slideDown();
$("#info .zwiico-plus").hide();
$("#info .zwiico-minus").show();
/* var _this = $(this);
console.log(_this.parent());*/
});
$("#info .zwiico-minus").click(function() {
$("#info .blockContainer").slideUp();
$("#info .zwiico-plus").show();
$("#info .zwiico-minus").hide();
});
// Paramètres
$("#parameter .zwiico-plus").click(function() {
$("#parameter .blockContainer").slideDown();
$("#parameter .zwiico-plus").hide();
$("#parameter .zwiico-minus").show();
});
$("#parameter .zwiico-minus").click(function() {
$("#parameter .blockContainer").slideUp();
$("#parameter .zwiico-plus").show();
$("#parameter .zwiico-minus").hide();
});
// Sociaux
$("#social .zwiico-plus").click(function() {
$("#social .blockContainer").slideDown();
$("#social .zwiico-plus").hide();
$("#social .zwiico-minus").show();
});
$("#social .zwiico-minus").click(function() {
$("#social .blockContainer").slideUp();
$("#social .zwiico-plus").show();
$("#social .zwiico-minus").hide();
});
// Référencement
$("#ceo .zwiico-plus").click(function() {
$("#ceo .blockContainer").slideDown();
$("#ceo .zwiico-plus").hide();
$("#ceo .zwiico-minus").show();
});
$("#ceo .zwiico-minus").click(function() {
$("#ceo .blockContainer").slideUp();
$("#ceo .zwiico-plus").show();
$("#ceo .zwiico-minus").hide();
});
// Réseau
$("#network .zwiico-plus").click(function() {
$("#network .blockContainer").slideDown();
$("#network .zwiico-plus").hide();
$("#network .zwiico-minus").show();
});
$("#network .zwiico-minus").click(function() {
$("#network .blockContainer").slideUp();
$("#network .zwiico-plus").show();
$("#network .zwiico-minus").hide();
});
// smtp
$("#smtp .zwiico-plus").click(function() {
$("#smtp .blockContainer").slideDown();
$("#smtp .zwiico-plus").hide();
$("#smtp .zwiico-minus").show();
});
$("#smtp .zwiico-minus").click(function() {
$("#smtp .blockContainer").slideUp();
$("#smtp .zwiico-plus").show();
$("#smtp .zwiico-minus").hide();
});
// sécurité login
$("#login .zwiico-plus").click(function() {
$("#login .blockContainer").slideDown();
$("#login .zwiico-plus").hide();
$("#login .zwiico-minus").show();
});
$("#login .zwiico-minus").click(function() {
$("#login .blockContainer").slideUp();
$("#login .zwiico-plus").show();
$("#login .zwiico-minus").hide();
});
// journaux
$("#log .zwiico-plus").click(function() {
$("#log .blockContainer").slideDown();
$("#log .zwiico-plus").hide();
$("#log .zwiico-minus").show();
});
$("#log .zwiico-minus").click(function() {
$("#log .blockContainer").slideUp();
$("#log .zwiico-plus").show();
$("#log .zwiico-minus").hide();
});
// script
$("#script .zwiico-plus").click(function() {
$("#script .blockContainer").slideDown();
$("#script .zwiico-plus").hide();
$("#script .zwiico-minus").show();
});
$("#script .zwiico-minus").click(function() {
$("#script .blockContainer").slideUp();
$("#script .zwiico-plus").show();
$("#script .zwiico-minus").hide();
});
// version
$("#version .zwiico-plus").click(function() {
$("#version .blockContainer").slideDown();
$("#version .zwiico-plus").hide();
$("#version .zwiico-minus").show();
});
$("#version .zwiico-minus").click(function() {
$("#version .blockContainer").slideUp();
$("#version .zwiico-plus").show();
$("#version .zwiico-minus").hide();
});

View File

@ -28,258 +28,145 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col12"> <div class="col12">
<div class="block"> <div class="block" id="info">
<h4>Informations générales</h4> <h4><?php
<div class="row"> echo template::ico('plus','right');
<div class="col4"> echo template::ico('minus','right');
<?php ?>Informations générales</h4>
$pages = $this->getData(['page']); <div class="blockContainer">
foreach($pages as $page => $pageId) { <div class="row">
if ($this->getData(['page',$page,'block']) === 'bar' || <div class="col4">
$this->getData(['page',$page,'disable']) === true) { <?php
unset($pages[$page]); $pages = $this->getData(['page']);
foreach($pages as $page => $pageId) {
if ($this->getData(['page',$page,'block']) === 'bar' ||
$this->getData(['page',$page,'disable']) === true) {
unset($pages[$page]);
}
} }
} echo template::select('configHomePageId', helper::arrayCollumn($pages, 'title', 'SORT_ASC'), [
echo template::select('configHomePageId', helper::arrayCollumn($pages, 'title', 'SORT_ASC'), [ 'label' => 'Page d\'accueil',
'label' => 'Page d\'accueil', 'selected' =>$this->getData(['config', 'homePageId'])
'selected' =>$this->getData(['config', 'homePageId']) ]); ?>
]); ?> </div>
<div class="col8">
<?php echo template::text('configTitle', [
'label' => '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.'
]); ?>
</div>
</div> </div>
<div class="col8"> <div class="row">
<?php echo template::text('configTitle', [ <div class="col12">
'label' => 'Titre du site', <?php echo template::textarea('configMetaDescription', [
'value' => $this->getData(['config', 'title']), 'label' => 'Description du site',
'help' => 'Il apparaît dans la barre de titre et les partages sur les réseaux sociaux.' 'value' => $this->getData(['config', 'metaDescription']),
]); ?> 'help' => 'Elle apparaît dans les partages sur les réseaux sociaux.'
]); ?>
</div>
</div> </div>
</div> </div>
<?php echo template::textarea('configMetaDescription', [
'label' => 'Description du site',
'value' => $this->getData(['config', 'metaDescription']),
'help' => 'Elle apparaît dans les partages sur les réseaux sociaux.'
]); ?>
</div> </div>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col12"> <div class="col12">
<div class="block"> <div class="block" id="parameter">
<h4>Paramètres</h4> <h4><?php
<?php $error = helper::urlGetContents('http://zwiicms.com/update/' . common::ZWII_UPDATE_CHANNEL . '/version');?> echo template::ico('plus','right');
<?php if ($error !== false) : ?> echo template::ico('minus','right');
<?php $error = true; ?> ?>Paramètres</h4>
<?php endif;?> <div class="blockContainer">
<div class="row"> <?php $error = helper::urlGetContents('http://zwiicms.com/update/' . common::ZWII_UPDATE_CHANNEL . '/version');?>
<div class="col3"> <?php if ($error !== false) : ?>
<?php echo template::file('configFavicon', [ <?php $error = true; ?>
'type' => 1, <?php endif;?>
'help' => 'Pensez à supprimer le cache de votre navigateur si la favicon ne change pas.', <div class="row">
'label' => 'Favicon', <div class="col3">
'value' => $this->getData(['config', 'favicon']) <?php echo template::file('configFavicon', [
]); ?> 'type' => 1,
</div> 'help' => 'Pensez à supprimer le cache de votre navigateur si la favicon ne change pas.',
<div class="col3"> 'label' => 'Favicon',
<?php echo template::file('configFaviconDark', [ 'value' => $this->getData(['config', 'favicon'])
'type' => 1,
'help' => 'Sélectionnez une icône adaptée à un thème sombre.<br>Pensez à supprimer le cache de votre navigateur si la favicon ne change pas.',
'label' => 'Favicon thème sombre',
'value' => $this->getData(['config', 'faviconDark'])
]); ?>
</div>
<div class="col6">
<?php echo template::select('configItemsperPage', $module::$ItemsList, [
'label' => 'Articles par page',
'selected' => $this->getData(['config', 'itemsperPage']),
'help' => 'Modules Blog et News'
]); ?>
</div>
</div>
<div class="row">
<div class="col6">
<?php echo template::select('configTimezone', $module::$timezones, [
'label' => 'Fuseau horaire',
'selected' => $this->getData(['config', 'timezone']),
'help' => 'Le fuseau horaire est utile au bon référencement'
]); ?>
</div>
<div class="col6">
<?php $listePageId = array_merge(['' => 'Sélectionner'] , helper::arrayCollumn($this->getData(['page']), 'title', 'SORT_ASC') );
?>
<?php echo template::select('configLegalPageId', $listePageId , [
'label' => 'Mentions légales',
'selected' => $this->getData(['config', 'legalPageId']),
'help' => 'Les mentions légales sont obligatoires en France'
]); ?>
</div>
</div>
<div class="row">
<div class="col6">
<?php echo template::checkbox('configCookieConsent', true, 'Message de consentement aux cookies', [
'checked' => $this->getData(['config', 'cookieConsent'])
]); ?>
</div>
<div class="col6">
<?php echo template::checkbox('rewrite', true, 'Réécriture d\'URL', [
'checked' => helper::checkRewrite(),
'help' => 'Vérifiez d\'abord que votre serveur l\'autorise : ce n\'est pas le cas chez Free.'
]); ?>
</div>
</div>
<div class="row">
<div class="col6">
<?php echo template::checkbox('configAutoBackup', true, 'Sauvegarde automatique quotidienne', [
'checked' => $this->getData(['config', 'autoBackup']),
'help' => '<p>Une archive contenant le dossier /site/data est copiée dans le dossier \'site/backup\'. La sauvegarde est conservée pendant 30 jours.</p><p>Les fichiers du site ne sont pas sauvegardés automatiquement.</p>'
]); ?> ]); ?>
</div> </div>
<div class="col6"> <div class="col3">
<?php echo template::checkbox('configMaintenance', true, 'Site en maintenance', [ <?php echo template::file('configFaviconDark', [
'checked' => $this->getData(['config', 'maintenance']) 'type' => 1,
'help' => 'Sélectionnez une icône adaptée à un thème sombre.<br>Pensez à supprimer le cache de votre navigateur si la favicon ne change pas.',
'label' => 'Favicon thème sombre',
'value' => $this->getData(['config', 'faviconDark'])
]); ?> ]); ?>
</div> </div>
</div> <div class="col6">
<div class="row"> <?php echo template::select('configItemsperPage', $module::$ItemsList, [
<div class="col3"> 'label' => 'Articles par page',
<?php echo template::checkbox('configAutoUpdate', true, 'Mise à jour automatique', [ 'selected' => $this->getData(['config', 'itemsperPage']),
'checked' => $this->getData(['config', 'autoUpdate']), 'help' => 'Modules Blog et News'
'help' => 'Vérifie une fois par jour l\'existence d\'une mise à jour.', ]); ?>
</div>
</div>
<div class="row">
<div class="col6">
<?php echo template::select('configTimezone', $module::$timezones, [
'label' => 'Fuseau horaire',
'selected' => $this->getData(['config', 'timezone']),
'help' => 'Le fuseau horaire est utile au bon référencement'
]); ?>
</div>
<div class="col6">
<?php $listePageId = array_merge(['' => 'Sélectionner'] , helper::arrayCollumn($this->getData(['page']), 'title', 'SORT_ASC') );
?>
<?php echo template::select('configLegalPageId', $listePageId , [
'label' => 'Mentions légales',
'selected' => $this->getData(['config', 'legalPageId']),
'help' => 'Les mentions légales sont obligatoires en France'
]); ?>
</div>
</div>
<div class="row">
<div class="col6">
<?php echo template::checkbox('configCookieConsent', true, 'Message de consentement aux cookies', [
'checked' => $this->getData(['config', 'cookieConsent'])
]); ?>
</div>
<div class="col6">
<?php echo template::checkbox('rewrite', true, 'Réécriture d\'URL', [
'checked' => helper::checkRewrite(),
'help' => 'Vérifiez d\'abord que votre serveur l\'autorise : ce n\'est pas le cas chez Free.'
]); ?>
</div>
</div>
<div class="row">
<div class="col6">
<?php echo template::checkbox('configAutoBackup', true, 'Sauvegarde automatique quotidienne', [
'checked' => $this->getData(['config', 'autoBackup']),
'help' => '<p>Une archive contenant le dossier /site/data est copiée dans le dossier \'site/backup\'. La sauvegarde est conservée pendant 30 jours.</p><p>Les fichiers du site ne sont pas sauvegardés automatiquement.</p>'
]); ?>
</div>
<div class="col6">
<?php echo template::checkbox('configMaintenance', true, 'Site en maintenance', [
'checked' => $this->getData(['config', 'maintenance'])
]); ?>
</div>
</div>
<div class="row">
<div class="col3">
<?php echo template::checkbox('configAutoUpdate', true, 'Mise à jour automatique', [
'checked' => $this->getData(['config', 'autoUpdate']),
'help' => 'Vérifie une fois par jour l\'existence d\'une mise à jour.',
'disabled' => !$error
]); ?>
</div>
<div class="col3">
<?php echo template::button('configUpdateForced', [
'ico' => 'download-cloud',
'href' => helper::baseUrl() . 'install/update',
'value' => 'Mise à jour manuelle',
'disabled' => !$error 'disabled' => !$error
]); ?> ]); ?>
</div>
<div class="col3">
<?php echo template::button('configUpdateForced', [
'ico' => 'download-cloud',
'href' => helper::baseUrl() . 'install/update',
'value' => 'Mise à jour manuelle',
'disabled' => !$error
]); ?>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col6">
<div class="block">
<h4>Réseaux sociaux</h4>
<div class="row">
<div class="col6">
<?php echo template::text('configSocialFacebookId', [
'help' => 'Saisissez votre ID : https://www.facebook.com/[ID].',
'label' => 'Facebook',
'value' => $this->getData(['config', 'social', 'facebookId'])
]); ?>
</div>
<div class="col6">
<?php echo template::text('configSocialInstagramId', [
'help' => 'Saisissez votre ID : https://www.instagram.com/[ID].',
'label' => 'Instagram',
'value' => $this->getData(['config', 'social', 'instagramId'])
]); ?>
</div>
</div>
<div class="row">
<div class="col6">
<?php echo template::text('configSocialYoutubeId', [
'help' => 'ID de la chaîne : https://www.youtube.com/channel/[ID].',
'label' => 'Chaîne Youtube',
'value' => $this->getData(['config', 'social', 'youtubeId'])
]); ?>
</div>
<div class="col6">
<?php echo template::text('configSocialYoutubeUserId', [
'help' => 'Saisissez votre ID Utilisateur : https://www.youtube.com/user/[ID].',
'label' => 'Youtube',
'value' => $this->getData(['config', 'social', 'youtubeUserId'])
]); ?>
</div>
</div>
<div class="row">
<div class="col6">
<?php echo template::text('configSocialTwitterId', [
'help' => 'Saisissez votre ID : https://twitter.com/[ID].',
'label' => 'Twitter',
'value' => $this->getData(['config', 'social', 'twitterId'])
]); ?>
</div>
<div class="col6">
<?php echo template::text('configSocialPinterestId', [
'help' => 'Saisissez votre ID : https://pinterest.com/[ID].',
'label' => 'Pinterest',
'value' => $this->getData(['config', 'social', 'pinterestId'])
]); ?>
</div>
<div class="col6">
<?php echo template::text('configSocialLinkedinId', [
'help' => 'Saisissez votre ID Linkedin : https://fr.linkedin.com/in/[ID].',
'label' => 'Linkedin',
'value' => $this->getData(['config', 'social', 'linkedinId'])
]); ?>
</div>
<div class="col6">
<?php echo template::text('configSocialGithubId', [
'help' => 'Saisissez votre ID Github : https://github.com/[ID].',
'label' => 'Github',
'value' => $this->getData(['config', 'social', 'githubId'])
]); ?>
</div>
</div>
</div>
</div>
<div class="col6">
<div class="block">
<h4>Référencement</h4>
<div class="row">
<div class="col6">
<?php echo template::button('configMetaImage', [
'href' => helper::baseUrl() . 'config/configMetaImage',
'value' => 'Capture Open Graph',
'ico' => 'pencil'
]); ?>
</div>
<div class="col6">
<?php echo template::button('configSiteMap', [
'href' => helper::baseUrl() . 'config/generateFiles',
'value' => 'Sitemap.xml / Robots.txt',
'ico' => 'pencil'
]); ?>
</div>
</div>
<?php if (file_exists(self::FILE_DIR.'source/screenshot.jpg')): ?>
<div class="row">
<div class="col8 offset2 textAlignCenter">
<img src="<?php echo helper::baseUrl(false) . self::FILE_DIR.'source/screenshot.jpg';?>" data-tippy-content="Cette capture d'écran est nécessaire aux partages sur les réseaux sociaux. Elle est régénérée lorsque le fichier 'screenshot.jpg' est effacé du gestionnaire de fichiers." />
</div> </div>
</div>
<?php endif;?>
</div>
</div>
</div>
<div class="row">
<div class="col12">
<div class="block">
<h4>Paramètres réseaux</h4>
<div class="row">
<div class="col2">
<?php echo template::select('configProxyType', $module::$proxyType, [
'label' => 'Type de proxy',
'selected' => $this->getData(['config', 'proxyType'])
]); ?>
</div>
<div class="col8">
<?php echo template::text('configProxyUrl', [
'label' => 'Adresse du proxy',
'placeholder' => 'cache.proxy.fr',
'value' => $this->getData(['config', 'proxyUrl'])
]); ?>
</div>
<div class="col2">
<?php echo template::text('configProxyPort', [
'label' => 'Port du proxy',
'placeholder' => '6060',
'value' => $this->getData(['config', 'proxyPort'])
]); ?>
</div> </div>
</div> </div>
</div> </div>
@ -287,60 +174,214 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col12"> <div class="col12">
<div class="block"> <div class="block" id="social">
<h4>Paramètres de messagerie SMTP</h4> <h4><?php
<div class="row"> echo template::ico('plus','right');
<div class="col12"> echo template::ico('minus','right');
<?php echo template::checkbox('configSmtpEnable', true, 'Activer SMTP', [ ?>Réseaux sociaux</h4>
'checked' => $this->getData(['config', 'smtp','enable']), <div class="blockContainer">
'help' => 'Paramètres à utiliser lorsque votre hébergeur ne propose pas la fonctionnalité d\'envoi de mail.'
]); ?>
</div>
</div>
<div id="configSmtpParam">
<div class="row"> <div class="row">
<div class="col8"> <div class="col3">
<?php echo template::text('configSmtpHost', [ <?php echo template::text('configSocialFacebookId', [
'label' => 'Adresse SMTP', 'help' => 'Saisissez votre ID : https://www.facebook.com/[ID].',
'placeholder' => 'smtp.fr', 'label' => 'Facebook',
'value' => $this->getData(['config', 'smtp','host']) 'value' => $this->getData(['config', 'social', 'facebookId'])
]); ?> ]); ?>
</div> </div>
<div class="col2"> <div class="col3">
<?php echo template::text('configSmtpPort', [ <?php echo template::text('configSocialInstagramId', [
'label' => 'Port SMTP', 'help' => 'Saisissez votre ID : https://www.instagram.com/[ID].',
'placeholder' => '589', 'label' => 'Instagram',
'value' => $this->getData(['config', 'smtp','port']) 'value' => $this->getData(['config', 'social', 'instagramId'])
]); ?> ]); ?>
</div> </div>
<div class="col2"> <div class="col3">
<?php echo template::select('configSmtpAuth', $module::$SMTPauth, [ <?php echo template::text('configSocialYoutubeId', [
'label' => 'Authentification', 'help' => 'ID de la chaîne : https://www.youtube.com/channel/[ID].',
'selected' => $this->getData(['config', 'smtp','auth']) 'label' => 'Chaîne Youtube',
'value' => $this->getData(['config', 'social', 'youtubeId'])
]); ?>
</div>
<div class="col3">
<?php echo template::text('configSocialYoutubeUserId', [
'help' => 'Saisissez votre ID Utilisateur : https://www.youtube.com/user/[ID].',
'label' => 'Youtube',
'value' => $this->getData(['config', 'social', 'youtubeUserId'])
]); ?> ]); ?>
</div> </div>
</div> </div>
<div id="configSmtpAuthParam"> <div class="row">
<div class="row"> <div class="col3">
<div class="col5"> <?php echo template::text('configSocialTwitterId', [
<?php echo template::text('configSmtpUsername', [ 'help' => 'Saisissez votre ID : https://twitter.com/[ID].',
'label' => 'Nom utilisateur', 'label' => 'Twitter',
'value' => $this->getData(['config', 'smtp','username' ]) 'value' => $this->getData(['config', 'social', 'twitterId'])
]); ?>
</div>
<div class="col3">
<?php echo template::text('configSocialPinterestId', [
'help' => 'Saisissez votre ID : https://pinterest.com/[ID].',
'label' => 'Pinterest',
'value' => $this->getData(['config', 'social', 'pinterestId'])
]); ?>
</div>
<div class="col3">
<?php echo template::text('configSocialLinkedinId', [
'help' => 'Saisissez votre ID Linkedin : https://fr.linkedin.com/in/[ID].',
'label' => 'Linkedin',
'value' => $this->getData(['config', 'social', 'linkedinId'])
]); ?>
</div>
<div class="col3">
<?php echo template::text('configSocialGithubId', [
'help' => 'Saisissez votre ID Github : https://github.com/[ID].',
'label' => 'Github',
'value' => $this->getData(['config', 'social', 'githubId'])
]); ?> ]); ?>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col12">
<div class="block" id="ceo">
<h4><?php
echo template::ico('plus','right');
echo template::ico('minus','right');
?>Référencement</h4>
<div class="blockContainer">
<div class="row">
<div class="col4 offset1">
<div class="row">
<div class="col12">
<?php echo template::button('configMetaImage', [
'href' => helper::baseUrl() . 'config/configMetaImage',
'value' => 'Capture Open Graph',
'ico' => 'pencil'
]); ?>
</div>
</div> </div>
<div class="col5"> <div class="row">
<?php echo template::password('configSmtpPassword', [ <div class="col12">
'label' => 'Mot de passe', <?php echo template::button('configSiteMap', [
'autocomplete' => 'off', 'href' => helper::baseUrl() . 'config/generateFiles',
'value' => $this->getData(['config', 'smtp','username' ]) ? helper::decrypt ($this->getData(['config', 'smtp','username' ]),$this->getData(['config','smtp','password'])) : '' 'value' => 'Sitemap.xml / Robots.txt',
'ico' => 'pencil'
]); ?>
</div>
</div>
</div>
<div class="col6 offset1">
<?php if (file_exists(self::FILE_DIR.'source/screenshot.jpg')): ?>
<div class="row">
<div class="col8 offset2 textAlignCenter">
<img src="<?php echo helper::baseUrl(false) . self::FILE_DIR.'source/screenshot.jpg';?>" data-tippy-content="Cette capture d'écran est nécessaire aux partages sur les réseaux sociaux. Elle est régénérée lorsque le fichier 'screenshot.jpg' est effacé du gestionnaire de fichiers." />
</div>
</div>
<?php endif;?>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col12">
<div class="block" id="network">
<h4><?php
echo template::ico('plus','right');
echo template::ico('minus','right');
?>Paramètres réseaux</h4>
<div class="blockContainer">
<div class="row">
<div class="col2">
<?php echo template::select('configProxyType', $module::$proxyType, [
'label' => 'Type de proxy',
'selected' => $this->getData(['config', 'proxyType'])
]); ?>
</div>
<div class="col8">
<?php echo template::text('configProxyUrl', [
'label' => 'Adresse du proxy',
'placeholder' => 'cache.proxy.fr',
'value' => $this->getData(['config', 'proxyUrl'])
]); ?>
</div>
<div class="col2">
<?php echo template::text('configProxyPort', [
'label' => 'Port du proxy',
'placeholder' => '6060',
'value' => $this->getData(['config', 'proxyPort'])
]); ?>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col12">
<div class="block" id="smtp">
<h4><?php
echo template::ico('plus','right');
echo template::ico('minus','right');
?>Paramètres de messagerie SMTP</h4>
<div class="blockContainer">
<div class="row">
<div class="col12">
<?php echo template::checkbox('configSmtpEnable', true, 'Activer SMTP', [
'checked' => $this->getData(['config', 'smtp','enable']),
'help' => 'Paramètres à utiliser lorsque votre hébergeur ne propose pas la fonctionnalité d\'envoi de mail.'
]); ?>
</div>
</div>
<div id="configSmtpParam">
<div class="row">
<div class="col8">
<?php echo template::text('configSmtpHost', [
'label' => 'Adresse SMTP',
'placeholder' => 'smtp.fr',
'value' => $this->getData(['config', 'smtp','host'])
]); ?> ]); ?>
</div> </div>
<div class="col2"> <div class="col2">
<?php echo template::select('configSmtpSecure', $module::$SMTPEnc , [ <?php echo template::text('configSmtpPort', [
'label' => 'Sécurité', 'label' => 'Port SMTP',
'selected' => $this->getData(['config', 'smtp','secure']) 'placeholder' => '589',
'value' => $this->getData(['config', 'smtp','port'])
]); ?> ]); ?>
</div> </div>
<div class="col2">
<?php echo template::select('configSmtpAuth', $module::$SMTPauth, [
'label' => 'Authentification',
'selected' => $this->getData(['config', 'smtp','auth'])
]); ?>
</div>
</div>
<div id="configSmtpAuthParam">
<div class="row">
<div class="col5">
<?php echo template::text('configSmtpUsername', [
'label' => 'Nom utilisateur',
'value' => $this->getData(['config', 'smtp','username' ])
]); ?>
</div>
<div class="col5">
<?php echo template::password('configSmtpPassword', [
'label' => 'Mot de passe',
'autocomplete' => 'off',
'value' => $this->getData(['config', 'smtp','username' ]) ? helper::decrypt ($this->getData(['config', 'smtp','username' ]),$this->getData(['config','smtp','password'])) : ''
]); ?>
</div>
<div class="col2">
<?php echo template::select('configSmtpSecure', $module::$SMTPEnc , [
'label' => 'Sécurité',
'selected' => $this->getData(['config', 'smtp','secure'])
]); ?>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -349,41 +390,46 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col12"> <div class="col12">
<div class="block"> <div class="block" id="login">
<h4>Sécurité de la connexion</h4> <h4><?php
<div class="row"> echo template::ico('plus','right');
<div class="col3"> echo template::ico('minus','right');
<?php echo template::select('configConnectAttempt', $module::$connectAttempt , [ ?>Sécurité de la connexion</h4>
'label' => 'Connexions successives', <div class="blockContainer">
'selected' => $this->getData(['config', 'connect', 'attempt']) <div class="row">
]); ?> <div class="col3">
</div> <?php echo template::select('configConnectAttempt', $module::$connectAttempt , [
<div class="col3"> 'label' => 'Connexions successives',
<?php echo template::select('configConnectTimeout', $module::$connectTimeout , [ 'selected' => $this->getData(['config', 'connect', 'attempt'])
'label' => 'Blocage après échecs', ]); ?>
'selected' => $this->getData(['config', 'connect', 'timeout']) </div>
]); ?> <div class="col3">
</div> <?php echo template::select('configConnectTimeout', $module::$connectTimeout , [
<div class="col3 verticalAlignBottom"> 'label' => 'Blocage après échecs',
<label id="helpBlacklist">Blocage des comptes inconnus 'selected' => $this->getData(['config', 'connect', 'timeout'])
<?php echo template::help( ]); ?>
'La liste noire énumère les tentatives de connexion à partir de comptes inexistants. Sont stockés : la date, l\'heure, le nom du compte et l\'IP. </div>
Après le nombre de tentatives autorisées, l\'IP et le compte sont bloqués.'); <div class="col3 verticalAlignBottom">
?> <label id="helpBlacklist">Blocage des comptes inconnus
</label> <?php echo template::help(
<?php echo template::button('configConnectblacListDownload', [ 'La liste noire énumère les tentatives de connexion à partir de comptes inexistants. Sont stockés : la date, l\'heure, le nom du compte et l\'IP.
'href' => helper::baseUrl() . 'config/blacklistDownload', Après le nombre de tentatives autorisées, l\'IP et le compte sont bloqués.');
'value' => 'Télécharger liste noire', ?>
'ico' => 'download' </label>
]); ?> <?php echo template::button('configConnectblacListDownload', [
</div> 'href' => helper::baseUrl() . 'config/blacklistDownload',
<div class="col3 verticalAlignBottom"> 'value' => 'Télécharger liste noire',
<?php echo template::button('ConfigConnectReset', [ 'ico' => 'download'
'class' => 'buttonRed', ]); ?>
'href' => helper::baseUrl() . 'config/blacklistReset', </div>
'value' => 'Réinitialiser liste', <div class="col3 verticalAlignBottom">
'ico' => 'cancel' <?php echo template::button('ConfigConnectReset', [
]); ?> 'class' => 'buttonRed',
'href' => helper::baseUrl() . 'config/blacklistReset',
'value' => 'Réinitialiser liste',
'ico' => 'cancel'
]); ?>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -391,28 +437,33 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col12"> <div class="col12">
<div class="block"> <div class="block" id="log">
<h4>Journalisation</h4> <h4><?php
<div class="row"> echo template::ico('plus','right');
<div class="col3 verticalAlignBottom"> echo template::ico('minus','right');
<?php echo template::checkbox('configConnectLog', true, 'Activer la journalisation', [ ?>Journalisation</h4>
'checked' => $this->getData(['config', 'connect', 'log']) <div class="blockContainer">
]); ?> <div class="row">
</div> <div class="col3 verticalAlignBottom">
<div class="col3 offset3"> <?php echo template::checkbox('configConnectLog', true, 'Activer la journalisation', [
<?php echo template::button('ConfigLogDownload', [ 'checked' => $this->getData(['config', 'connect', 'log'])
'href' => helper::baseUrl() . 'config/logDownload', ]); ?>
'value' => 'Télécharger journal', </div>
'ico' => 'download' <div class="col3 offset3">
]); ?> <?php echo template::button('ConfigLogDownload', [
</div> 'href' => helper::baseUrl() . 'config/logDownload',
<div class="col3"> 'value' => 'Télécharger journal',
<?php echo template::button('ConfigLogReset', [ 'ico' => 'download'
'class' => 'buttonRed', ]); ?>
'href' => helper::baseUrl() . 'config/logReset', </div>
'value' => 'Réinitialiser journal', <div class="col3">
'ico' => 'cancel' <?php echo template::button('ConfigLogReset', [
]); ?> 'class' => 'buttonRed',
'href' => helper::baseUrl() . 'config/logReset',
'value' => 'Réinitialiser journal',
'ico' => 'cancel'
]); ?>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -420,30 +471,35 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col12"> <div class="col12">
<div class="block"> <div class="block" id="script">
<h4>Options de script</h4> <h4><?php
<div class="row"> echo template::ico('plus','right');
<div class="col3"> echo template::ico('minus','right');
<?php echo template::text('configAnalyticsId', [ ?>Options de script</h4>
'help' => 'Saisissez l\'ID de suivi.', <div class="blockContainer">
'label' => 'Google Analytics', <div class="row">
'placeholder' => 'UA-XXXXXXXX-X', <div class="col3">
'value' => $this->getData(['config', 'analyticsId']) <?php echo template::text('configAnalyticsId', [
'help' => 'Saisissez l\'ID de suivi.',
'label' => 'Google Analytics',
'placeholder' => 'UA-XXXXXXXX-X',
'value' => $this->getData(['config', 'analyticsId'])
]); ?>
</div>
<div class="col3 offset3 verticalAlignBottom">
<?php echo template::button('configScriptHead', [
'href' => helper::baseUrl() . 'config/script/head',
'value' => 'Script dans head',
'ico' => 'pencil'
]); ?>
</div>
<div class="col3 verticalAlignBottom">
<?php echo template::button('ConfigScriptBody', [
'href' => helper::baseUrl() . 'config/script/body',
'value' => 'Script dans body',
'ico' => 'pencil'
]); ?> ]); ?>
</div> </div>
<div class="col3 offset3 verticalAlignBottom">
<?php echo template::button('configScriptHead', [
'href' => helper::baseUrl() . 'config/script/head',
'value' => 'Script dans head',
'ico' => 'pencil'
]); ?>
</div>
<div class="col3 verticalAlignBottom">
<?php echo template::button('ConfigScriptBody', [
'href' => helper::baseUrl() . 'config/script/body',
'value' => 'Script dans body',
'ico' => 'pencil'
]); ?>
</div> </div>
</div> </div>
</div> </div>
@ -451,50 +507,55 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col12"> <div class="col12">
<div class="block"> <div class="block" id="version">
<h4>Versions système</h4> <h4><?php
<div class="row"> echo template::ico('plus','right');
<div class="col2"> echo template::ico('minus','right');
<?php echo template::text('configVersion', [ ?>Versions système</h4>
'label' => 'ZwiiCMS', <div class="blockContainer">
'readonly' => true, <div class="row">
'value' => common::ZWII_VERSION <div class="col2">
]); ?> <?php echo template::text('configVersion', [
</div> 'label' => 'ZwiiCMS',
<div class="col2">
<?php echo template::text('moduleBlogVersion', [
'label' => 'Blog',
'readonly' => true, 'readonly' => true,
'value' => blog::BLOG_VERSION 'value' => common::ZWII_VERSION
]); ?>
</div>
<div class="col2">
<?php echo template::text('moduleFormVersion', [
'label' => 'Form',
'readonly' => true,
'value' => form::FORM_VERSION
]); ?>
</div>
<div class="col2">
<?php echo template::text('moduleGalleryVersion', [
'label' => 'Gallery',
'readonly' => true,
'value' => gallery::GALLERY_VERSION
]); ?>
</div>
<div class="col2">
<?php echo template::text('moduleNewsVersion', [
'label' => 'News',
'readonly' => true,
'value' => news::NEWS_VERSION
]); ?>
</div>
<div class="col2">
<?php echo template::text('moduleRedirectionVersion', [
'label' => 'Redirection',
'readonly' => true,
'value' => redirection::REDIRECTION_VERSION
]); ?> ]); ?>
</div>
<div class="col2">
<?php echo template::text('moduleBlogVersion', [
'label' => 'Blog',
'readonly' => true,
'value' => blog::BLOG_VERSION
]); ?>
</div>
<div class="col2">
<?php echo template::text('moduleFormVersion', [
'label' => 'Form',
'readonly' => true,
'value' => form::FORM_VERSION
]); ?>
</div>
<div class="col2">
<?php echo template::text('moduleGalleryVersion', [
'label' => 'Gallery',
'readonly' => true,
'value' => gallery::GALLERY_VERSION
]); ?>
</div>
<div class="col2">
<?php echo template::text('moduleNewsVersion', [
'label' => 'News',
'readonly' => true,
'value' => news::NEWS_VERSION
]); ?>
</div>
<div class="col2">
<?php echo template::text('moduleRedirectionVersion', [
'label' => 'Redirection',
'readonly' => true,
'value' => redirection::REDIRECTION_VERSION
]); ?>
</div>
</div> </div>
</div> </div>
</div> </div>