Inserimento nuova gestione cookie policy Finito

This commit is contained in:
Giacomo G
2022-02-14 09:44:33 +01:00
parent 067516d58b
commit 29bfd05cea
2 changed files with 222 additions and 15 deletions
+20 -12
View File
@@ -90,20 +90,27 @@ const cookieBlockStyle = `<style data-bs-v="5">
color: #FFFFFF; color: #FFFFFF;
} }
.text-block{
text-align: justify;
}
</style>`; </style>`;
const cookieBlockHtml = ` const cookieBlockHtml = `
<div id="cookie_block" data-bs-v="5"> <div id="cookie_block" data-bs-v="5">
<div id="cookie_main_btn"> <div id="cookie_main_btn">
<img src="./cookie/cookies-icon.svg" /> <img src="./cookie/cookies-icon.svg" alt="cookie" />
</div> </div>
<div id="cookie_banner"> <div id="cookie_banner">
<div class="row"> <div class="row">
<div class="col-12 col-md-9 text-justify mt-1"> <div class="col-12">
<i id="close_btn" class="fa fa-times pull-right"></i>
</div>
</div>
<div class="row">
<div class="col-12 col-md-9 text-block">
${cookiePolicyText} ${cookiePolicyText}
</div> </div>
<div class="col-12 col-md-3 mb-2"> <div class="col-12 col-md-3 mb-2 mt-2">
<i id="close_btn" class="fa fa-times pull-right"></i>
<div class="clearfix"></div>
<div class="d-grid gap-2"> <div class="d-grid gap-2">
<a data-cookie="all" href="#" class="btn btn-outline-light btn-sm cookie_btn"><i class="fa fa-check fa-fw"></i> ${cookieAcceptText}</a> <a data-cookie="all" href="#" class="btn btn-outline-light btn-sm cookie_btn"><i class="fa fa-check fa-fw"></i> ${cookieAcceptText}</a>
<a data-cookie="tecnici" href="#" class="btn btn-outline-light btn-sm cookie_btn"><i class="fa fa-times fa-fw"></i> ${cookieDeclineText}</a> <a data-cookie="tecnici" href="#" class="btn btn-outline-light btn-sm cookie_btn"><i class="fa fa-times fa-fw"></i> ${cookieDeclineText}</a>
@@ -173,6 +180,7 @@ const cookieBlockStyle_Bs4 = `<style data-bs-v="4">
#close_btn{ #close_btn{
padding-right: 8px; padding-right: 8px;
margin-bottom: 4px;
color: #9D9D9D; color: #9D9D9D;
cursor: pointer; cursor: pointer;
} }
@@ -185,7 +193,7 @@ const cookieBlockStyle_Bs4 = `<style data-bs-v="4">
const cookieBlockHtml_Bs4 = ` const cookieBlockHtml_Bs4 = `
<div id="cookie_block" data-bs-v="4"> <div id="cookie_block" data-bs-v="4">
<div id="cookie_main_btn"> <div id="cookie_main_btn">
<img src="./cookie/cookies-icon.svg" /> <img src="./cookie/cookies-icon.svg" alt="cookie" />
</div> </div>
<div id="cookie_banner"> <div id="cookie_banner">
<div class="row"> <div class="row">
@@ -214,12 +222,12 @@ const cookieAnalyticsGTagBlock = `
// Funzioni per la gestione dei cookie // Funzioni per la gestione dei cookie
function createCookie(name, value, days) { function createCookie(name, value, days) {
if (days) { const expires = () => {
var date = new Date(); if(!days) return "";
const date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
var expires = "; expires=" + date.toGMTString(); return "; expires=" + date.toGMTString();
} else var expires = ""; };
document.cookie = name + "=" + value + expires + "; path=/"; document.cookie = name + "=" + value + expires + "; path=/";
} }
@@ -227,7 +235,7 @@ function readCookie(name) {
let nameEQ = name + "="; let nameEQ = name + "=";
let ca = document.cookie.split(';'); let ca = document.cookie.split(';');
for (let i = 0; i < ca.length; i++) { for (let i = 0; i < ca.length; i++) {
var c = ca[i]; let c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length); while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
} }
+199
View File
@@ -0,0 +1,199 @@
const cookiePolicyUrl="https://www.adriaticasistemi.it/it/cookiepolicy",cookieApiUrl="https://cookie.adriaticasistemi.it/consensi",cookieApiH="d4c1b34181a4b565e9878ff5d579940ad0f308adc73fbfa02addc1f36fd5412a",cookieExpiresDays=120,cookieBsVersione=5,cookieAcceptText="Accetto tutti",cookieDeclineText="Rifiuto",cookiePolicyMainColor="#F4C058",cookiePolicyMainColorContrast="#FFFFFF",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>.`,cookieBlockStyle=`<style data-bs-v="5">
/** COOKIE POLICY STYLE **/
#cookie_banner {
background-color: ${cookiePolicyMainColor};
color: ${cookiePolicyMainColorContrast};
bottom: 0;
height: auto;
padding: 16px 16px 12px;
position: fixed;
width: 100%;
z-index: 1000;
font-size: 0.9em;
}
#cookie_banner a {
color: ${cookiePolicyMainColorContrast};
}
#cookie_banner a.cookie_link{
text-decoration: underline !important;
}
#cookie_banner a.btn {
border: 1px solid ${cookiePolicyMainColorContrast};
border-radius: 0;
text-decoration: none;
}
#cookie_banner a.btn:hover {
background-color: ${cookiePolicyMainColorContrast};
color: ${cookiePolicyMainColor};
text-decoration: none;
}
#cookie_main_btn {
display: block;
position: fixed;
bottom: 20px;
right: 10px;
padding: 10px;
background: #FFFFFF;
border-radius: 50%;
box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%);
cursor:pointer;
}
#cookie_main_btn:hover{
box-shadow: 0 4px 8px 0 rgb(0 0 0 / 50%);
}
#cookie_main_btn img{
width: 42px;
height: 42px;
}
#close_btn{
padding-right: 4px;
margin-bottom: 4px;
color: #9D9D9D;
cursor: pointer;
}
#close_btn:hover{
color: #FFFFFF;
}
.text-block{
text-align: justify;
}
</style>`,cookieBlockHtml=`
<div id="cookie_block" data-bs-v="5">
<div id="cookie_main_btn">
<img src="./cookie/cookies-icon.svg" alt="cookie" />
</div>
<div id="cookie_banner">
<div class="row">
<div class="col-12">
<i id="close_btn" class="fa fa-times pull-right"></i>
</div>
</div>
<div class="row">
<div class="col-12 col-md-9 text-block">
${cookiePolicyText}
</div>
<div class="col-12 col-md-3 mb-2 mt-2">
<div class="d-grid gap-2">
<a data-cookie="all" href="#" class="btn btn-outline-light btn-sm cookie_btn"><i class="fa fa-check fa-fw"></i> ${cookieAcceptText}</a>
<a data-cookie="tecnici" href="#" class="btn btn-outline-light btn-sm cookie_btn"><i class="fa fa-times fa-fw"></i> ${cookieDeclineText}</a>
</div>
</div>
</div>
</div>
</div>`,cookieBlockStyle_Bs4=`<style data-bs-v="4">
/** COOKIE POLICY STYLE **/
#cookie_banner {
background-color: ${cookiePolicyMainColor};
color: ${cookiePolicyMainColorContrast};
bottom: 0;
height: auto;
padding: 16px 16px 12px;
position: fixed;
width: 100%;
z-index: 1000;
font-size: 12px;
}
#cookie_banner a {
color: ${cookiePolicyMainColorContrast};
}
#cookie_banner a.cookie_link{
text-decoration: underline !important;
}
#cookie_banner a.btn {
border: 1px solid ${cookiePolicyMainColorContrast};
border-radius: 0;
text-decoration: none;
}
#cookie_banner a.btn:hover {
background-color: ${cookiePolicyMainColorContrast};
color: ${cookiePolicyMainColor};
text-decoration: none;
}
#cookie_main_btn {
display: block;
position: fixed;
bottom: 20px;
right: 10px;
padding: 10px;
background: #FFFFFF;
border-radius: 50%;
box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%);
cursor:pointer;
}
#cookie_main_btn:hover{
box-shadow: 0 4px 8px 0 rgb(0 0 0 / 50%);
}
#cookie_main_btn img{
width: 42px;
height: 42px;
}
#close_btn{
padding-right: 8px;
margin-bottom: 4px;
color: #9D9D9D;
cursor: pointer;
}
#close_btn:hover{
color: #FFFFFF;
}
</style>`,cookieBlockHtml_Bs4=`
<div id="cookie_block" data-bs-v="4">
<div id="cookie_main_btn">
<img src="./cookie/cookies-icon.svg" alt="cookie" />
</div>
<div id="cookie_banner">
<div class="row">
<div class="col-xs-12 col-md-9 text-justify">
${cookiePolicyText}
</div>
<div class="col-xs-12 col-md-3">
<i id="close_btn" class="fa fa-times pull-right"></i>
<div class="clearfix"></div>
<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>
</div>`,cookieAnalyticsGTagBlock=`
<script class="gtag_block" async src="https://www.googletagmanager.com/gtag/js?id=UA-15275419-1"></script>
<script class="gtag_block">
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-15275419-1');
</script>`;function createCookie(o,i,e){document.cookie=o+"="+i+(()=>{if(!e)return"";const o=new Date;return o.setTime(o.getTime()+24*e*60*60*1e3),"; expires="+o.toGMTString()})+"; path=/"}function readCookie(o){var e=o+"=",t=document.cookie.split(";");for(let i=0;i<t.length;i++){let o=t[i];for(;" "==o.charAt(0);)o=o.substring(1,o.length);if(0==o.indexOf(e))return o.substring(e.length,o.length)}return null}function eraseCookie(o){createCookie(o,"",-1)}function removeCookieTerzeParti(){$(".gtag_block").remove()}function addCookieTerzeParti(){$(document.head).append(cookieAnalyticsGTagBlock)}function closeBanner(o=!0){const i=$("#cookie_banner"),e=$("#cookie_main_btn");o?i.slideUp():i.hide(),o?e.slideDown():e.show()}function showBanner(o=!0){const i=$("#cookie_banner"),e=$("#cookie_main_btn");o?i.slideDown():i.show(),o?e.slideUp():e.hide()}function initCookiePlugin(){var o=4===cookieBsVersione?cookieBlockStyle_Bs4:cookieBlockStyle,i=4===cookieBsVersione?cookieBlockHtml_Bs4:cookieBlockHtml;$(document.head).append(o),$(document.body).append(i)}$(document).ready(function(){initCookiePlugin();var o=JSON.parse(readCookie("cookiePolicyInfo"));(readCookie("displayCookiePolicy")?closeBanner:showBanner)(!1),o&&o.CheckCookieTerzeParti&&addCookieTerzeParti()}).delegate(".cookie_btn","click",o=>{o.preventDefault();const i=$(o.target);if(!i.attr("disabled")){const e=i.children("i");o="all"===i.data("cookie");const t={url:cookieApiUrl,type:"POST",dataType:"json",contentType:"application/json",data:JSON.stringify({CheckCookieTecnici:!0,CheckCookieTerzeParti:o,UrlSito:window.location.host})},a=o?"fa-check":"fa-times";e.removeClass(a).addClass("fa-circle-o-notch fa-spin"),$(".cookie_btn").attr("disabled",!0),cookieApiH&&(t.headers={Authorization:cookieApiH}),$.ajax(t).done(o=>{createCookie("displayCookiePolicy",o.Identificativo,cookieExpiresDays),createCookie("cookiePolicyInfo",JSON.stringify(o),cookieExpiresDays),(o.CheckCookieTerzeParti?addCookieTerzeParti:removeCookieTerzeParti)(),closeBanner()}).fail(()=>{eraseCookie("displayCookiePolicy"),eraseCookie("cookiePolicyInfo")}).always(()=>{$(".cookie_btn").removeAttr("disabled"),e.removeClass("fa-circle-o-notch fa-spin").addClass(a)})}}).delegate("#cookie_main_btn","click",()=>{showBanner()}).delegate("#close_btn","click",()=>{closeBanner()});