Version Description
- El texto del aviso ahora es editable.
- Se puede cambiar el tamao de fuente.
- Corregido error que apareca cuando un usuario no administrador entraba al back de WP.
Download this release
Release Info
Developer | cdoral |
Plugin | Asesor de Cookies para normativa española |
Version | 0.13 |
Comparing to | |
See all releases |
Code changes from version 0.12 to 0.13
- html/admin/estilos.css +18 -0
- html/admin/principal.html +21 -3
- html/admin/principal.js +6 -2
- html/front/aviso.html +1 -4
- html/front/lib.js +1 -1
- html/front/mas-informacion.html +3 -0
- html/front/politica.html +3 -0
- html/front/principal.js +1 -1
- lib/plugin.php +39 -342
- plugin.php +1 -1
- readme.txt +10 -8
html/admin/estilos.css
CHANGED
@@ -132,6 +132,24 @@
|
|
132 |
-moz-box-sizing: border-box;
|
133 |
box-sizing: border-box;
|
134 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
.cdp-cookies-admin form .cdp-cookies-radio {
|
136 |
cursor: pointer;
|
137 |
width: 100%;
|
132 |
-moz-box-sizing: border-box;
|
133 |
box-sizing: border-box;
|
134 |
}
|
135 |
+
.cdp-cookies-admin form textarea {
|
136 |
+
width: 100%;
|
137 |
+
display: block;
|
138 |
+
padding: 10px;
|
139 |
+
margin:0;
|
140 |
+
color: #666666;
|
141 |
+
background-color: #fff;
|
142 |
+
font-family: "Arial";
|
143 |
+
font-size:12px;
|
144 |
+
border: 1px solid #ccc;
|
145 |
+
border-radius: 5px;
|
146 |
+
-moz-border-radius: 5px;
|
147 |
+
-webkit-border-radius: 5px;
|
148 |
+
-khtml-border-radius: 5px;
|
149 |
+
-webkit-box-sizing: border-box;
|
150 |
+
-moz-box-sizing: border-box;
|
151 |
+
box-sizing: border-box;
|
152 |
+
}
|
153 |
.cdp-cookies-admin form .cdp-cookies-radio {
|
154 |
cursor: pointer;
|
155 |
width: 100%;
|
html/admin/principal.html
CHANGED
@@ -11,9 +11,7 @@
|
|
11 |
|
12 |
<p>Este plugin le va a permitir actualizar su web a la <b>ley de cookies española</b>. El funcionamiento consiste en mostrar un mensaje cada vez que un nuevo usuario visita su web avisándole que si sigue navegando está <b>aceptando</b> la recepción de cookies y la <b>política de cookies</b> de su web.</p>
|
13 |
|
14 |
-
<p>
|
15 |
-
|
16 |
-
<p>Para configurar este plugin tiene que asignar los valores de estilo y formato para el <b>mensaje mostrado al usuario</b> que aparecen en este formulario y debe pulsar el botón <b>Crear páginas automáticamente</b> que le creará una página de <b>Política de Cookies</b> y otra de <b>Descripción de las cookies</b>, fundamentales para cumplir con la normativa.</p>
|
17 |
|
18 |
<p>Una vez creadas las páginas, debe editar la de <b>Política de cookies</b> y debe cambiar o completar los siguientes puntos:
|
19 |
<ol>
|
@@ -27,6 +25,26 @@
|
|
27 |
|
28 |
<form>
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
<!-- Layout -->
|
31 |
<div class="cdp-cookies-grid">
|
32 |
<div class="cdp-cookies-4c">
|
11 |
|
12 |
<p>Este plugin le va a permitir actualizar su web a la <b>ley de cookies española</b>. El funcionamiento consiste en mostrar un mensaje cada vez que un nuevo usuario visita su web avisándole que si sigue navegando está <b>aceptando</b> la recepción de cookies y la <b>política de cookies</b> de su web.</p>
|
13 |
|
14 |
+
<p>Para configurar este plugin tiene que asignar los valores de estilo y formato para el <b>mensaje mostrado al usuario</b> que aparecen en este formulario y debe pulsar el botón <b>Crear páginas automáticamente</b> que le creará una página de <b>Política de Cookies</b> y otra de <b>Descripción de cookies</b>, fundamentales para cumplir con la normativa.</p>
|
|
|
|
|
15 |
|
16 |
<p>Una vez creadas las páginas, debe editar la de <b>Política de cookies</b> y debe cambiar o completar los siguientes puntos:
|
17 |
<ol>
|
25 |
|
26 |
<form>
|
27 |
|
28 |
+
<!-- Texto del aviso -->
|
29 |
+
<div class="cdp-cookies-grid">
|
30 |
+
<div class="cdp-cookies-4c">
|
31 |
+
<label class="padv10"><b>Aviso</b> mostrado al visitante</label>
|
32 |
+
</div>
|
33 |
+
<div class="cdp-cookies-5c">
|
34 |
+
<textarea name="texto_aviso" id="texto_aviso" rows="6"><?php echo cdp_cookies::parametro( 'texto_aviso' );?></textarea>
|
35 |
+
</div>
|
36 |
+
</div>
|
37 |
+
|
38 |
+
<!-- Tamaño del texto -->
|
39 |
+
<div class="cdp-cookies-grid">
|
40 |
+
<div class="cdp-cookies-4c">
|
41 |
+
<label class="padv10">Tamaño del texto del aviso</label>
|
42 |
+
</div>
|
43 |
+
<div class="cdp-cookies-5c">
|
44 |
+
<input type="text" name="tam_fuente" id="tam_fuente" value="<?php echo cdp_cookies::parametro( 'tam_fuente' );?>">
|
45 |
+
</div>
|
46 |
+
</div>
|
47 |
+
|
48 |
<!-- Layout -->
|
49 |
<div class="cdp-cookies-grid">
|
50 |
<div class="cdp-cookies-4c">
|
html/admin/principal.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
|
2 |
/* ======================================================================================
|
3 |
@author Carlos Doral Pérez (http://webartesanal.com)
|
4 |
-
@version 0.
|
5 |
@copyright Copyright © 2013 Carlos Doral Pérez, All Rights Reserved
|
6 |
License: GPLv2 or later
|
7 |
====================================================================================== */
|
@@ -25,6 +25,8 @@ function guardar()
|
|
25 |
//
|
26 |
var datos = {
|
27 |
action: 'guardar_config',
|
|
|
|
|
28 |
layout: jQuery( '#layout' ).val(),
|
29 |
posicion: jQuery( '#posicion' ).val(),
|
30 |
alineacion: jQuery( '#alineacion' ).val(),
|
@@ -108,7 +110,9 @@ jQuery( document ).ready( function( $ ) {
|
|
108 |
'&layout=' + $( '#layout' ).val() +
|
109 |
'&posicion=' + $( '#posicion' ).val() +
|
110 |
'&alineacion=' + $( '#alineacion' ).val() +
|
111 |
-
'&tema=' + $( '#tema:checked' ).val()
|
|
|
|
|
112 |
);
|
113 |
} );
|
114 |
|
1 |
|
2 |
/* ======================================================================================
|
3 |
@author Carlos Doral Pérez (http://webartesanal.com)
|
4 |
+
@version 0.13
|
5 |
@copyright Copyright © 2013 Carlos Doral Pérez, All Rights Reserved
|
6 |
License: GPLv2 or later
|
7 |
====================================================================================== */
|
25 |
//
|
26 |
var datos = {
|
27 |
action: 'guardar_config',
|
28 |
+
texto_aviso: jQuery( '#texto_aviso' ).val(),
|
29 |
+
tam_fuente: jQuery( '#tam_fuente' ).val(),
|
30 |
layout: jQuery( '#layout' ).val(),
|
31 |
posicion: jQuery( '#posicion' ).val(),
|
32 |
alineacion: jQuery( '#alineacion' ).val(),
|
110 |
'&layout=' + $( '#layout' ).val() +
|
111 |
'&posicion=' + $( '#posicion' ).val() +
|
112 |
'&alineacion=' + $( '#alineacion' ).val() +
|
113 |
+
'&tema=' + $( '#tema:checked' ).val() +
|
114 |
+
'&tam_fuente=' + $( '#tam_fuente' ).val() +
|
115 |
+
'&texto_aviso=' + encodeURI( $( '#texto_aviso' ).val() )
|
116 |
);
|
117 |
} );
|
118 |
|
html/front/aviso.html
CHANGED
@@ -1,9 +1,6 @@
|
|
1 |
<!-- HTML del pié de página -->
|
2 |
<div class="cdp-cookies-alerta {class}">
|
3 |
<div class="cdp-cookies-texto">
|
4 |
-
|
5 |
-
<p>
|
6 |
-
Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra <a href="{enlace_politica}">política de cookies</a>, pinche el enlace para mayor información.
|
7 |
-
</p>
|
8 |
</div>
|
9 |
</div>
|
1 |
<!-- HTML del pié de página -->
|
2 |
<div class="cdp-cookies-alerta {class}">
|
3 |
<div class="cdp-cookies-texto">
|
4 |
+
{texto_aviso}
|
|
|
|
|
|
|
5 |
</div>
|
6 |
</div>
|
html/front/lib.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
|
2 |
/* ======================================================================================
|
3 |
@author Carlos Doral Pérez (http://webartesanal.com)
|
4 |
-
@version 0.
|
5 |
@copyright Copyright © 2013 Carlos Doral Pérez, All Rights Reserved
|
6 |
License: GPLv2 or later
|
7 |
====================================================================================== */
|
1 |
|
2 |
/* ======================================================================================
|
3 |
@author Carlos Doral Pérez (http://webartesanal.com)
|
4 |
+
@version 0.13
|
5 |
@copyright Copyright © 2013 Carlos Doral Pérez, All Rights Reserved
|
6 |
License: GPLv2 or later
|
7 |
====================================================================================== */
|
html/front/mas-informacion.html
CHANGED
@@ -104,3 +104,6 @@
|
|
104 |
<li>Ahora puede activar o desactivar la casilla <em>Permitir cookies</em>.</li>
|
105 |
</ol>
|
106 |
</p>
|
|
|
|
|
|
104 |
<li>Ahora puede activar o desactivar la casilla <em>Permitir cookies</em>.</li>
|
105 |
</ol>
|
106 |
</p>
|
107 |
+
<p>
|
108 |
+
Asesor de Cookies es un <a href="http://wordpress.org/plugins/asesor-cookies-para-la-ley-en-espana/">plugin para WordPress</a> creado por Carlos Doral (<a href="http://webartesanal.com">webartesanal.com</a>)
|
109 |
+
</p>
|
html/front/politica.html
CHANGED
@@ -43,3 +43,6 @@
|
|
43 |
</li>
|
44 |
</ul>
|
45 |
</p>
|
|
|
|
|
|
43 |
</li>
|
44 |
</ul>
|
45 |
</p>
|
46 |
+
<p>
|
47 |
+
Asesor de Cookies es un <a href="http://wordpress.org/plugins/asesor-cookies-para-la-ley-en-espana/">plugin para WordPress</a> creado por Carlos Doral (<a href="http://webartesanal.com">webartesanal.com</a>)
|
48 |
+
</p>
|
html/front/principal.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/* ======================================================================================
|
2 |
@author Carlos Doral Pérez (http://webartesanal.com)
|
3 |
-
@version 0.
|
4 |
@copyright Copyright © 2013 Carlos Doral Pérez, All Rights Reserved
|
5 |
License: GPLv2 or later
|
6 |
====================================================================================== */
|
1 |
/* ======================================================================================
|
2 |
@author Carlos Doral Pérez (http://webartesanal.com)
|
3 |
+
@version 0.13
|
4 |
@copyright Copyright © 2013 Carlos Doral Pérez, All Rights Reserved
|
5 |
License: GPLv2 or later
|
6 |
====================================================================================== */
|
lib/plugin.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
/* ======================================================================================
|
4 |
@author Carlos Doral Pérez (http://webartesanal.com)
|
5 |
-
@version 0.
|
6 |
@copyright Copyright © 2013 Carlos Doral Pérez, All Rights Reserved
|
7 |
License: GPLv2 or later
|
8 |
====================================================================================== */
|
@@ -24,7 +24,7 @@ class cdp_cookies
|
|
24 |
throw new cdp_cookies_error( 'Este plugin no puede ser llamado directamente' );
|
25 |
|
26 |
//
|
27 |
-
// Registro eventos front
|
28 |
//
|
29 |
add_action( 'wp_ajax_traer_aviso', array( __CLASS__, 'ajax_traer_aviso' ) );
|
30 |
add_action( 'wp_ajax_nopriv_traer_aviso', array( __CLASS__, 'ajax_traer_aviso' ) );
|
@@ -101,11 +101,25 @@ class cdp_cookies
|
|
101 |
$class .= ' cdp-cookies-tema-' . self::parametro( 'tema' );
|
102 |
|
103 |
//
|
104 |
-
//
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
//
|
106 |
$html = file_get_contents( CDP_COOKIES_DIR_HTML . 'front/aviso.html' );
|
|
|
|
|
|
|
|
|
107 |
$html = str_replace( '{class}', $class, $html );
|
108 |
$html = str_replace( '{enlace_politica}', self::parametro( 'enlace_politica' ), $html );
|
|
|
|
|
109 |
echo
|
110 |
json_encode
|
111 |
(
|
@@ -177,13 +191,10 @@ class cdp_cookies
|
|
177 |
*/
|
178 |
static function ajax_guardar_config()
|
179 |
{
|
180 |
-
cdp_cookies_log::pon( "paso1" );
|
181 |
try
|
182 |
{
|
183 |
-
cdp_cookies_log::pon( "paso2" );
|
184 |
//
|
185 |
self::comprobar_usuario_admin();
|
186 |
-
cdp_cookies_log::pon( "paso3" );
|
187 |
|
188 |
//
|
189 |
if( !wp_verify_nonce( cdp_cookies_input::post( 'nonce_guardar' ), 'guardar' ) )
|
@@ -196,7 +207,13 @@ class cdp_cookies
|
|
196 |
cdp_cookies_input::validar_array( 'tema', array( 'gris', 'blanco', 'azul', 'verde', 'rojo' ) );
|
197 |
cdp_cookies_input::validar_url( 'enlace_politica' );
|
198 |
cdp_cookies_input::validar_url( 'enlace_mas_informacion' );
|
199 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
200 |
//
|
201 |
self::parametro( 'layout', cdp_cookies_input::post( 'layout' ) );
|
202 |
self::parametro( 'posicion', cdp_cookies_input::post( 'posicion' ) );
|
@@ -204,7 +221,9 @@ class cdp_cookies
|
|
204 |
self::parametro( 'tema', cdp_cookies_input::post( 'tema' ) );
|
205 |
self::parametro( 'enlace_politica', cdp_cookies_input::post( 'enlace_politica' ) );
|
206 |
self::parametro( 'enlace_mas_informacion', cdp_cookies_input::post( 'enlace_mas_informacion' ) );
|
207 |
-
|
|
|
|
|
208 |
//
|
209 |
echo json_encode( array( 'ok' => true, 'txt' => 'Configuración guardada correctamente' ) );
|
210 |
}
|
@@ -230,7 +249,9 @@ class cdp_cookies
|
|
230 |
'alineacion' => 'izq',
|
231 |
'tema' => 'gris',
|
232 |
'enlace_politica' => '#',
|
233 |
-
'enlace_mas_informacion' => '#'
|
|
|
|
|
234 |
);
|
235 |
if( !key_exists( $nombre, $vdef ) )
|
236 |
throw new cdp_cookies_error( sprintf( "Parámetro desconocido: %s", $nombre ) );
|
@@ -246,12 +267,16 @@ class cdp_cookies
|
|
246 |
try
|
247 |
{
|
248 |
self::comprobar_usuario_admin();
|
|
|
|
|
249 |
return $v;
|
250 |
}
|
251 |
catch( cdp_cookies_error $e )
|
252 |
{
|
253 |
}
|
254 |
}
|
|
|
|
|
255 |
return get_option( 'cdp_cookies_' . $nombre, $vdef[$nombre] );
|
256 |
}
|
257 |
|
@@ -284,8 +309,11 @@ class cdp_cookies
|
|
284 |
*/
|
285 |
static function comprobar_usuario_admin()
|
286 |
{
|
287 |
-
if(
|
288 |
-
|
|
|
|
|
|
|
289 |
}
|
290 |
|
291 |
/**
|
@@ -293,9 +321,6 @@ class cdp_cookies
|
|
293 |
*/
|
294 |
static function crear_menu_admin()
|
295 |
{
|
296 |
-
//
|
297 |
-
self::comprobar_usuario_admin();
|
298 |
-
|
299 |
//
|
300 |
// Página configuración que cuelgue de Herramientas
|
301 |
//
|
@@ -322,334 +347,6 @@ class cdp_cookies
|
|
322 |
/**
|
323 |
*
|
324 |
*/
|
325 |
-
class __cdp_cookies
|
326 |
-
{
|
327 |
-
/**
|
328 |
-
*
|
329 |
-
*/
|
330 |
-
static function ejecutar()
|
331 |
-
{
|
332 |
-
//
|
333 |
-
// Plugin no puede ser ejecutado directamente
|
334 |
-
//
|
335 |
-
if( !( function_exists( 'add_action' ) && defined( 'ABSPATH' ) ) )
|
336 |
-
throw new cdp_cookies_error( 'Este plugin no puede ser llamado directamente' );
|
337 |
-
|
338 |
-
//
|
339 |
-
// Para que funcionen correctamente las cookies
|
340 |
-
//
|
341 |
-
add_action( 'init', array( __CLASS__, 'iniciar_sesion' ) );
|
342 |
-
|
343 |
-
//
|
344 |
-
// Compruebo si estoy en el admin o en el front
|
345 |
-
//
|
346 |
-
if( is_admin() )
|
347 |
-
{
|
348 |
-
//
|
349 |
-
// Estoy en el área administración
|
350 |
-
//
|
351 |
-
add_action( 'admin_menu', array( __CLASS__, 'crear_menu_admin' ) );
|
352 |
-
add_action( 'admin_enqueue_scripts', array( __CLASS__, 'cargar_archivos_admin' ) );
|
353 |
-
add_action( 'wp_ajax_guardar_config', array( __CLASS__, 'ajax_guardar_config' ) );
|
354 |
-
return;
|
355 |
-
}
|
356 |
-
|
357 |
-
//
|
358 |
-
// Estoy en el front de la web
|
359 |
-
//
|
360 |
-
|
361 |
-
//
|
362 |
-
// ojo! para debug
|
363 |
-
//
|
364 |
-
if( 0 )
|
365 |
-
self::eliminar_cookie();
|
366 |
-
|
367 |
-
//
|
368 |
-
// Shortcode para mostrar la política de privacidad completa
|
369 |
-
//
|
370 |
-
add_shortcode( 'mostrar_politica_cookies', array( __CLASS__, 'dibujar_politica' ) );
|
371 |
-
|
372 |
-
//
|
373 |
-
// Shortcode para mostrar información adicional sobre las cookies
|
374 |
-
//
|
375 |
-
add_shortcode( 'mostrar_mas_info_cookies', array( __CLASS__, 'dibujar_mas_informacion' ) );
|
376 |
-
|
377 |
-
//
|
378 |
-
// Vista previa de cookies
|
379 |
-
//
|
380 |
-
if( cdp_cookies_input::get( 'cdp_cookies_vista_previa' ) )
|
381 |
-
{
|
382 |
-
add_action( 'wp_footer', array( __CLASS__, 'dibujar_aviso' ) );
|
383 |
-
add_action( 'wp_enqueue_scripts', array( __CLASS__, 'cargar_archivos_front' ) );
|
384 |
-
return;
|
385 |
-
}
|
386 |
-
|
387 |
-
//
|
388 |
-
// Si ya se ha mostrado el aviso
|
389 |
-
//
|
390 |
-
if( self::hay_cookie_guardada() )
|
391 |
-
return;
|
392 |
-
|
393 |
-
//
|
394 |
-
// Activo eventos front
|
395 |
-
//
|
396 |
-
add_action( 'init', array( __CLASS__, 'guardar_cookie' ) );
|
397 |
-
add_action( 'wp_footer', array( __CLASS__, 'dibujar_aviso' ) );
|
398 |
-
add_action( 'wp_enqueue_scripts', array( __CLASS__, 'cargar_archivos_front' ) );
|
399 |
-
}
|
400 |
-
|
401 |
-
/**
|
402 |
-
*
|
403 |
-
*/
|
404 |
-
static function iniciar_sesion()
|
405 |
-
{
|
406 |
-
if( !session_id() )
|
407 |
-
session_start();
|
408 |
-
}
|
409 |
-
|
410 |
-
/**
|
411 |
-
*
|
412 |
-
*/
|
413 |
-
static function hay_cookie_guardada()
|
414 |
-
{
|
415 |
-
return
|
416 |
-
isset( $_COOKIE ) &&
|
417 |
-
isset( $_COOKIE['cdp_cookies_wordpress_plugin'] ) &&
|
418 |
-
$_COOKIE['cdp_cookies_wordpress_plugin'] == 1;
|
419 |
-
}
|
420 |
-
|
421 |
-
/**
|
422 |
-
*
|
423 |
-
*/
|
424 |
-
static function guardar_cookie()
|
425 |
-
{
|
426 |
-
setcookie
|
427 |
-
(
|
428 |
-
'cdp_cookies_wordpress_plugin',
|
429 |
-
'1',
|
430 |
-
time() + 60 * 60 * 24 * 30 * 12 * 100
|
431 |
-
);
|
432 |
-
}
|
433 |
-
|
434 |
-
/**
|
435 |
-
*
|
436 |
-
*/
|
437 |
-
private static function eliminar_cookie()
|
438 |
-
{
|
439 |
-
setcookie
|
440 |
-
(
|
441 |
-
'cdp_cookies_wordpress_plugin',
|
442 |
-
'0',
|
443 |
-
time() - 10000
|
444 |
-
);
|
445 |
-
}
|
446 |
-
|
447 |
-
/**
|
448 |
-
*
|
449 |
-
*/
|
450 |
-
static function parametro( $nombre, $valor = null )
|
451 |
-
{
|
452 |
-
//
|
453 |
-
$vdef =
|
454 |
-
array(
|
455 |
-
'layout' => 'ventana',
|
456 |
-
'posicion' => 'superior',
|
457 |
-
'alineacion' => 'izq',
|
458 |
-
'tema' => 'gris',
|
459 |
-
'enlace_politica' => '#',
|
460 |
-
'enlace_mas_informacion' => '#'
|
461 |
-
);
|
462 |
-
if( !key_exists( $nombre, $vdef ) )
|
463 |
-
throw new cdp_cookies_error( sprintf( "Parámetro desconocido: %s", $nombre ) );
|
464 |
-
|
465 |
-
// Devuelvo valor
|
466 |
-
if( $valor === null )
|
467 |
-
{
|
468 |
-
// Hago una excepción si estoy mostrando el aviso en vista previa
|
469 |
-
if( cdp_cookies_input::get( 'cdp_cookies_vista_previa' ) )
|
470 |
-
if( ( $v = cdp_cookies_input::get( $nombre ) ) )
|
471 |
-
{
|
472 |
-
// Antes de devolver el valor me aseguro que soy el usuario administrador
|
473 |
-
try
|
474 |
-
{
|
475 |
-
self::comprobar_usuario_admin();
|
476 |
-
return $v;
|
477 |
-
}
|
478 |
-
catch( cdp_cookies_error $e )
|
479 |
-
{
|
480 |
-
}
|
481 |
-
}
|
482 |
-
return get_option( 'cdp_cookies_' . $nombre, $vdef[$nombre] );
|
483 |
-
}
|
484 |
-
|
485 |
-
// Lo almaceno
|
486 |
-
update_option( 'cdp_cookies_' . $nombre, $valor );
|
487 |
-
}
|
488 |
-
|
489 |
-
/**
|
490 |
-
*
|
491 |
-
*/
|
492 |
-
static function comprobar_usuario_admin()
|
493 |
-
{
|
494 |
-
if( !current_user_can( 'manage_options' ) )
|
495 |
-
throw new cdp_cookies_error( 'No tiene privilegios para acceder a esta página' );
|
496 |
-
}
|
497 |
-
|
498 |
-
/**
|
499 |
-
*
|
500 |
-
*/
|
501 |
-
static function crear_menu_admin()
|
502 |
-
{
|
503 |
-
//
|
504 |
-
self::comprobar_usuario_admin();
|
505 |
-
|
506 |
-
//
|
507 |
-
// Página configuración que cuelgue de Herramientas
|
508 |
-
//
|
509 |
-
add_submenu_page
|
510 |
-
(
|
511 |
-
'tools.php',
|
512 |
-
'Asesor de cookies',
|
513 |
-
'Asesor de cookies',
|
514 |
-
'manage_options',
|
515 |
-
'cdp_cookies',
|
516 |
-
array( __CLASS__, 'pag_configuracion' )
|
517 |
-
);
|
518 |
-
}
|
519 |
-
|
520 |
-
/**
|
521 |
-
*
|
522 |
-
*/
|
523 |
-
static function cargar_archivos_front()
|
524 |
-
{
|
525 |
-
wp_enqueue_style( 'estilos', CDP_COOKIES_URL_HTML . 'estilos.css', false );
|
526 |
-
wp_enqueue_script( 'main', CDP_COOKIES_URL_HTML . 'main.js', array( 'jquery' ) );
|
527 |
-
}
|
528 |
-
|
529 |
-
/**
|
530 |
-
*
|
531 |
-
*/
|
532 |
-
static function cargar_archivos_admin()
|
533 |
-
{
|
534 |
-
wp_enqueue_style( 'estilos-admin', CDP_COOKIES_URL_HTML . 'estilos-admin.css', false );
|
535 |
-
wp_register_script( 'main-admin', CDP_COOKIES_URL_HTML . 'main-admin.js', array( 'jquery' ) );
|
536 |
-
wp_enqueue_script( 'main-admin' );
|
537 |
-
wp_localize_script(
|
538 |
-
'main-admin',
|
539 |
-
'info',
|
540 |
-
array(
|
541 |
-
'url_admin' => CDP_COOKIES_URL_RAIZ . 'plugin.php',
|
542 |
-
'siteurl' => site_url(),
|
543 |
-
'nonce_guardar' => wp_create_nonce( 'guardar' )
|
544 |
-
) );
|
545 |
-
}
|
546 |
-
|
547 |
-
/**
|
548 |
-
*
|
549 |
-
*/
|
550 |
-
static function dibujar_aviso()
|
551 |
-
{
|
552 |
-
//
|
553 |
-
// Posicionamiento en ventana o página
|
554 |
-
//
|
555 |
-
$class = '';
|
556 |
-
if( self::parametro( 'layout' ) == 'ventana' )
|
557 |
-
$class .= ' cdp-cookies-layout-ventana';
|
558 |
-
else
|
559 |
-
$class .= ' cdp-cookies-layout-pagina';
|
560 |
-
|
561 |
-
//
|
562 |
-
// Posición: superior, inferior
|
563 |
-
//
|
564 |
-
$class .= ' cdp-cookies-pos-' . self::parametro( 'posicion' );
|
565 |
-
|
566 |
-
//
|
567 |
-
// Alineación de los textos
|
568 |
-
//
|
569 |
-
if( self::parametro( 'alineacion' ) == 'izq' )
|
570 |
-
$class .= ' cdp-cookies-textos-izq';
|
571 |
-
|
572 |
-
//
|
573 |
-
// Tema de color
|
574 |
-
//
|
575 |
-
$class .= ' cdp-cookies-tema-' . self::parametro( 'tema' );
|
576 |
-
|
577 |
-
//
|
578 |
-
// Obtengo el archivo con el texto
|
579 |
-
//
|
580 |
-
$html = file_get_contents( CDP_COOKIES_DIR_HTML . 'aviso.html' );
|
581 |
-
$html = str_replace( '{class}', $class, $html );
|
582 |
-
$html = str_replace( '{enlace_politica}', self::parametro( 'enlace_politica' ), $html );
|
583 |
-
echo $html;
|
584 |
-
}
|
585 |
-
|
586 |
-
/**
|
587 |
-
*
|
588 |
-
*/
|
589 |
-
static function dibujar_politica()
|
590 |
-
{
|
591 |
-
$html = file_get_contents( CDP_COOKIES_DIR_HTML . 'politica.html' );
|
592 |
-
$html = str_replace( '{enlace_mas_informacion}', self::parametro( 'enlace_mas_informacion' ), $html );
|
593 |
-
echo $html;
|
594 |
-
}
|
595 |
-
|
596 |
-
/**
|
597 |
-
*
|
598 |
-
*/
|
599 |
-
static function dibujar_mas_informacion()
|
600 |
-
{
|
601 |
-
$html = file_get_contents( CDP_COOKIES_DIR_HTML . 'mas-informacion.html' );
|
602 |
-
echo $html;
|
603 |
-
}
|
604 |
-
|
605 |
-
/**
|
606 |
-
*
|
607 |
-
*/
|
608 |
-
static function pag_configuracion()
|
609 |
-
{
|
610 |
-
require_once CDP_COOKIES_DIR_HTML . 'admin.html';
|
611 |
-
}
|
612 |
-
|
613 |
-
/**
|
614 |
-
*
|
615 |
-
*/
|
616 |
-
static function ajax_guardar_config()
|
617 |
-
{
|
618 |
-
self::comprobar_usuario_admin();
|
619 |
-
try
|
620 |
-
{
|
621 |
-
//
|
622 |
-
if( !wp_verify_nonce( cdp_cookies_input::post( 'nonce_guardar' ), 'guardar' ) )
|
623 |
-
throw new cdp_cookies_error( "Se ha producido un error de seguridad en este plugin" );
|
624 |
-
|
625 |
-
//
|
626 |
-
cdp_cookies_input::validar_array( 'layout', array( 'ventana', 'pagina' ) );
|
627 |
-
cdp_cookies_input::validar_array( 'posicion', array( 'superior', 'inferior' ) );
|
628 |
-
cdp_cookies_input::validar_array( 'alineacion', array( 'izq', 'cen' ) );
|
629 |
-
cdp_cookies_input::validar_array( 'tema', array( 'gris', 'blanco', 'azul', 'verde', 'rojo' ) );
|
630 |
-
cdp_cookies_input::validar_url( 'enlace_politica' );
|
631 |
-
cdp_cookies_input::validar_url( 'enlace_mas_informacion' );
|
632 |
-
|
633 |
-
//
|
634 |
-
self::parametro( 'layout', cdp_cookies_input::post( 'layout' ) );
|
635 |
-
self::parametro( 'posicion', cdp_cookies_input::post( 'posicion' ) );
|
636 |
-
self::parametro( 'alineacion', cdp_cookies_input::post( 'alineacion' ) );
|
637 |
-
self::parametro( 'tema', cdp_cookies_input::post( 'tema' ) );
|
638 |
-
self::parametro( 'enlace_politica', cdp_cookies_input::post( 'enlace_politica' ) );
|
639 |
-
self::parametro( 'enlace_mas_informacion', cdp_cookies_input::post( 'enlace_mas_informacion' ) );
|
640 |
-
|
641 |
-
//
|
642 |
-
echo json_encode( array( 'ok' => true, 'txt' => 'Configuración guardada correctamente' ) );
|
643 |
-
}
|
644 |
-
catch( Exception $e )
|
645 |
-
{
|
646 |
-
cdp_cookies_log::pon( $e );
|
647 |
-
echo json_encode( array( 'ok' => false, 'txt' => $e->getMessage() ) );
|
648 |
-
}
|
649 |
-
exit;
|
650 |
-
}
|
651 |
-
|
652 |
-
}
|
653 |
|
654 |
/**
|
655 |
*
|
2 |
|
3 |
/* ======================================================================================
|
4 |
@author Carlos Doral Pérez (http://webartesanal.com)
|
5 |
+
@version 0.13
|
6 |
@copyright Copyright © 2013 Carlos Doral Pérez, All Rights Reserved
|
7 |
License: GPLv2 or later
|
8 |
====================================================================================== */
|
24 |
throw new cdp_cookies_error( 'Este plugin no puede ser llamado directamente' );
|
25 |
|
26 |
//
|
27 |
+
// Registro eventos front y comunes
|
28 |
//
|
29 |
add_action( 'wp_ajax_traer_aviso', array( __CLASS__, 'ajax_traer_aviso' ) );
|
30 |
add_action( 'wp_ajax_nopriv_traer_aviso', array( __CLASS__, 'ajax_traer_aviso' ) );
|
101 |
$class .= ' cdp-cookies-tema-' . self::parametro( 'tema' );
|
102 |
|
103 |
//
|
104 |
+
// Preparo el texto
|
105 |
+
//
|
106 |
+
$tam_fuente = self::parametro( 'tam_fuente' );
|
107 |
+
$tam_fuente_titulo = str_replace( 'px', '', $tam_fuente ) + 3;
|
108 |
+
$estilo_texto = 'style="font-size:{tam_fuente} !important;line-height:{tam_fuente} !important"';
|
109 |
+
$estilo_titulo = 'style="font-size:{tam_fuente_titulo}px !important;line-height:{tam_fuente_titulo}px !important"';
|
110 |
+
$estilo_enlace = 'style="font-size:{tam_fuente} !important;line-height:{tam_fuente} !important"';
|
111 |
+
$texto_aviso = html_entity_decode( self::parametro( 'texto_aviso' ) );
|
112 |
+
|
113 |
//
|
114 |
$html = file_get_contents( CDP_COOKIES_DIR_HTML . 'front/aviso.html' );
|
115 |
+
$html = str_replace( '{texto_aviso}', $texto_aviso, $html );
|
116 |
+
$html = str_replace( '{estilo_texto}', $estilo_texto, $html );
|
117 |
+
$html = str_replace( '{estilo_titulo}', $estilo_titulo, $html );
|
118 |
+
$html = str_replace( '{estilo_enlace}', $estilo_enlace, $html );
|
119 |
$html = str_replace( '{class}', $class, $html );
|
120 |
$html = str_replace( '{enlace_politica}', self::parametro( 'enlace_politica' ), $html );
|
121 |
+
$html = str_replace( '{tam_fuente}', $tam_fuente, $html );
|
122 |
+
$html = str_replace( '{tam_fuente_titulo}', $tam_fuente_titulo, $html );
|
123 |
echo
|
124 |
json_encode
|
125 |
(
|
191 |
*/
|
192 |
static function ajax_guardar_config()
|
193 |
{
|
|
|
194 |
try
|
195 |
{
|
|
|
196 |
//
|
197 |
self::comprobar_usuario_admin();
|
|
|
198 |
|
199 |
//
|
200 |
if( !wp_verify_nonce( cdp_cookies_input::post( 'nonce_guardar' ), 'guardar' ) )
|
207 |
cdp_cookies_input::validar_array( 'tema', array( 'gris', 'blanco', 'azul', 'verde', 'rojo' ) );
|
208 |
cdp_cookies_input::validar_url( 'enlace_politica' );
|
209 |
cdp_cookies_input::validar_url( 'enlace_mas_informacion' );
|
210 |
+
if( !cdp_cookies_input::post( 'texto_aviso' ) )
|
211 |
+
throw new cdp_cookies_error( "El texto del aviso no puede estar vacío" );
|
212 |
+
if( !preg_match( '/^[0-9]+px$/i', cdp_cookies_input::post( 'tam_fuente' ) ) )
|
213 |
+
throw new cdp_cookies_error(
|
214 |
+
"<b>Tamaño de fuente del texto</b> debe tener un valor en px, p.e: 12px"
|
215 |
+
);
|
216 |
+
|
217 |
//
|
218 |
self::parametro( 'layout', cdp_cookies_input::post( 'layout' ) );
|
219 |
self::parametro( 'posicion', cdp_cookies_input::post( 'posicion' ) );
|
221 |
self::parametro( 'tema', cdp_cookies_input::post( 'tema' ) );
|
222 |
self::parametro( 'enlace_politica', cdp_cookies_input::post( 'enlace_politica' ) );
|
223 |
self::parametro( 'enlace_mas_informacion', cdp_cookies_input::post( 'enlace_mas_informacion' ) );
|
224 |
+
self::parametro( 'texto_aviso', cdp_cookies_input::post( 'texto_aviso' ) );
|
225 |
+
self::parametro( 'tam_fuente', cdp_cookies_input::post( 'tam_fuente' ) );
|
226 |
+
|
227 |
//
|
228 |
echo json_encode( array( 'ok' => true, 'txt' => 'Configuración guardada correctamente' ) );
|
229 |
}
|
249 |
'alineacion' => 'izq',
|
250 |
'tema' => 'gris',
|
251 |
'enlace_politica' => '#',
|
252 |
+
'enlace_mas_informacion' => '#',
|
253 |
+
'texto_aviso' => htmlspecialchars( '<h4 {estilo_titulo}>Uso de cookies</h4><p {estilo_texto}>Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra <a href="{enlace_politica}" {estilo_enlace}>política de cookies</a>, pinche el enlace para mayor información.</p>' ),
|
254 |
+
'tam_fuente' => '12px'
|
255 |
);
|
256 |
if( !key_exists( $nombre, $vdef ) )
|
257 |
throw new cdp_cookies_error( sprintf( "Parámetro desconocido: %s", $nombre ) );
|
267 |
try
|
268 |
{
|
269 |
self::comprobar_usuario_admin();
|
270 |
+
if( $nombre == 'texto_aviso' )
|
271 |
+
return rawurldecode( $v );
|
272 |
return $v;
|
273 |
}
|
274 |
catch( cdp_cookies_error $e )
|
275 |
{
|
276 |
}
|
277 |
}
|
278 |
+
if( $nombre == 'texto_aviso' )
|
279 |
+
return stripslashes( get_option( 'cdp_cookies_' . $nombre, $vdef[$nombre] ) );
|
280 |
return get_option( 'cdp_cookies_' . $nombre, $vdef[$nombre] );
|
281 |
}
|
282 |
|
309 |
*/
|
310 |
static function comprobar_usuario_admin()
|
311 |
{
|
312 |
+
if( function_exists( 'current_user_can' ) )
|
313 |
+
if( function_exists( 'wp_get_current_user' ) )
|
314 |
+
if( current_user_can( 'manage_options' ) )
|
315 |
+
return;
|
316 |
+
throw new cdp_cookies_error( 'No tiene privilegios para acceder a esta página' );
|
317 |
}
|
318 |
|
319 |
/**
|
321 |
*/
|
322 |
static function crear_menu_admin()
|
323 |
{
|
|
|
|
|
|
|
324 |
//
|
325 |
// Página configuración que cuelgue de Herramientas
|
326 |
//
|
347 |
/**
|
348 |
*
|
349 |
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
350 |
|
351 |
/**
|
352 |
*
|
plugin.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
Plugin Name: Asesor de Cookies
|
5 |
Plugin URI: http://webartesanal.com
|
6 |
Description: Este plugin avisa a los nuevos visitantes de su web sobre la utilización de cookies en su página y le proporciona los textos iniciales para que pueda crear una política de cookies correcta.
|
7 |
-
Version: 0.
|
8 |
Author: Carlos Doral Pérez
|
9 |
Author URI: http://webartesanal.com
|
10 |
License: GPLv2 or later
|
4 |
Plugin Name: Asesor de Cookies
|
5 |
Plugin URI: http://webartesanal.com
|
6 |
Description: Este plugin avisa a los nuevos visitantes de su web sobre la utilización de cookies en su página y le proporciona los textos iniciales para que pueda crear una política de cookies correcta.
|
7 |
+
Version: 0.13
|
8 |
Author: Carlos Doral Pérez
|
9 |
Author URI: http://webartesanal.com
|
10 |
License: GPLv2 or later
|
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: Carlos Doral Pérez (<a href="http:://webartesanal.com">webartesanal.com</a>)
|
3 |
Tags: cookie, cookies, spain, ley, law, politica, policy, españa, normativa
|
4 |
Requires at least: 3.5
|
5 |
-
Tested up to: 3.
|
6 |
-
Stable tag: 0.
|
7 |
License: GPLv2 or later
|
8 |
|
9 |
Este plugins le ayuda a cumplir con la ley de cookies española proporcionándole los textos legales y técnicos necesarios.
|
@@ -16,11 +16,9 @@ Este plugin le proporciona los textos legales y técnicos iniciales que necesita
|
|
16 |
|
17 |
Características del plugin:
|
18 |
|
19 |
-
*
|
20 |
-
*
|
21 |
-
* Permite
|
22 |
-
* Permite configurar la posición del aviso (inferior, superior) y el lugar de inclusión (en página o en ventana).
|
23 |
-
* Permite mostrar el aviso en modo 'vista previa' para que elija el formato y lugar donde aparece el aviso.
|
24 |
|
25 |
== Screenshots ==
|
26 |
|
@@ -45,10 +43,14 @@ Si lo desea, como método alternativo de instalación puede ir a la sección Plu
|
|
45 |
|
46 |
== Changelog ==
|
47 |
|
|
|
|
|
|
|
|
|
|
|
48 |
= 0.12 =
|
49 |
* readme.txt actualizado y capturas de pantalla.
|
50 |
|
51 |
= 0.11 =
|
52 |
* Versión inicial.
|
53 |
|
54 |
-
|
2 |
Contributors: Carlos Doral Pérez (<a href="http:://webartesanal.com">webartesanal.com</a>)
|
3 |
Tags: cookie, cookies, spain, ley, law, politica, policy, españa, normativa
|
4 |
Requires at least: 3.5
|
5 |
+
Tested up to: 3.7
|
6 |
+
Stable tag: 0.13
|
7 |
License: GPLv2 or later
|
8 |
|
9 |
Este plugins le ayuda a cumplir con la ley de cookies española proporcionándole los textos legales y técnicos necesarios.
|
16 |
|
17 |
Características del plugin:
|
18 |
|
19 |
+
* Muestra un aviso sobre la utilización de cookies a cada usuario nuevo de su web.
|
20 |
+
* Permite configurar la posición del aviso (inferior, superior), el lugar de inclusión (en página o en ventana), tamaño de fuente, elegir entre 5 colores, el texto ahora es editable y se incorpora un modo 'vista previa'.
|
21 |
+
* Permite crear automáticamente las dos páginas con los textos legales y técnicos que necesita su web: La política de cookies y la descripción coloquial de cookies para los usuarios web. Las páginas son editables.
|
|
|
|
|
22 |
|
23 |
== Screenshots ==
|
24 |
|
43 |
|
44 |
== Changelog ==
|
45 |
|
46 |
+
= 0.13 =
|
47 |
+
* El texto del aviso ahora es editable.
|
48 |
+
* Se puede cambiar el tamaño de fuente.
|
49 |
+
* Corregido error que aparecía cuando un usuario no administrador entraba al back de WP.
|
50 |
+
|
51 |
= 0.12 =
|
52 |
* readme.txt actualizado y capturas de pantalla.
|
53 |
|
54 |
= 0.11 =
|
55 |
* Versión inicial.
|
56 |
|
|