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
+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()});