Inserimento nuova gestione cookie policy

This commit is contained in:
Giacomo G
2022-02-10 12:58:08 +01:00
parent 8b0457105a
commit c61b4c812a
4 changed files with 214 additions and 64 deletions
+56
View File
@@ -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)})});