Merge branch '11200' into 11200_vendors
This commit is contained in:
commit
272de57267
@ -9,7 +9,12 @@ Mises à jour :
|
||||
- Configuration, restauration d'une archive du site :
|
||||
- la validation du formulaire sans avoir sélectionné de fichier de sauvegarde provoque le crash du site.
|
||||
- la conversion des URL des ressources ne fonctionnait plus depuis l'externalisation du contenu des pages dans des fichiers séparés.
|
||||
- Multi-langues :
|
||||
- Bug auto détection du navigateur.
|
||||
- Modifications :
|
||||
- Gestion des cookies :
|
||||
- Options de personnalisation du message d'acceptation des cookies, acceptation ou refus du cookie Google Analytics, affichage de la page des mentions légales.
|
||||
- Etiquette dans le footer permettant d'afficher la popup des cookies.
|
||||
- Thème :
|
||||
- Disposition des options de configuration du site.
|
||||
- Bannière : le contenu peut être personnalisé à l'aide d'un éditeur. La bannière au-dessus du site peut s'étendre sur la largeur de la page.
|
||||
|
@ -206,18 +206,6 @@ core.start = function() {
|
||||
$("#notification").fadeOut();
|
||||
$("#notificationProgress").stop();
|
||||
});
|
||||
/**
|
||||
* Affiche / Cache le menu en mode responsive
|
||||
*/
|
||||
var menuDOM = $("#menu");
|
||||
$("#toggle").on("click", function() {
|
||||
menuDOM.slideToggle();
|
||||
});
|
||||
$(window).on("resize", function() {
|
||||
if($(window).width() > 768) {
|
||||
menuDOM.css("display", "");
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Traitement du formulaire cookies
|
||||
@ -236,20 +224,51 @@ core.start = function() {
|
||||
|
||||
// Crée le cookie d'acceptation Google Analytics si l'ID a été saisie
|
||||
var analytics = "<?php echo $this->getData(['config', 'seo', 'analyticsId']);?>";
|
||||
// l'Id GA est défini dans la configuration, afficher la checkbox d'acceptation
|
||||
if( analytics.length > 0){
|
||||
document.cookie = "ZWII_COOKIE_GA_CONSENT=" + $("#googleAnalytics").prop("checked") + "<?php echo $_SERVER['PHP_SELF']; ?>" +";" + domain + ";" + path + ";" + samesite + ";" + expires;
|
||||
// Traitement du retour de la checkbox
|
||||
if ($("#googleAnalytics").is(":checked")) {
|
||||
// L'URL du serveur faut TRUE
|
||||
document.cookie = "ZWII_COOKIE_GA_CONSENT=" + "<?php echo $_SERVER['PHP_SELF']; ?>" + ";" + domain + ";" + path + ";" + samesite + ";" + expires;
|
||||
} else {
|
||||
document.cookie = "ZWII_COOKIE_GA_CONSENT=false;" + domain + ";" + path + ";" + samesite + ";" + expires;
|
||||
}
|
||||
|
||||
// Stocke lz cookie d'acceptation
|
||||
}
|
||||
|
||||
// Stocke le cookie d'acceptation
|
||||
document.cookie = "ZWII_COOKIE_CONSENT=<?php echo $_SERVER['PHP_SELF']; ?>;" + domain + ";" + path + ";" + samesite + ";" + expires;
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* Fermeture de la popup des cookies
|
||||
*/
|
||||
$("#cookieConsent .cookieClose").on("click", function() {
|
||||
$(this).parents("#cookieConsent").fadeOut();
|
||||
$('#cookieConsent').fadeOut();
|
||||
});
|
||||
|
||||
/**
|
||||
* Commande de gestion des cookies dans le footer
|
||||
*/
|
||||
|
||||
$("#footerLinkCookie").on("click", function() {
|
||||
$("#cookieConsent").removeClass("displayNone");
|
||||
});
|
||||
|
||||
/**
|
||||
* Affiche / Cache le menu en mode responsive
|
||||
*/
|
||||
var menuDOM = $("#menu");
|
||||
$("#toggle").on("click", function() {
|
||||
menuDOM.slideToggle();
|
||||
});
|
||||
$(window).on("resize", function() {
|
||||
if($(window).width() > 768) {
|
||||
menuDOM.css("display", "");
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Choix de page dans la barre de membre
|
||||
*/
|
||||
|
@ -45,7 +45,7 @@ class common {
|
||||
|
||||
// Numéro de version
|
||||
const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/update/raw/branch/master/';
|
||||
const ZWII_VERSION = '11.2.00.9';
|
||||
const ZWII_VERSION = '11.2.00.12';
|
||||
const ZWII_UPDATE_CHANNEL = "test";
|
||||
|
||||
public static $actions = [];
|
||||
@ -264,7 +264,13 @@ class common {
|
||||
* la traduction est celle de la langue du drapeau
|
||||
* */
|
||||
if ( $this->getInput('ZWII_I18N_SCRIPT') !== substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2 ) ) {
|
||||
setrawcookie('googtrans', '/fr/'.substr( $_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2 ), time() + 3600, helper::baseUrl());
|
||||
setrawcookie('googtrans', '/fr/'.substr( $_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2 ), time() + 3600, helper::baseUrl(false, false));
|
||||
} else {
|
||||
// Langue du drapeau si elle est définie
|
||||
if ( $this->getInput('ZWII_I18N_SCRIPT') !== '' ) {
|
||||
// Paramètre du script
|
||||
setrawcookie("googtrans", '/fr/'. $this->getInput('ZWII_I18N_SCRIPT') , time() + 3600, helper::baseUrl(false,false));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1174,7 +1180,7 @@ class common {
|
||||
*/
|
||||
public function showAnalytics() {
|
||||
if( !empty($code = $this->getData(['config', 'seo', 'analyticsId'])) &&
|
||||
$this->getInput('ZWII_COOKIE_GA_CONSENT') === 'true'.$_SERVER['PHP_SELF']) {
|
||||
$this->getInput('ZWII_COOKIE_GA_CONSENT') === $_SERVER['PHP_SELF'] ) {
|
||||
echo '<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id='. $code .'"></script>
|
||||
<script>
|
||||
@ -1191,30 +1197,38 @@ class common {
|
||||
*/
|
||||
public function showCookies() {
|
||||
|
||||
if( $this->getInput('ZWII_COOKIE_CONSENT') !== $_SERVER['PHP_SELF'] AND
|
||||
$this->getData(['config', 'cookies', 'cookieConsent']) === true
|
||||
){
|
||||
|
||||
$analytics = $this->getData(['config', 'seo', 'analyticsId']);
|
||||
$legalPage = $this->getData(['locale','legalPageId']) ==='none'? 'mentions-legales' : $this->getData(['locale','legalPageId']);
|
||||
$item = '<div id="cookieConsent">';
|
||||
// Gestion des cookies intégrée
|
||||
if ($this->getData(['config', 'cookieConsent']) === true )
|
||||
{
|
||||
// Détermine si le bloc doit être affiché selon la validité du cookie
|
||||
// L'URL du serveur faut TRUE
|
||||
$item = '<div id="cookieConsent"';
|
||||
$item .= $this->getInput('ZWII_COOKIE_CONSENT') !== $_SERVER['PHP_SELF'] ? '>' : ' class="displayNone">';
|
||||
// Bouton de fermeture
|
||||
$item .= '<div class="cookieClose">';
|
||||
$item .= template::ico('cancel');
|
||||
$item .= '</div>';
|
||||
$item .= '<h3>'. $this->getData(['config', 'cookies', 'cookiesTitleText']) . '</h3>';
|
||||
$item .= '<p>' . $this->getData(['config', 'cookies', 'cookiesZwiiText']) . '</p>';
|
||||
$item .= '<p><a href="' . helper::baseUrl() . $legalPage . '">' . $this->getData(['config', 'cookies', 'cookiesLinkMlText']) . '</a></p>';
|
||||
if( $analytics !== null AND $analytics !=='' ){
|
||||
$item .= '<p>' . $this->getData(['config', 'cookies', 'cookiesGaText']) . '</p>';
|
||||
}
|
||||
// Texte de la popup
|
||||
$item .= '<h3>'. $this->getData(['locale', 'cookies', 'cookiesTitleText']) . '</h3>';
|
||||
$item .= '<p>' . $this->getData(['locale', 'cookies', 'cookiesZwiiText']) . '</p>';
|
||||
// Formulaire de réponse
|
||||
$item .= '<form method="POST" action="" id="cookieForm">';
|
||||
$analytics = $this->getData(['config', 'seo', 'analyticsId']);
|
||||
$stateCookieGA = $this->getInput('ZWII_COOKIE_GA_CONSENT') === $_SERVER['PHP_SELF'] ? 'checked="checked"' : '';
|
||||
if( $analytics !== null AND $analytics !== '' ) {
|
||||
$item .= '<input type="checkbox" id="googleAnalytics" name="googleAnalytics" value="GA">';
|
||||
$item .= '<label for="googleAnalytics">' . $this->getData(['config', 'cookies', 'cookiesCheckboxGaText']) . '</label>';
|
||||
$item .= '<p>' . $this->getData(['locale', 'cookies', 'cookiesGaText']) . '</p>';
|
||||
$item .= '<input type="checkbox" id="googleAnalytics" name="googleAnalytics" value="GA" ' . $stateCookieGA . '>';
|
||||
$item .= '<label for="googleAnalytics">' . $this->getData(['locale', 'cookies', 'cookiesCheckboxGaText']) . '</label>';
|
||||
}
|
||||
$item .= '<br><br>';
|
||||
$item .= '<input type="submit" id="cookieConsentConfirm" value="Valider">';
|
||||
$item .= '</form></div>';
|
||||
$item .= '<input type="submit" id="cookieConsentConfirm" value="' . $this->getData(['locale', 'cookies', 'cookiesButtonText']) . '">';
|
||||
$item .= '</form>';
|
||||
// mentions légales si la page est définie
|
||||
$legalPage = $this->getData(['locale', 'legalPageId']);
|
||||
if ($legalPage !== 'none') {
|
||||
$item .= '<p><a href="' . helper::baseUrl() . $legalPage . '">' . $this->getData(['locale', 'cookies', 'cookiesLinkMlText']) . '</a></p>';
|
||||
}
|
||||
$item .= '</div>';
|
||||
echo $item;
|
||||
}
|
||||
|
||||
@ -1469,7 +1483,7 @@ class common {
|
||||
$items .= $this->getData(['theme','footer','displaySearch']) === false ? ' class="displayNone" >' : '>';
|
||||
$label = empty($this->getData(['locale','searchPageLabel'])) ? 'Rechercher' : $this->getData(['locale','searchPageLabel']);
|
||||
if ($this->getData(['locale','searchPageId']) !== 'none') {
|
||||
$items .= '<wbr> | <a href="' . helper::baseUrl() . $this->getData(['locale','searchPageId']) . '" data-tippy-content="' . $label . '" >' . $label .'</a>';
|
||||
$items .= '<wbr> | <a href="' . helper::baseUrl() . $this->getData(['locale','searchPageId']) . '" data-tippy-content="Rechercher dans le site >' . $label .'</a>';
|
||||
}
|
||||
$items .= '</span>';
|
||||
// Affichage des mentions légales
|
||||
@ -1477,9 +1491,15 @@ class common {
|
||||
$items .= $this->getData(['theme','footer','displayLegal']) === false ? ' class="displayNone" >' : '>';
|
||||
$label = empty($this->getData(['locale','legalPageLabel'])) ? 'Mentions Légales' : $this->getData(['locale','legalPageLabel']);
|
||||
if ($this->getData(['locale','legalPageId']) !== 'none') {
|
||||
$items .= '<wbr> | <a href="' . helper::baseUrl() . $this->getData(['locale','legalPageId']) . '" data-tippy-content="' . $label . '">' . $label .'</a>';
|
||||
$items .= '<wbr> | <a href="' . helper::baseUrl() . $this->getData(['locale','legalPageId']) . '" data-tippy-content="Page des mentions légales" >' . $label .'</a>';
|
||||
}
|
||||
$items .= '</span>';
|
||||
// Affichage de la gestion des cookies
|
||||
$items .= '<span id="footerDisplayCookie"';
|
||||
$items .= ($this->getData(['config', 'cookieConsent']) === true && $this->getData(['theme', 'footer', 'displayCookie']) === true) ? '>' : ' class="displayNone" >';
|
||||
$label = empty($this->getData(['locale', 'cookies', 'cookiesFooterText'])) ? 'Cookies' : $this->getData(['locale', 'cookies', 'cookiesFooterText']) ;
|
||||
$items .= '<wbr> | <a href="javascript:void(0)" id="footerLinkCookie" data-tippy-content="Message d\'information relatif aux cookies">'. $label .'</a>';
|
||||
$items .= '</span>';
|
||||
// Affichage du lien de connexion
|
||||
if(
|
||||
(
|
||||
@ -2116,7 +2136,7 @@ class common {
|
||||
}
|
||||
|
||||
echo '<li>';
|
||||
echo '<a href="' . helper::baseUrl() . 'translate/language/' . $key . '/' . $this->getData(['config', 'i18n',$key]) . '/' . $this->getUrl(0) . '"><img ' . $select . ' class="flag" alt="' . $value . '" src="' . helper::baseUrl(false) . 'core/vendor/i18n/png/' . $key . '.png"/></a>';
|
||||
echo '<a href="' . helper::baseUrl() . 'translate/i18n/' . $key . '/' . $this->getData(['config', 'i18n',$key]) . '/' . $this->getUrl(0) . '"><img ' . $select . ' class="flag" alt="' . $value . '" src="' . helper::baseUrl(false) . 'core/vendor/i18n/png/' . $key . '.png"/></a>';
|
||||
echo '</li>';
|
||||
}
|
||||
}
|
||||
@ -2269,6 +2289,8 @@ class core extends common {
|
||||
$css .= '.mce-tinymce {border: 1px solid ' . $this->getdata(['theme','block','borderColor']) .' !important;}';
|
||||
|
||||
// Bannière
|
||||
|
||||
// Eléments communs
|
||||
if($this->getData(['theme', 'header', 'margin'])) {
|
||||
if($this->getData(['theme', 'menu', 'position']) === 'site-first') {
|
||||
$css .= 'header{margin:0 20px}';
|
||||
@ -2277,8 +2299,11 @@ class core extends common {
|
||||
$css .= 'header{margin:20px 20px 0 20px}';
|
||||
}
|
||||
}
|
||||
if ($this->getData(['theme','header','feature']) === 'wallpaper' ) {
|
||||
$colors = helper::colorVariants($this->getData(['theme', 'header', 'backgroundColor']));
|
||||
$css .= 'header{background-color:' . $colors['normal'] . ';}';
|
||||
|
||||
// Bannière de type papier peint
|
||||
if ($this->getData(['theme','header','feature']) === 'wallpaper' ) {
|
||||
$css .= 'header{background-size:' . $this->getData(['theme','header','imageContainer']).'}';
|
||||
$css .= 'header{background-color:' . $colors['normal'];
|
||||
|
||||
@ -2292,9 +2317,12 @@ class core extends common {
|
||||
$colors = helper::colorVariants($this->getData(['theme', 'header', 'textColor']));
|
||||
$css .= 'header span{color:' . $colors['normal'] . ';font-family:"' . str_replace('+', ' ', $this->getData(['theme', 'header', 'font'])) . '",sans-serif;font-weight:' . $this->getData(['theme', 'header', 'fontWeight']) . ';font-size:' . $this->getData(['theme', 'header', 'fontSize']) . ';text-transform:' . $this->getData(['theme', 'header', 'textTransform']) . '}';
|
||||
}
|
||||
|
||||
// Bannière au contenu personnalisé
|
||||
if ($this->getData(['theme','header','feature']) === 'feature' ) {
|
||||
// Hauteur de la taille du contenu perso
|
||||
$css .= 'header #featureContent{height:' . $this->getData(['theme', 'header', 'height']) . '; }';
|
||||
$css .= 'header {height:'. $this->getData(['theme', 'header', 'height']) . '; min-height:' . $this->getData(['theme', 'header', 'height']) . ';overflow: hidden;}';
|
||||
//$css .= '.bannerDisplay img { width: auto;max-height:' . $this->getData(['theme', 'header', 'height']) . ';}';
|
||||
|
||||
}
|
||||
|
||||
@ -2789,8 +2817,7 @@ class core extends common {
|
||||
)
|
||||
|
||||
) {
|
||||
// Paramètre du script
|
||||
setrawcookie("googtrans", '/fr/'. $this->getInput('ZWII_I18N_SCRIPT') , time() + 3600, helper::baseUrl());
|
||||
|
||||
// Chargement de la librairie
|
||||
$this->addOutput([
|
||||
'vendor' => array_merge($this->output['vendor'], ['i18n'])
|
||||
|
@ -698,15 +698,16 @@ if ($this->getData(['core', 'dataVersion']) < 11200) {
|
||||
$this->setData(['theme', 'header', 'featureContent', '<p>Bannière vide</p>']);
|
||||
$this->setData(['theme', 'header', 'container', 'container']);
|
||||
$this->setData(['theme', 'menu', 'container', 'container']);
|
||||
// Option des cookies dans le footer
|
||||
$this->setData(['theme', 'footer', 'displayCookie', false]);
|
||||
|
||||
// Acceptation et paramétres des cookies RGPD
|
||||
$this->setData(['config', 'cookies', 'cookieConsent', $this->getData(['config', 'cookieConsent']) ]);
|
||||
$this->deleteData(['config', 'cookieConsent' ]);
|
||||
$this->setData(['config', 'cookies', 'cookiesZwiiText', 'Ce site utilise des cookies nécessaires à son fonctionnement, ils permettent de fluidifier son fonctionnement par exemple en mémorisant les données de connexion, la langue que vous avez choisie ou la validation de ce message.']);
|
||||
$this->setData(['config', 'cookies', 'cookiesGaText', 'Il utilise également des cookies permettant de réaliser des statistiques de visites pour améliorer votre expérience utilisateur, ces cookies déposés par Google Analytics ont besoin de votre consentement.']);
|
||||
$this->setData(['config', 'cookies', 'cookiesTitleText', 'Gérer les cookies']);
|
||||
$this->setData(['config', 'cookies', 'cookiesLinkMlText', 'Voir les mentions légales']);
|
||||
$this->setData(['config', 'cookies', 'cookiesCheckboxGaText', 'Autorisation des cookies Google Analytics']);
|
||||
$this->setData(['locale', 'cookies', 'cookieZwiiText', 'Ce site utilise des cookies nécessaires à son fonctionnement, ils permettent de fluidifier son fonctionnement par exemple en mémorisant les données de connexion, la langue que vous avez choisie ou la validation de ce message.']);
|
||||
$this->setData(['locale', 'cookies', 'cookieGaText', 'Il utilise également des cookies permettant de réaliser des statistiques de visites pour améliorer votre expérience utilisateur, ces cookies déposés par Google Analytics ont besoin de votre consentement.']);
|
||||
$this->setData(['locale', 'cookies', 'cookieTitleText', 'Gérer les cookies']);
|
||||
$this->setData(['locale', 'cookies', 'cookieLinkMlText', 'Consulter les mentions légales']);
|
||||
$this->setData(['locale', 'cookies', 'cookieCheckboxGaText', 'Autorisation des cookies Google Analytics']);
|
||||
$this->setData(['locale', 'cookies', 'cookiesButtonText', 'J\'ai compris']);
|
||||
|
||||
// Mise à jour
|
||||
$this->setData(['core', 'dataVersion', 11200]);
|
||||
|
@ -838,6 +838,7 @@ footer #footerbody>div {
|
||||
#footerDisplayVersion,
|
||||
#footerDisplaySiteMap,
|
||||
#footerDisplayLegal,
|
||||
#footerDisplayCookie,
|
||||
#footerDisplaySearch,
|
||||
#footerZwiiCMS {
|
||||
font-size: inherit;
|
||||
@ -985,9 +986,9 @@ footer #footerSocials .zwiico-github:hover {
|
||||
|
||||
/* Message sur les cookies */
|
||||
#cookieConsent {
|
||||
width: 80%;
|
||||
width: 60%;
|
||||
margin: auto;
|
||||
opacity: .9;
|
||||
opacity: .95;
|
||||
background: #212223;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
@ -1000,23 +1001,26 @@ footer #footerSocials .zwiico-github:hover {
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
#cookieConsentConfirm {
|
||||
background-color: green;
|
||||
}
|
||||
|
||||
#cookieConsentConfirm {
|
||||
cursor: pointer;
|
||||
margin-left: 10px;
|
||||
background: #666;
|
||||
padding: 4px 8px;
|
||||
display: inline-block;
|
||||
transition: background .3s ease-out;
|
||||
}
|
||||
|
||||
#cookieConsentConfirm:hover {
|
||||
background: #777;
|
||||
filter: grayscale(50%);
|
||||
}
|
||||
|
||||
#cookieConsent .cookieClose {
|
||||
position: absolute;
|
||||
right: 5px;
|
||||
top: 0px;
|
||||
right: 10px;
|
||||
top: 10px;
|
||||
font-size: 1.5em;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
@ -437,7 +437,17 @@ class config extends common {
|
||||
'legalPageLabel' => empty($this->getInput('localeLegalPageLabel', helper::FILTER_STRING_SHORT)) ? 'Mentions légales' : $this->getInput('localeLegalPageLabel', helper::FILTER_STRING_SHORT),
|
||||
'sitemapPageLabel' => empty($this->getInput('localeSitemapPageLabel', helper::FILTER_STRING_SHORT)) ? 'Plan du site' : $this->getInput('localeSitemapPageLabel', helper::FILTER_STRING_SHORT),
|
||||
'metaDescription' => $this->getInput('localeMetaDescription', helper::FILTER_STRING_LONG, true),
|
||||
'title' => $this->getInput('localeTitle', helper::FILTER_STRING_SHORT, true)
|
||||
'title' => $this->getInput('localeTitle', helper::FILTER_STRING_SHORT, true),
|
||||
'cookies' => [
|
||||
// Les champs sont obligatoires si l'option consentement des cookies est active
|
||||
'cookiesZwiiText' => $this->getInput('localeCookiesZwiiText', helper::FILTER_STRING_LONG, $this->getData(['config', 'cookieConsent'])),
|
||||
'cookiesGaText' => $this->getInput('localeCookiesGaText', helper::FILTER_STRING_LONG, $this->getData(['config', 'cookieConsent'])),
|
||||
'cookiesTitleText' => $this->getInput('localeCookiesTitleText', helper::FILTER_STRING_SHORT, $this->getData(['config', 'cookieConsent'])),
|
||||
'cookiesLinkMlText' => $this->getInput('localeCookiesLinkMlText', helper::FILTER_STRING_SHORT, $this->getData(['config', 'cookieConsent'])),
|
||||
'cookiesCheckboxGaText' => $this->getInput('localeCookiesCheckboxGaText', helper::FILTER_STRING_SHORT, $this->getData(['config', 'cookieConsent'])),
|
||||
'cookiesFooterText' => $this->getInput('localeCookiesFooterText', helper::FILTER_STRING_SHORT, $this->getData(['config', 'cookieConsent'])),
|
||||
'cookiesButtonText' =>$this->getInput('localeCookiesButtonText', helper::FILTER_STRING_SHORT, $this->getData(['config', 'cookieConsent']))
|
||||
]
|
||||
]
|
||||
]);
|
||||
|
||||
@ -452,6 +462,7 @@ class config extends common {
|
||||
'autoUpdateHtaccess' => $this->getInput('configAutoUpdateHtaccess', helper::FILTER_BOOLEAN),
|
||||
'autoBackup' => $this->getInput('configAutoBackup', helper::FILTER_BOOLEAN),
|
||||
'maintenance' => $this->getInput('configMaintenance', helper::FILTER_BOOLEAN),
|
||||
'cookieConsent' => $this->getInput('configCookieConsent', helper::FILTER_BOOLEAN),
|
||||
'proxyType' => $this->getInput('configProxyType'),
|
||||
'proxyUrl' => $this->getInput('configProxyUrl'),
|
||||
'proxyPort' => $this->getInput('configProxyPort',helper::FILTER_INT),
|
||||
@ -502,14 +513,6 @@ class config extends common {
|
||||
'it' => $this->getData(['config', 'i18n', 'it']),
|
||||
'nl' => $this->getData(['config', 'i18n', 'nl']),
|
||||
'pt' => $this->getData(['config', 'i18n', 'pt'])
|
||||
],
|
||||
'cookies' => [
|
||||
'cookieConsent' => $this->getInput('configCookieConsent', helper::FILTER_BOOLEAN),
|
||||
'cookiesZwiiText' => $this->getInput('connectCookiesZwiiText', helper::FILTER_STRING_LONG),
|
||||
'cookiesGaText' => $this->getInput('connectCookiesGaText', helper::FILTER_STRING_LONG),
|
||||
'cookiesTitleText' => $this->getInput('connectCookiesTitleText', helper::FILTER_STRING_SHORT),
|
||||
'cookiesLinkMlText' => $this->getInput('connectCookiesLinkMlText', helper::FILTER_STRING_SHORT),
|
||||
'cookiesCheckboxGaText' => $this->getInput('connectCookiesCheckboxGaText', helper::FILTER_STRING_SHORT)
|
||||
]
|
||||
]
|
||||
]);
|
||||
|
@ -114,70 +114,4 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<div class="block">
|
||||
<h4>Cookies
|
||||
<span id="specialeHelpButton" class="helpDisplayButton">
|
||||
<a href="https://doc.zwiicms.fr/cookies" target="_blank">
|
||||
<?php echo template::ico('help', 'left');?>
|
||||
</a>
|
||||
</span>
|
||||
</h4>
|
||||
<div class="row">
|
||||
<div class="col6">
|
||||
<?php echo template::checkbox('configCookieConsent', true, 'Message de consentement aux cookies', [
|
||||
'checked' => $this->getData(['config', 'cookies', 'cookieConsent']),
|
||||
'help' => 'Activation obligatoire selon les lois françaises sauf si vous utilisez votre propre système de consentement.'
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div id="cookieContainer">
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<?php echo template::textarea('connectCookiesZwiiText', [
|
||||
'help' => 'Saisissez le message pour les cookies déposés par ZwiiCMS, nécessaires au fonctionnement et qui ne nécessitent pas de consentement.',
|
||||
'label' => 'Cookies Zwii',
|
||||
'value' => $this->getData(['config', 'cookies', 'cookiesZwiiText'])
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<?php echo template::textarea('connectCookiesGaText', [
|
||||
'help' => 'Saisissez le message pour les cookies déposés par Google Analytics, le consentement est requis.',
|
||||
'label' => 'Cookies Google Analytics',
|
||||
'value' => $this->getData(['config', 'cookies', 'cookiesGaText'])
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<?php echo template::text('connectCookiesTitleText', [
|
||||
'help' => 'Saisissez le titre de la fenêtre de gestion des cookies.',
|
||||
'label' => 'Titre de la fenêtre',
|
||||
'value' => $this->getData(['config', 'cookies', 'cookiesTitleText'])
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col6">
|
||||
<?php echo template::text('connectCookiesLinkMlText', [
|
||||
'help' => 'Saisissez le texte du lien vers les mentions légales.',
|
||||
'label' => 'Lien vers mentions légales',
|
||||
'value' => $this->getData(['config', 'cookies', 'cookiesLinkMlText'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col6">
|
||||
<?php echo template::text('connectCookiesCheckboxGaText', [
|
||||
'help' => 'Saisissez le texte de la case à cocher Google Analytics.',
|
||||
'label' => 'Checkbox Google Analytics',
|
||||
'value' => $this->getData(['config', 'cookies', 'cookiesCheckboxGaText'])
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -41,12 +41,13 @@ $( document).ready(function() {
|
||||
/**
|
||||
* Cookie
|
||||
*/
|
||||
/*
|
||||
if ($("input[name=configCookieConsent]").is(':checked')) {
|
||||
$("#cookieContainer").slideDown();
|
||||
} else {
|
||||
$("#cookieContainer").slideUp();
|
||||
}
|
||||
|
||||
*/
|
||||
// Gestion des événements
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
@ -189,7 +190,7 @@ $( document).ready(function() {
|
||||
/**
|
||||
* Options des cookies
|
||||
*/
|
||||
|
||||
/*
|
||||
$("input[name=configCookieConsent]").on("change", function() {
|
||||
if ($("input[name=configCookieConsent]").is(':checked')) {
|
||||
$("#cookieContainer").slideDown();
|
||||
@ -197,7 +198,7 @@ $( document).ready(function() {
|
||||
$("#cookieContainer").slideUp();
|
||||
}
|
||||
});
|
||||
|
||||
*/
|
||||
|
||||
var configLayout = getCookie("configLayout");
|
||||
if (configLayout == null) {
|
||||
|
@ -55,9 +55,9 @@
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<div class="block">
|
||||
<h4>Assignation des pages spéciales
|
||||
<span id="specialeHelpButton" class="helpDisplayButton">
|
||||
<a href="https://doc.zwiicms.fr/assignation-des-pages-speciales" target="_blank">
|
||||
<h4>Assignation des pages spéciales <?php echo template::flag('site', '20px');?>
|
||||
<span id="localeHelpButton" class="helpDisplayButton">
|
||||
<a href="https://doc.zwiicms.fr/localisation-et-identite" target="_blank">
|
||||
<?php echo template::ico('help', 'left');?>
|
||||
</a>
|
||||
</span>
|
||||
@ -123,27 +123,106 @@
|
||||
</span>
|
||||
</h4>
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
<div class="col6">
|
||||
<?php echo template::text('localeLegalPageLabel', [
|
||||
'label' => 'Mentions légales',
|
||||
'placeholder' => 'Mentions légales',
|
||||
'value' => $this->getData(['locale', 'legalPageLabel'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<div class="col6">
|
||||
<?php echo template::text('localeSearchPageLabel', [
|
||||
'label' => 'Rechercher',
|
||||
'placeholder' => 'Rechercher',
|
||||
'value' => $this->getData(['locale', 'searchPageLabel'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col6">
|
||||
<?php echo template::text('localeSitemapPageLabel', [
|
||||
'label' => 'Plan du site',
|
||||
'placeholder' => 'Plan du site',
|
||||
'value' => $this->getData(['locale', 'sitemapPageLabel']),
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col6">
|
||||
<?php echo template::text('localeCookiesFooterText', [
|
||||
'label' => 'Cookies',
|
||||
'value' => $this->getData(['locale', 'cookies', 'cookiesFooterText']),
|
||||
'placeHolder' => 'Cookies'
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<div class="block">
|
||||
<h4>Message d'acceptation des Cookies <?php echo template::flag('site', '20px');?>
|
||||
<span id="specialeHelpButton" class="helpDisplayButton">
|
||||
<a href="https://doc.zwiicms.fr/cookies" target="_blank">
|
||||
<?php echo template::ico('help', 'left');?>
|
||||
</a>
|
||||
</span>
|
||||
</h4>
|
||||
<div class="row">
|
||||
<div class="col12">
|
||||
<?php echo template::text('localeCookiesTitleText', [
|
||||
'help' => 'Saisissez le titre de la fenêtre de gestion des cookies.',
|
||||
'label' => 'Titre de la fenêtre',
|
||||
'value' => $this->getData(['locale', 'cookies', 'cookiesTitleText']),
|
||||
'placeHolder' => 'Gérer les cookies'
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col8">
|
||||
<?php echo template::textarea('localeCookiesZwiiText', [
|
||||
'help' => 'Saisissez le message pour les cookies déposés par ZwiiCMS, nécessaires au fonctionnement et qui ne nécessitent pas de consentement.',
|
||||
'label' => 'Cookies Zwii',
|
||||
'value' => $this->getData(['locale', 'cookies', 'cookiesZwiiText']),
|
||||
'placeHolder' => 'Ce site utilise des cookies nécessaires à son fonctionnement, ils permettent de fluidifier son fonctionnement par exemple en mémorisant les données de connexion, la langue que vous avez choisie ou la validation de ce message.'
|
||||
]); ?>
|
||||
</div>
|
||||
|
||||
<div class="col4">
|
||||
<?php echo template::text('localeCookiesLinkMlText', [
|
||||
'help' => 'Saisissez le texte du lien vers les mentions légales,la page doit être définie dans la configuration du site.',
|
||||
'label' => 'Lien page des mentions légales.',
|
||||
'value' => $this->getData(['locale', 'cookies', 'cookiesLinkMlText']),
|
||||
'placeHolder' => 'Consulter les mentions légales'
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col8">
|
||||
<?php echo template::textarea('localeCookiesGaText', [
|
||||
'help' => 'Saisissez le message pour les cookies déposés par Google Analytics, le consentement est requis.',
|
||||
'label' => 'Cookies Google Analytics',
|
||||
'value' => $this->getData(['locale', 'cookies', 'cookiesGaText']),
|
||||
'placeHolder' => 'Il utilise également des cookies permettant de réaliser des statistiques de visites pour améliorer votre expérience utilisateur, ces cookies déposés par Google Analytics ont besoin de votre consentement.'
|
||||
]); ?>
|
||||
</div>
|
||||
|
||||
<div class="col4">
|
||||
<?php echo template::text('localeCookiesCheckboxGaText', [
|
||||
'help' => 'Saisissez le texte de la case à cocher Google Analytics.',
|
||||
'label' => 'Checkbox Google Analytics',
|
||||
'value' => $this->getData(['locale', 'cookies', 'cookiesCheckboxGaText']),
|
||||
'placeHolder' => 'Autorisation des cookies Google Analytics'
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col4 offset4">
|
||||
<?php echo template::text('localeCookiesButtonText', [
|
||||
'label' => 'Bouton de validation',
|
||||
'value' => $this->getData(['locale', 'cookies', 'cookiesButtonText']),
|
||||
'placeHolder' => 'J\'ai compris'
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -35,6 +35,12 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col6">
|
||||
<?php echo template::checkbox('configCookieConsent', true, 'Message de consentement aux cookies', [
|
||||
'checked' => $this->getData(['config', 'cookieConsent']),
|
||||
'help' => 'Activation obligatoire selon les lois françaises sauf si vous utilisez votre propre système de consentement.'
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col6">
|
||||
<?php echo template::checkbox('configRewrite', true, 'URL intelligentes', [
|
||||
'checked' => helper::checkRewrite(),
|
||||
|
@ -9,6 +9,7 @@ class init extends common {
|
||||
'favicon' => 'favicon.ico',
|
||||
'faviconDark' => 'faviconDark.ico',
|
||||
'maintenance' => false,
|
||||
'cookieConsent' => true,
|
||||
'social' => [
|
||||
'facebookId' => 'facebook',
|
||||
'instagramId' => '',
|
||||
@ -51,14 +52,6 @@ class init extends common {
|
||||
'it'=> 'none',
|
||||
'nl'=> 'none',
|
||||
'pt'=> 'none'
|
||||
],
|
||||
'cookies' => [
|
||||
'cookieConsent' => true,
|
||||
'cookiesZwiiText' => 'Ce site utilise des cookies nécessaires à son fonctionnement, ils permettent de fluidifier son fonctionnement par exemple en mémorisant les données de connexion, la langue que vous avez choisie ou la validation de ce message.',
|
||||
'cookiesGaText' => 'Il utilise également des cookies permettant de réaliser des statistiques de visites pour améliorer votre expérience utilisateur, ces cookies déposés par Google Analytics ont besoin de votre consentement.',
|
||||
'cookiesTitleText' => 'Gérer les cookies',
|
||||
'cookiesLinkMlText' => 'Voir les mentions légales',
|
||||
'cookiesCheckboxGaText' => 'Autorisation des cookies Google Analytics'
|
||||
]
|
||||
],
|
||||
'core' => [
|
||||
@ -80,7 +73,16 @@ class init extends common {
|
||||
'sitemapPageLabel' => 'Plan du site',
|
||||
'legalPageLabel' => 'Mentions légales',
|
||||
'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 !',
|
||||
'cookies' => [
|
||||
'cookiesZwiiText' => 'Ce site utilise des cookies nécessaires à son fonctionnement, ils permettent de fluidifier son fonctionnement par exemple en mémorisant les données de connexion, la langue que vous avez choisie ou la validation de ce message.',
|
||||
'cookiesGaText' => 'Il utilise également des cookies permettant de réaliser des statistiques de visites pour améliorer votre expérience utilisateur, ces cookies déposés par Google Analytics ont besoin de votre consentement.',
|
||||
'cookiesTitleText' => 'Gérer les cookies',
|
||||
'cookiesLinkMlText' => 'Consulter les mentions légales',
|
||||
'cookiesCheckboxGaText' => 'Autorisation des cookies Google Analytics',
|
||||
'cookiesFooterText' => 'Cookies',
|
||||
'cookiesButtonText' => 'J\'ai compris'
|
||||
]
|
||||
],
|
||||
'page' => [
|
||||
'accueil' => [
|
||||
@ -143,6 +145,7 @@ class init extends common {
|
||||
'displayVersion' => true,
|
||||
'displaySiteMap' => true,
|
||||
'displayCopyright' => false,
|
||||
'displayCookie' => false,
|
||||
'displayLegal' => false,
|
||||
'displaySearch' => false,
|
||||
'displayMemberBar' => false,
|
||||
@ -169,7 +172,7 @@ class init extends common {
|
||||
'feature' => 'feature',
|
||||
'featureContent' => '<div class="row" style="vertical-align: middle;">
|
||||
<p class="col10 textAlignCenter"><strong><span style="font-size: 30pt; color: #003f86;"><span style="font-size: 24pt;">Zwii, le <em>CMS </em>pour bien débuter</span><br /><span style="font-size: 18pt;"><span style="font-size: 14pt;">Installation facile :<br />Aucune base de données à configurer.<br /><br /></span><br /><br /></span></span></strong></p>
|
||||
<div class="col2"><p><img src="/ZwiiCMS/site/file/source/zwii-logosocial-2022.png" width="512" height="512" alt="" /></p></div></div>',
|
||||
<div class="col2"><p><img src="./site/file/source/zwii-logosocial-2022.png" width="512" height="512" alt="" /></p></div></div>',
|
||||
'width' => 'container'
|
||||
],
|
||||
'menu' => [
|
||||
|
@ -391,6 +391,7 @@ class theme extends common {
|
||||
'displayVersion' => $this->getInput('themefooterDisplayVersion', helper::FILTER_BOOLEAN),
|
||||
'displaySiteMap' => $this->getInput('themefooterDisplaySiteMap', helper::FILTER_BOOLEAN),
|
||||
'displayCopyright' => $this->getInput('themefooterDisplayCopyright', helper::FILTER_BOOLEAN),
|
||||
'displayCookie' => $this->getInput('themefooterDisplayCookie', helper::FILTER_BOOLEAN),
|
||||
'displayLegal' => $this->getInput('themeFooterDisplayLegal', helper::FILTER_BOOLEAN),
|
||||
'displaySearch' => $this->getInput('themeFooterDisplaySearch', helper::FILTER_BOOLEAN),
|
||||
'displayMemberBar'=> $this->getInput('themeFooterDisplayMemberBar', helper::FILTER_BOOLEAN),
|
||||
|
@ -71,32 +71,39 @@
|
||||
<div class="block">
|
||||
<h4>Contenu</h4>
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
<div class="col3">
|
||||
<?php echo template::checkbox('themefooterDisplayCopyright', true, 'Motorisé par', [
|
||||
'checked' => $this->getData(['theme', 'footer','displayCopyright']),
|
||||
'help' => 'Affiche cette mention devant ZwiiCMS'
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<div class="col3">
|
||||
<?php echo template::checkbox('themefooterDisplayVersion', true, 'Version', [
|
||||
'checked' => $this->getData(['theme', 'footer','displayVersion']),
|
||||
'help' => 'Affiche le numéro de version après ZwiiCMS'
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<div class="col3">
|
||||
<?php echo template::checkbox('themefooterDisplaySiteMap', true, 'Plan du site', [
|
||||
'checked' => $this->getData(['theme', 'footer', 'displaySiteMap'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col3">
|
||||
<?php echo template::checkbox('themefooterDisplayCookie', true, 'Cookies', [
|
||||
'checked' => $this->getData(['config', 'cookieConsent']) === true ? $this->getData(['theme', 'footer', 'displayCookie']) : false,
|
||||
'help' => 'Message d\'information relatif aux cookies, disponible si l\'acceptation des cookies est activé.',
|
||||
'disabled' => !$this->getData(['config', 'cookieConsent'])
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
<div class="col3">
|
||||
<?php echo template::checkbox('themeFooterLoginLink', true, 'Lien de connexion', [
|
||||
'checked' => $this->getData(['theme', 'footer', 'loginLink']),
|
||||
'help' => 'Pour limiter les tentatives de piratage, enregistrez la page de connexion en favori et désactivez cette option.'
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<div class="col3">
|
||||
<?php echo template::checkbox('themeFooterDisplayMemberBar', true, 'Barre du membre', [
|
||||
'checked' => $this->getData(['theme', 'footer', 'displayMemberBar']),
|
||||
'help' => 'Affiche les icônes de gestion du compte et de déconnexion des membres simples connectés, ne s\'applique pas aux éditeurs et administrateurs.'
|
||||
@ -104,29 +111,28 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
<div class="col3">
|
||||
<?php echo template::checkbox('themeFooterDisplayLegal', true, 'Mentions légales', [
|
||||
'checked' => $this->getData(['locale', 'legalPageId']) === 'none' ? false : $this->getData(['theme', 'footer', 'displayLegal']),
|
||||
'disabled' => $this->getData(['locale', 'legalPageId']) === 'none' ? true : false,
|
||||
'help' => 'Option active si une page a été sélectionnée.'
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<div class="col3">
|
||||
<?php echo template::select('configLegalPageId', array_merge(['none' => 'Aucune'] , helper::arrayCollumn($module::$pagesList, 'title', 'SORT_ASC') ) , [
|
||||
'label' => 'Page "Mentions légales" ' . template::flag('site', '20px'),
|
||||
'selected' => $this->getData(['locale', 'legalPageId'])
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
|
||||
<div class="col3">
|
||||
<?php echo template::checkbox('themeFooterDisplaySearch', true, 'Rechercher', [
|
||||
'checked' => $this->getData(['locale', 'searchPageId']) === 'none' ? false : $this->getData(['theme', 'footer', 'displaySearch']),
|
||||
'disabled' => $this->getData(['locale', 'searchPageId']) === 'none' ? true : false,
|
||||
'help' => 'Option active si une page a été sélectionnée.'
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<div class="col3">
|
||||
<?php echo template::select('configSearchPageId', array_merge(['none' => 'Aucune'] , helper::arrayCollumn($module::$pagesList, 'title', 'SORT_ASC') ) , [
|
||||
'label' => 'Page "Rechercher" ' . template::flag('site', '20px'),
|
||||
'selected' => $this->getData(['locale', 'searchPageId']),
|
||||
|
@ -27,7 +27,7 @@ $("input, select").on("change", function() {
|
||||
// Contenu perso
|
||||
if ($("#themeHeaderFeature").val() == "feature") {
|
||||
|
||||
css = "header{height:" + $("#themeHeaderHeight").val() + "; overflow:hidden; background-position:top; background-repeat: no-repeat; line-height:1.15; background-color:unset; background-image:unset; text-align:unset;}";
|
||||
css = "header{min-height: " + $("#themeHeaderHeight").val() + ";height:" + $("#themeHeaderHeight").val() + "; overflow:hidden; background-position:top; background-repeat: no-repeat; line-height:1.15; background-color:unset; background-image:unset; text-align:unset;}";
|
||||
|
||||
$("#featureContent").appendTo("header").show();
|
||||
$("#themeHeaderTitle").hide();
|
||||
|
@ -19,7 +19,7 @@ class translate extends common {
|
||||
/*'config' => self::GROUP_MODERATOR,*/
|
||||
'index' => self::GROUP_ADMIN,
|
||||
'copy' => self::GROUP_ADMIN,
|
||||
'language' => self::GROUP_VISITOR
|
||||
'i18n' => self::GROUP_VISITOR
|
||||
];
|
||||
|
||||
public static $translateOptions = [];
|
||||
@ -177,7 +177,7 @@ class translate extends common {
|
||||
* Traitement du changement de langue
|
||||
* Fonction utilisée par le noyau
|
||||
*/
|
||||
public function language() {
|
||||
public function i18n() {
|
||||
|
||||
// Activation du drapeau
|
||||
if ( $this->getInput('ZWII_I18N_' . strtoupper($this->getUrl(3))) !== $this->getUrl(2) ) {
|
||||
|
Loading…
Reference in New Issue
Block a user