Inserimento nuova gestione cookie policy
This commit is contained in:
@@ -74,10 +74,8 @@
|
|||||||
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
|
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
|
||||||
crossorigin="anonymous"></script>
|
crossorigin="anonymous"></script>
|
||||||
|
|
||||||
<!-- Privacy Policy -->
|
<!-- Cookie As -->
|
||||||
<?php if (!isset($_COOKIE['displayCookiePolicy'])): ?>
|
<script src="./cookie/cookie.as.min.js"></script>
|
||||||
<?= $this->render('public/_privacyPolicy.phtml'); ?>
|
|
||||||
<?php endif; ?>
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -1,60 +0,0 @@
|
|||||||
<style>
|
|
||||||
/** PRIVACY POLICY **/
|
|
||||||
|
|
||||||
.privacy_pol {
|
|
||||||
background-color: #F4C058;
|
|
||||||
color: #FFFFFF;
|
|
||||||
bottom: 0;
|
|
||||||
height: auto;
|
|
||||||
padding: 8px 25px;
|
|
||||||
position: fixed;
|
|
||||||
width: 100%;
|
|
||||||
z-index: 1000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.privacy_pol a {
|
|
||||||
color: #FFFFFF;
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
|
|
||||||
.privacy_pol a#accept_cookie_policy {
|
|
||||||
max-width: 250px;
|
|
||||||
margin-left: 10px;
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
|
|
||||||
.privacy_pol a.btn {
|
|
||||||
border: 1px solid #FFF;
|
|
||||||
border-radius: 0;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.privacy_pol a.btn:hover {
|
|
||||||
background-color: #FFF;
|
|
||||||
color: #F4C058;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<div class="privacy_pol">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 col-md-12 text-center">
|
|
||||||
Questo sito o gli strumenti terzi da questo utilizzati si avvalgono di cookie necessari al funzionamento
|
|
||||||
ed utili alle finalità illustrate nella <a href="<?= $this->url(array('action'=>'privacy'),'it',true); ?>"
|
|
||||||
target="_blank">privacy policy</a> e <a href="<?= $this->url(array('action'=>'cookiepolicy'),'it',true); ?>"
|
|
||||||
target="_blank">cookie policy</a>
|
|
||||||
<a id="accept_cookie_policy" class="btn btn-sm"><i class="fa fa-check fa-fw"></i> Ok,acconsento</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
$('#accept_cookie_policy').click(function (link) {
|
|
||||||
link.preventDefault();
|
|
||||||
var d = new Date();
|
|
||||||
d.setTime(d.getTime() + (5 * 24 * 60 * 60 * 1000));
|
|
||||||
var expires = "expires=" + d.toUTCString();
|
|
||||||
document.cookie = "displayCookiePolicy=false; " + expires + "; path=/";
|
|
||||||
$('.privacy_pol').slideUp();
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
@@ -0,0 +1,156 @@
|
|||||||
|
// Parametri di configurazione
|
||||||
|
const cookiePolicyUrl = "https://www.gestionespiaggia.it/it/cookiepolicy";
|
||||||
|
const cookieApiUrl = "https://cookie.adriaticasistemi.it/consensi";
|
||||||
|
const cookieApiH = "d4c1b34181a4b565e9878ff5d579940ad0f308adc73fbfa02addc1f36fd5412a";
|
||||||
|
const cookieExpiresDays = 90;
|
||||||
|
|
||||||
|
const cookieAcceptText = "Accetto tutti";
|
||||||
|
const cookieDeclineText = "Rifiuto";
|
||||||
|
const cookiePolicyMainColor = "#F4C058";
|
||||||
|
const cookiePolicyMainColorContrast = "#FFFFFF";
|
||||||
|
const cookiePolicyText = `Utilizziamo cookie, anche di terze parti, per consentire il funzionamento del nostro sito e dei servizi
|
||||||
|
offerti e per misurare in forma aggregata il traffico e le prestazioni dello stesso e dei relativi servizi
|
||||||
|
nonché, previo tuo consenso, per utilizzare dati sulla tua attività navigazione, al fine di migliorare le
|
||||||
|
prestazioni, personalizzare la navigazione sulla base delle tue preferenze, inviare pubblicità mirata.
|
||||||
|
Cliccando su “${cookieAcceptText}” acconsenti all’attivazione di tutti i cookie.
|
||||||
|
Cliccando su "${cookieDeclineText}" permarranno le
|
||||||
|
impostazioni di default e, dunque, continuerai a navigare in assenza di cookie o altri strumenti di
|
||||||
|
tracciamento diversi da quelli tecnici. Per maggiori informazioni sui cookie utilizzati, consulta la <a
|
||||||
|
class="cookie_link"
|
||||||
|
href="${cookiePolicyUrl}"
|
||||||
|
target="_blank">cookie policy</a>.`;
|
||||||
|
|
||||||
|
// Blocchi html e css
|
||||||
|
const cookieBlockStyle = `<style>
|
||||||
|
|
||||||
|
/** COOKIE POLICY STYLE **/
|
||||||
|
|
||||||
|
#cookie_block {
|
||||||
|
background-color: ${cookiePolicyMainColor};
|
||||||
|
color: ${cookiePolicyMainColorContrast};
|
||||||
|
bottom: 0;
|
||||||
|
height: auto;
|
||||||
|
padding: 16px 16px 12px;
|
||||||
|
position: fixed;
|
||||||
|
width: 100%;
|
||||||
|
z-index: 1000;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cookie_block a {
|
||||||
|
color: ${cookiePolicyMainColorContrast};
|
||||||
|
}
|
||||||
|
|
||||||
|
#cookie_block a.cookie_link{
|
||||||
|
text-decoration: underline !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cookie_block a.btn {
|
||||||
|
border: 1px solid ${cookiePolicyMainColorContrast};
|
||||||
|
border-radius: 0;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cookie_block a.btn:hover {
|
||||||
|
background-color: ${cookiePolicyMainColorContrast};
|
||||||
|
color: ${cookiePolicyMainColor};
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
</style>`;
|
||||||
|
const cookieBlockHtml = `<div id="cookie_block">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-12 col-md-9 text-justify">
|
||||||
|
${cookiePolicyText}
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-md-3">
|
||||||
|
<a data-cookie="all" href="#" class="btn pull-right btn-sm mt-2 cookie_btn"><i class="fa fa-check fa-fw"></i> ${cookieAcceptText}</a>
|
||||||
|
<a data-cookie="tecnici" href="#" class="btn pull-right btn-sm mt-2 cookie_btn"><i class="fa fa-times fa-fw"></i> ${cookieDeclineText}</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>`;
|
||||||
|
|
||||||
|
// Funzioni per la gestione dei cookie
|
||||||
|
function createCookie(name, value, days) {
|
||||||
|
if (days) {
|
||||||
|
var date = new Date();
|
||||||
|
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
|
||||||
|
var expires = "; expires=" + date.toGMTString();
|
||||||
|
}
|
||||||
|
else var expires = "";
|
||||||
|
|
||||||
|
document.cookie = name + "=" + value + expires + "; path=/";
|
||||||
|
}
|
||||||
|
|
||||||
|
function readCookie(name) {
|
||||||
|
let nameEQ = name + "=";
|
||||||
|
let ca = document.cookie.split(';');
|
||||||
|
for (let i = 0; i < ca.length; i++) {
|
||||||
|
var c = ca[i];
|
||||||
|
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
|
||||||
|
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
function eraseCookie(name) {
|
||||||
|
createCookie(name, "", -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Controller
|
||||||
|
|
||||||
|
$(document).ready(function () {
|
||||||
|
|
||||||
|
$(document.head).append(cookieBlockStyle);
|
||||||
|
$(document.body).append(cookieBlockHtml);
|
||||||
|
const cookieBlock = $('#cookie_block');
|
||||||
|
|
||||||
|
// const cookiePolicyInfo = readCookie('cookiePolicyInfo');
|
||||||
|
const displayCookiePolicy = readCookie('displayCookiePolicy');
|
||||||
|
|
||||||
|
if(displayCookiePolicy){
|
||||||
|
cookieBlock.hide();
|
||||||
|
}else{
|
||||||
|
cookieBlock.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
}).delegate('.cookie_btn','click',(link) => {
|
||||||
|
link.preventDefault();
|
||||||
|
|
||||||
|
const element = $(link.target);
|
||||||
|
if(element.attr('disabled')) return;
|
||||||
|
|
||||||
|
const icon = element.children('i');
|
||||||
|
|
||||||
|
const CheckCookieTerzeParti = element.data('cookie') === "all";
|
||||||
|
|
||||||
|
const callSettings = {
|
||||||
|
url: cookieApiUrl,
|
||||||
|
type: 'POST',
|
||||||
|
dataType: 'json',
|
||||||
|
contentType: "application/json",
|
||||||
|
data: JSON.stringify({
|
||||||
|
CheckCookieTecnici: true,
|
||||||
|
CheckCookieTerzeParti,
|
||||||
|
UrlSito: window.location.host
|
||||||
|
})
|
||||||
|
};
|
||||||
|
|
||||||
|
const iconName = CheckCookieTerzeParti ? 'fa-check':'fa-times';
|
||||||
|
icon.removeClass(iconName).addClass('fa-circle-o-notch fa-spin');
|
||||||
|
$('.cookie_btn').attr('disabled', true);
|
||||||
|
|
||||||
|
if(cookieApiH) callSettings.headers = {Authorization: cookieApiH};
|
||||||
|
|
||||||
|
$.ajax(callSettings).done((res) => {
|
||||||
|
createCookie('displayCookiePolicy', res.Identificativo, cookieExpiresDays);
|
||||||
|
createCookie('cookiePolicyInfo', JSON.stringify(res), cookieExpiresDays);
|
||||||
|
|
||||||
|
$('#cookie_block').slideUp();
|
||||||
|
}).fail(() => {
|
||||||
|
eraseCookie('displayCookiePolicy');
|
||||||
|
eraseCookie('cookiePolicyInfo');
|
||||||
|
}).always(() => {
|
||||||
|
$('.cookie_btn').removeAttr('disabled');
|
||||||
|
icon.removeClass('fa-circle-o-notch fa-spin').addClass(iconName);
|
||||||
|
});
|
||||||
|
});
|
||||||
Vendored
+56
@@ -0,0 +1,56 @@
|
|||||||
|
const cookiePolicyUrl="https://www.gestionespiaggia.it/it/cookiepolicy";const cookieApiUrl="https://cookie.adriaticasistemi.it/consensi";const cookieApiH="d4c1b34181a4b565e9878ff5d579940ad0f308adc73fbfa02addc1f36fd5412a";const cookieExpiresDays=90;const cookieAcceptText="Accetto tutti";const cookieDeclineText="Rifiuto";const cookiePolicyMainColor="#F4C058";const cookiePolicyMainColorContrast="#FFFFFF";const cookiePolicyText=`Utilizziamo cookie, anche di terze parti, per consentire il funzionamento del nostro sito e dei servizi
|
||||||
|
offerti e per misurare in forma aggregata il traffico e le prestazioni dello stesso e dei relativi servizi
|
||||||
|
nonché, previo tuo consenso, per utilizzare dati sulla tua attività navigazione, al fine di migliorare le
|
||||||
|
prestazioni, personalizzare la navigazione sulla base delle tue preferenze, inviare pubblicità mirata.
|
||||||
|
Cliccando su “${cookieAcceptText}” acconsenti all’attivazione di tutti i cookie.
|
||||||
|
Cliccando su "${cookieDeclineText}" permarranno le
|
||||||
|
impostazioni di default e, dunque, continuerai a navigare in assenza di cookie o altri strumenti di
|
||||||
|
tracciamento diversi da quelli tecnici. Per maggiori informazioni sui cookie utilizzati, consulta la <a
|
||||||
|
class="cookie_link"
|
||||||
|
href="${cookiePolicyUrl}"
|
||||||
|
target="_blank">cookie policy</a>.`;const cookieBlockStyle=`<style>
|
||||||
|
|
||||||
|
/** COOKIE POLICY STYLE **/
|
||||||
|
|
||||||
|
#cookie_block {
|
||||||
|
background-color: ${cookiePolicyMainColor};
|
||||||
|
color: ${cookiePolicyMainColorContrast};
|
||||||
|
bottom: 0;
|
||||||
|
height: auto;
|
||||||
|
padding: 16px 16px 12px;
|
||||||
|
position: fixed;
|
||||||
|
width: 100%;
|
||||||
|
z-index: 1000;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cookie_block a {
|
||||||
|
color: ${cookiePolicyMainColorContrast};
|
||||||
|
}
|
||||||
|
|
||||||
|
#cookie_block a.cookie_link{
|
||||||
|
text-decoration: underline !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cookie_block a.btn {
|
||||||
|
border: 1px solid ${cookiePolicyMainColorContrast};
|
||||||
|
border-radius: 0;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cookie_block a.btn:hover {
|
||||||
|
background-color: ${cookiePolicyMainColorContrast};
|
||||||
|
color: ${cookiePolicyMainColor};
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
</style>`;const cookieBlockHtml=`<div id="cookie_block">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-12 col-md-9 text-justify">
|
||||||
|
${cookiePolicyText}
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-md-3">
|
||||||
|
<a data-cookie="all" href="#" class="btn pull-right btn-sm mt-2 cookie_btn"><i class="fa fa-check fa-fw"></i> ${cookieAcceptText}</a>
|
||||||
|
<a data-cookie="tecnici" href="#" class="btn pull-right btn-sm mt-2 cookie_btn"><i class="fa fa-times fa-fw"></i> ${cookieDeclineText}</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>`;function createCookie(name,value,days){if(days){var date=new Date;date.setTime(date.getTime()+days*24*60*60*1e3);var expires="; expires="+date.toGMTString()}else var expires="";document.cookie=name+"="+value+expires+"; path=/"}function readCookie(name){let nameEQ=name+"=";let ca=document.cookie.split(";");for(let i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==" ")c=c.substring(1,c.length);if(c.indexOf(nameEQ)==0)return c.substring(nameEQ.length,c.length)}return null}function eraseCookie(name){createCookie(name,"",-1)}$(document).ready(function(){$(document.head).append(cookieBlockStyle);$(document.body).append(cookieBlockHtml);const cookieBlock=$("#cookie_block");const displayCookiePolicy=readCookie("displayCookiePolicy");if(displayCookiePolicy){cookieBlock.hide()}else{cookieBlock.show()}}).delegate(".cookie_btn","click",link=>{link.preventDefault();const element=$(link.target);if(element.attr("disabled"))return;const icon=element.children("i");const CheckCookieTerzeParti=element.data("cookie")==="all";const callSettings={url:cookieApiUrl,type:"POST",dataType:"json",contentType:"application/json",data:JSON.stringify({CheckCookieTecnici:true,CheckCookieTerzeParti:CheckCookieTerzeParti,UrlSito:window.location.host})};const iconName=CheckCookieTerzeParti?"fa-check":"fa-times";icon.removeClass(iconName).addClass("fa-circle-o-notch fa-spin");$(".cookie_btn").attr("disabled",true);if(cookieApiH)callSettings.headers={Authorization:cookieApiH};$.ajax(callSettings).done(res=>{createCookie("displayCookiePolicy",res.Identificativo,cookieExpiresDays);createCookie("cookiePolicyInfo",JSON.stringify(res),cookieExpiresDays);$("#cookie_block").slideUp()}).fail(()=>{eraseCookie("displayCookiePolicy");eraseCookie("cookiePolicyInfo")}).always(()=>{$(".cookie_btn").removeAttr("disabled");icon.removeClass("fa-circle-o-notch fa-spin").addClass(iconName)})});
|
||||||
Reference in New Issue
Block a user