Installare EUCookieLaw in Coppermine Gallery

A seguito di una issue segnalata sul repository di EUCookieLaw ho fatto alcune verifiche per installare questo tool per l’adempimento alla direttiva europea sulla Cookie Law in un CMS dedicato alla gestione delle gallerie fotografiche: Coppermine Gallery.

I test sono stati effettuati con la versione 1.5.36 di Coppermine Gallery, ma confido che le modifiche dovrebbero funzionare anche con altre versioni di questo CMS.

I passaggi da eseguire sono estremamente semplici e sintetizzabili in 4 punti:

  1. Preparazione dei file
  2. Configurazione lato server
  3. Modifiche al template
  4. Configurazione del banner lato client

Passo #1 – Preparazione dei file

Do per scontato che abbiate scaricato Coppermine Gallery. :-)

Dopo aver installato e configurato il vostro sito con Coppermine Gallery, scaricate dal repository GitHub questi contenuti:

  1. EUCookieLaw.js
  2. eucookielaw.css 
  3. eucookielaw-header.php
  4. blocked, tutta la cartella con tutti i suoi contenuti

Questi 4 file saranno collocati in una directory eucookielaw posta nella radice della nostra installazione di Coppermine Gallery.

Quindi dovremmo trovarci al termine di questa preparazione con una cartella eucookielaw con dentro 3 file ed una directory (che conterrà a sua volta altri 3 file), tutti scaricati rigorosamente dal repository GitHub.

Passo #2 – Configurare la parte server

Nella directory di installazione di Coppermine Gallery identificare il file index.php e configurare almeno le seguenti costanti all’interno del blocco PHP di questo file, il prima possibile rispetto a qualsiasi altra operazione (io l’ho fatto subito dopo l’apertura del tag PHP).

  • EUCOOKIELAW_BANNER_ADDITIONAL_CLASS
  • EUCOOKIELAW_BANNER_TITLE
  • EUCOOKIELAW_BANNER_DESCRIPTION
  • EUCOOKIELAW_BANNER_AGREE_BUTTON
  • EUCOOKIELAW_DISALLOWED_DOMAINS
  • EUCOOKIELAW_IFRAME_DEFAULT_SOURCE
  • EUCOOKIELAW_LOOK_IN_SCRIPTS

Per comprendere lo scopo in dettaglio delle suddette costanti si rimanda alla documentazione ufficiale sul repository.

Quanto segue è il codice aggiunto al file index.php nella mia installazione di prova di Coppermine Gallery.

define( 'EUCOOKIELAW_BANNER_ADDITIONAL_CLASS', 'fixedon-top floating' ); 
define( 'EUCOOKIELAW_BANNER_TITLE', 'Titolo banner' );
define( 'EUCOOKIELAW_BANNER_DESCRIPTION', 'Descrizione banner' );
define( 'EUCOOKIELAW_BANNER_AGREE_BUTTON', 'Consento' );
define( 'EUCOOKIELAW_DISALLOWED_DOMAINS', '.coppermine-gallery.net' );
define( 'EUCOOKIELAW_IFRAME_DEFAULT_SOURCE', 'eucookielaw/blocked/default.html' );
define( 'EUCOOKIELAW_LOOK_IN_SCRIPTS', true );

require 'eucookielaw/eucookielaw-header.php';

Passo #3 – Modifiche al template

Di default Coppermine Gallery usa come template curve (raggiungibile a partire dalla radice di installazione nella directory /themes/curve/ ).

In questa cartella sarà possibile identificare facilmente l’unico file di template presente che si chiama template.html.

Aprirlo e cercare la sezione. Quindi includere un riferimento al CSS e al JavaScript di EUCookieLaw:

<!-- Foglio di stile di EUCookieLaw --> 
<link rel="stylesheet" type="text/css" href="eucookielaw/eucookielaw.css" />

<!-- JavaScript di EUCookieLaw -->
<script src="eucookielaw/EUCookieLaw.js" type="text/javascript"></script>

# Passo 4 – Configurazione del banner lato client

Non resta altro che configurare il banner di EUCookieLaw come indicato nelle istruzioni sul repository. Di seguito un esempio di come l’ho testato sull’installazione di prova di Coppermine Gallery.

  new EUCookieLaw( {
"showBanner":true,
"reload":true,
"debug":false,
"bannerTitle":"Banner title",
"message":"Banner short description",
"agreeLabel":"I agree",
"disagreeLabel":"I disagree",
"tag":"h1",
"agreeOnScroll": true,
"agreeOnClick": true,
"fixOn":"top",
"duration":"20",
"remember": true,
"cookieList":"__utm*",
"classes":"light"
});

Si può palesemente notare che quindi EUCookieLaw è in grado realmente di funzionare con qualsiasi CMS senza riscontrare problemi bloccanti. 

Ad oggi EUCookieLaw è utilizzato come plugin per WordPress ed esistono istruzioni per i più blasonati CMS: Drupal 6 e Drupal 7, Joomla! e in generale con qualsiasi configurazione.