forked from ZwiiCMS-Team/ZwiiCMS
Gestion des cookies
This commit is contained in:
parent
860ff8c35a
commit
9485c2ba5a
@ -219,46 +219,31 @@ core.start = function() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Message sur l'utilisation des cookies
|
* Traitement du formulaire cookies
|
||||||
*/
|
*/
|
||||||
var analytics = "";
|
$("#cookieForm").submit(function(event){
|
||||||
if (<?php echo json_encode($this->getData(['config', 'seo', 'analyticsId'])); ?>) {
|
const ga = document.getElementById('googleAnalytics');
|
||||||
analytics = ' grâce au cookie Google Analytics'
|
var samesite = "samesite=lax";
|
||||||
}
|
var expires = new Date();
|
||||||
if(<?php echo json_encode($this->getData(['config', 'cookieConsent'])); ?>) {
|
expires.setFullYear(expires.getFullYear() + 1);
|
||||||
if(document.cookie.indexOf("ZWII_COOKIE_CONSENT") === -1) {
|
expires = "expires=" + expires.toUTCString();
|
||||||
$("body").append(
|
// Crée le cookie d'acceptation Google Analytics si nécessaire
|
||||||
$("<div>").attr("id", "cookieConsent").append(
|
<?php $analytics = $this->getData(['config', 'seo', 'analyticsId']);?>
|
||||||
$("<span>").html("<p>Ce site utilise des cookies pour assurer l'authentification, améliorer l'expérience utilisateur"+analytics+". <br/>En cliquant sur ”J’accepte”, vous acceptez l’utilisation de ces cookies.</p>"),
|
<?php if( $analytics !== null AND $analytics !=='' ){ ?>
|
||||||
$("<span>")
|
if(ga.checked){
|
||||||
.attr("id", "cookieConsentConfirm")
|
document.cookie = "ZWII_COOKIE_GA_CONSENT=true;" + expires +";"+ samesite;
|
||||||
.text("Accepter")
|
}
|
||||||
.on("click", function() {
|
else{
|
||||||
// Créé le cookie d'acceptation
|
document.cookie = "ZWII_COOKIE_GA_CONSENT=false;" + expires +";"+ samesite;
|
||||||
var expires = new Date();
|
}
|
||||||
expires.setFullYear(expires.getFullYear() + 1);
|
<?php } ?>
|
||||||
expires = "expires=" + expires.toUTCString();
|
document.cookie = "ZWII_COOKIE_CONSENT=true;" + expires +";"+ samesite;
|
||||||
document.cookie = "ZWII_COOKIE_CONSENT=true;" + expires;
|
});
|
||||||
// Ferme le message
|
$(".cookieBox .cookieClose").on("click", function() {
|
||||||
$(this).parents("#cookieConsent").fadeOut();
|
$(this).parents("#cookieConsent").fadeOut();
|
||||||
}),
|
});
|
||||||
$("<span>")
|
|
||||||
.attr("id", "cookieConsentRefuse")
|
|
||||||
.text("Refuser")
|
|
||||||
.on("click", function() {
|
|
||||||
// Créé le cookie d'acceptation
|
|
||||||
var expires = new Date();
|
|
||||||
expires.setFullYear(expires.getFullYear() + 1);
|
|
||||||
expires = "expires=" + expires.toUTCString();
|
|
||||||
document.cookie = "ZWII_COOKIE_CONSENT=false;" + expires;
|
|
||||||
// Ferme le message
|
|
||||||
$(this).parents("#cookieConsent").fadeOut();
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* Choix de page dans la barre de membre
|
* Choix de page dans la barre de membre
|
||||||
*/
|
*/
|
||||||
|
@ -1173,7 +1173,7 @@ class common {
|
|||||||
*/
|
*/
|
||||||
public function showAnalytics() {
|
public function showAnalytics() {
|
||||||
if( !empty($code = $this->getData(['config', 'seo', 'analyticsId'])) &&
|
if( !empty($code = $this->getData(['config', 'seo', 'analyticsId'])) &&
|
||||||
$this->getInput('ZWII_COOKIE_CONSENT') === 'true') {
|
$this->getInput('ZWII_COOKIE_GA_CONSENT') === 'true') {
|
||||||
echo '<!-- Global site tag (gtag.js) - Google Analytics -->
|
echo '<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||||
<script async src="https://www.googletagmanager.com/gtag/js?id='. $code .'"></script>
|
<script async src="https://www.googletagmanager.com/gtag/js?id='. $code .'"></script>
|
||||||
<script>
|
<script>
|
||||||
@ -1185,6 +1185,33 @@ class common {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Affiche le consentement aux cookies
|
||||||
|
*/
|
||||||
|
public function showCookies() {
|
||||||
|
if($this->getInput('ZWII_COOKIE_CONSENT') !== 'true' AND $this->getData(['config','cookieConsent']) === true){ ?>
|
||||||
|
<div id="cookieConsent">
|
||||||
|
<div class="cookieBox"><div class="cookieClose">X</div></div>
|
||||||
|
<?php $analytics = $this->getData(['config', 'seo', 'analyticsId']);?>
|
||||||
|
<p>Ce site <?php echo helper::baseUrl(false); ?> 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.
|
||||||
|
<?php $legalPage = $this->getData(['locale','legalPageId']) ==='none'? 'mentions-legales' : $this->getData(['locale','legalPageId']); ?>
|
||||||
|
<a href=" <?php echo helper::baseUrl() . $legalPage ?> ">Plus d'informations</a></p>
|
||||||
|
<?php if( $analytics !== null AND $analytics !=='' ){ ?>
|
||||||
|
<p>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.</p>
|
||||||
|
<?php } ?>
|
||||||
|
<form method="POST" action="" id="cookieForm">
|
||||||
|
<?php if( $analytics !== null AND $analytics !=='' ){ ?>
|
||||||
|
<input type="checkbox" id="googleAnalytics" name="googleAnalytics" value="GA">
|
||||||
|
<label for="googleAnalytics"> J'accepte les cookies Google Analytics</label> <?php } ?><br><br>
|
||||||
|
<input type="submit" id="cookieConsentConfirm" value="Valider">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Formate le contenu de la page selon les gabarits
|
* Formate le contenu de la page selon les gabarits
|
||||||
* @param Page par defaut
|
* @param Page par defaut
|
||||||
|
@ -1012,7 +1012,18 @@ footer #footerSocials .zwiico-github:hover {
|
|||||||
background: #777;
|
background: #777;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.cookieBox {
|
||||||
|
position: relative;
|
||||||
|
width: 15px;
|
||||||
|
height: 15px;
|
||||||
|
border: 1px solid blue;
|
||||||
|
}
|
||||||
|
.cookieBox .cookieClose {
|
||||||
|
position: absolute;
|
||||||
|
right: 2px;
|
||||||
|
top: -2px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
/* Bloc */
|
/* Bloc */
|
||||||
.block {
|
.block {
|
||||||
|
@ -183,7 +183,8 @@
|
|||||||
|
|
||||||
<!-- Lien remonter en haut -->
|
<!-- Lien remonter en haut -->
|
||||||
<div id="backToTop"><?php echo template::ico('up'); ?></div>
|
<div id="backToTop"><?php echo template::ico('up'); ?></div>
|
||||||
|
<!-- Affichage du consentement aux cookies-->
|
||||||
|
<?php $this->showCookies(); ?>
|
||||||
<!-- Les scripts -->
|
<!-- Les scripts -->
|
||||||
<?php $this->showScript();?>
|
<?php $this->showScript();?>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user