Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php //check PHP per esistenza o meno dei cookie necessari
- if($_COOKIE['system_cookie']=='yes') //controllo se è stato dato il consenso
- {
- if(!$_COOKIE['terzi_cookie']) //questo cookie vien generato dalla pagina dell'informativa ESTESA dove do la possibilità di scelta chiaro che se questa riga blocca/sblocca quelli di terze parti
- // if (!$_COOKIE['analytics_cookie']) IN QUESTO CASO INVECE BLOCCHEREI QUELLI ANALITICI.... in base al nome del cookie puoi scegliere cosa bloccare/sbloccare
- { ?>
- <div>
- qualsiasi div o script da bloccare/sbloccare
- </div>
- <?php
- } //chiudo la condizione che mi verifica se ho avuto blocchi "singoli" delle diverse categorie analitici o di terze parti
- } // chiudo la condizione di verifica se è stato dato o meno il consenso (ovvero se esiste o meno il cookie del consenso)
- ?>
- <!-- Banner (da inserire in tutte le pagine o nella parte che gestisce l'header) -->
- <div id="cookiediv">
- <div>
- Il sito utilizza cookie per migliorare la navigazione e il sito stesso, per fini statistici e per condividere argomenti sui social network.
- Proseguendo, l’utente accetta l’utilizzo dei suddetti cookie. Potrà sempre cambiare le proprie scelte nelle
- <a href="cookies-policy/#settings_cookie" title="Informativa estesa sui Cookies">Impostazioni dei cookie</a>
- presenti nell’Informativa Estesa
- </div>
- <a href="javascript:void(0)" id="closecookie">ACCETTO</a>
- <a href="javascript:void(0)" id="denycookie">Nego il consenso</a>
- <a href="http://www.lucadlux.it//cookies-policy/" title="Leggi l’informativa completa sui Cookie" class="cookiepolicy">Maggiori Informazioni</a>
- </div>
- <!-- Fine Banner -->
- <script type="text/javascript">
- //consiglio di utilizzare e richiamare prima jquery.cookie.js, questo consiglio di metterlo in tutte le pagine o nella parte relativa all'header
- jQuery(document).ready(
- function($)
- {
- $(window).scroll(function ()
- {
- if ($(this).scrollTop() > 1) // dove 1 è inteso come 1 px di scroll
- {
- $("#cookiediv").hide().slideUp(500); // nascondo il banner
- $.cookie("system_cookie", "yes", { expires: 365,path: '/' ,domain: +document.domain}); //creo il cookie di consenso per nascondere il banner
- $("tuaclasseoID").append("<div class='test'>funziona</div>");
- }
- else
- {
- if (($.cookie('system_cookie') == null) && ($.cookie('system_cookie_deny') == null)) //se non sono presenti i cookie di consenso o negazione a rilasciare i cookie
- {
- $("#cookiediv").show(); //mostro il banner
- $('#page').animate({marginTop:'100'}); //io ad esempio abbasso il pagina pen non essere troppo invasivo e nascondere l'header
- }
- else
- {
- $("#cookiediv").hide(); // nascondo il banner
- }
- $("#closecookie").click( //se do il consenso
- function()
- {
- $("#cookiediv").slideUp(500); //faccio sparire il banner
- $.cookie("system_cookie", "yes", { expires: 365,path: '/' ,domain: +document.domain}); //creo il cookie di consenso per nascondere il banner
- $('#page').animate({marginTop:'0'}); //faccio tornare la pagina in alto
- setTimeout(function(){
- // window.location.href = window.location.href; //refresh della pagina per abilitare tutti i cookie
- window.location.reload();
- },1000)
- }
- );
- $("#denycookie").click( //se nego il consenso
- function()
- {
- $("#cookiediv").slideUp(500);
- $.cookie("system_cookie_deny", "deny", { expires: 365,path: '/' ,domain: +document.domain}); // creo il cookie di negazione per nascondere il banner
- $('#page').animate({marginTop:'0'}); //faccio tornare la pagina in alto
- setTimeout(function(){
- },1000)
- // window.location.href = window.location.href; //refresh della pagina per abilitare tutti i cookie
- window.location.reload();
- }
- );
- }
- }
- }
- );
- </script>
- <!-- questa parte va inserita in alto alla pagina dell'informativa ESTESA in modo che poi nel div in basso per la scelta i checkbox risultano flaggati o meno in base alla presenza dei cookie -->
- <?php
- if (!$_COOKIE['terzi_cookie']) {
- $cookie3th='checked="checked"';
- } else {
- $cookie3th='';
- }
- if (!$_COOKIE['analytics_cookie']) {
- $cookieanalitici='checked="checked"';
- } else {
- $cookieanalitici='';
- }
- ?>
- <!--fine degli attributi per i checkbox -->
- <!-- scelta dei vari cookie da inserire infondo all'Informativa ESTESA -->
- <h2>Impostazioni Cookie</h2>
- <div id="setting_cookies">
- <p><input type="checkbox" name="cookietecnici" id="cookietecnici" class="cookiecheck" disabled checked="checked" /> cookie tecnici</p>
- <p><input type="checkbox" name="cookieanalitici" id="cookieanalitici" class="cookiecheck" <?php echo $cookieanalitici; ?> /> cookie di analisi</p>
- <p><input type="checkbox" name="cookie3th" id="cookie3th" class="cookiecheck" <?php echo $cookie3th; ?> /> cookie di terze parti </p>
- <p>(<i>Tramite le impostazioni dei cookie si può far evitare che compaia la porzione di pagina che ospita i servizi/pulsanti/widget di terze parti, ma qualora si fosse dato inizialmente il consenso e le Terze Parti avessero generato i cookie rimandiamo alla rimozione singola</i>)</p>
- <button id="save" >Salva le modifiche</button>
- </div>
- <!-- FINE scelta dei vari cookie da inserire infondo all'Informativa ESTESA -->
- <script type="text/javascript">
- //consiglio di farlo caricare SOLO nella pagina dell'informativa
- jQuery(document).ready(function($){
- $('#save').on('click', function(){ //verifico al click di salvare le modifiche
- if ($.cookie('system_cookie') == null) //se non è stato dato il consenso, lo do
- {
- $.cookie("system_cookie", "yes", { expires: 365,path: '/' ,domain: +document.domain}); //creo il cookie del consenso che nasconde il banner
- }
- if ( $([name=cookieanalitici]).is(':checked') ) { //se sono selezionati i cookie di analisi
- $.removeCookie('analytics_cookie', {path:'/'}); //rimuovo un eventuale cookie che blocca i cookie analitici
- } else {
- $.cookie("analytics_cookie", "disable_analytics", { expires: 365,path: '/' ,domain: +document.domain}); //altrimenti se non selezionato, creo il cookie per bloccare i cookie analitici
- }
- if ( $([name=cookie3th]).is(':checked') ) { //se sono selezionati i cookie di terze parti
- $.removeCookie('terzi_cookie', {path:'/'});//rimuovo un eventuale cookie che blocca i cookie di terze parti
- } else {
- $.cookie("terzi_cookie", "disable_3th_cookie", { expires: 365,path: '/' ,domain: +document.domain});//altrimenti se non selezionato, creo il cookie per bloccare i cookie di terze parti
- }
- $("#cookiediv").slideUp(500); //nascondo il banner
- $('#page').animate({paddingTop:'0'}); //rimando in alto la pagina
- $("#setting_cookies").append("<div class='alert alert-success successsave'>Modifiche Salvate con successo.</div>"); //mostro un messaggio di salvataggio delle impostazioni scelte
- setTimeout(function(){
- $('.successsave').hide(300).fadeOut(); //faccio sparire il messaggio di salvataggio effettuato
- window.location.reload();
- },4000)
- });
- });
- </script>
- <?php
- // per chi utilizza WP e sa crearsi gli shortcode, ecco a voi la funzione per creare il check:
- function cookie_shortcode( $atts, $content= null ) {
- $atts = shortcode_atts( array(
- 'attributo' => 1
- ), $atts );
- if($_COOKIE['system_cookie']) {
- if(!$_COOKIE['terzi_cookie']) {
- $output = do_shortcode( $content );
- } else {
- $ouput = 'Mi spiace, ma per fruire del contenuto è necessario abilitare i cookie di terze parti'; //non so perchè non mi mostra la segnalazione
- }
- } else {
- $ouput = 'Mi spiace, ma per fruire del contenuto è necessario abilitare i cookie';//non so perchè non mi mostra la segnalazione
- }
- return $output;
- }
- ?>
- add_shortcode( 'cookie', 'cookie_shortcode' );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement