Asesor de Cookies para normativa española - Version 0.13

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 Icon 128x128 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 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>Además, este plugin le proporciona los textos legales y técnicos que usted necesita, se generan automáticamente y los puede editar si lo desea. Estos textos son la <b>política de cookies</b>, la <b>descripción técnica de las cookies</b> y las </b>instrucciones de manipulación de cookies</b> desde los <b>navegadores</b> más populares.</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.11
5
  @copyright Copyright &copy; 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 &copy; 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
- <h4>Uso de cookies</h4>
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.11
5
  @copyright Copyright &copy; 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 &copy; 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.11
4
  @copyright Copyright &copy; 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 &copy; 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.11
6
  @copyright Copyright &copy; 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
- // Obtengo el archivo con el texto
 
 
 
 
 
 
 
 
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( !current_user_can( 'manage_options' ) )
288
- throw new cdp_cookies_error( 'No tiene privilegios para acceder a esta página' );
 
 
 
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 &copy; 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.12
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.1
6
- Stable tag: 0.12
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
- * Incorpora los textos legales base.
20
- * Incorpora un botón para crear automáticamente las dos páginas que necesita su web: La política de cookies y la descripción de cookies para los usuarios web. Las páginas son editables.
21
- * Permite ajustar el estilo de color del aviso que se muestra al usuario, hay cinco colores: gris, blanco, rojo, verde y azul.
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