Asesor de Cookies para normativa española - Version 0.22

Version Description

  • Ahora el aviso de cookies siempre aparece flotante y en la parte inferior, se eliminan opciones como ponerlo en la parte superior, aadirlo al body como parte del contenido, eleccin del tipo de botn (cerrar, aceptar) y otras opciones que complicaban la configuracin.
  • Se aade solapa permanente para mostrar el aviso de cookies en cualquier momento.
  • Se elimina la opcin de dar el consentimiento de forma automtica, ahora el visitante siempre debe pulsar el botn ACEPTAR.
Download this release

Release Info

Developer cdoral
Plugin Icon 128x128 Asesor de Cookies para normativa española
Version 0.22
Comparing to
See all releases

Code changes from version 0.21 to 0.22

html/admin/estilos.css CHANGED
@@ -48,33 +48,12 @@
48
  Publi
49
  ============================================*/
50
  .cdp-cookies-publi {
51
- margin: 20px 0;
52
  }
53
  .cdp-cookies-publi:after {
54
  display: table;
55
  content: "";
56
  clear:both;
57
  }
58
- .cdp-cookies-publi a {
59
- float:left;
60
- background-color: #76abdc;
61
- padding: 10px;
62
- margin: 0 10px 5px 0;
63
- border-radius: 5px;
64
- -moz-border-radius: 5px;
65
- -webkit-border-radius: 5px;
66
- -khtml-border-radius: 5px;
67
- color: #fff;
68
- text-decoration: none;
69
- border: none;
70
- }
71
- .cdp-cookies-publi a:hover {
72
- color:#ccc;
73
- }
74
- .cdp-cookies-publi a span {
75
- font-size: 18px;
76
- color:#444;
77
- }
78
 
79
  /*============================================
80
  Grid
48
  Publi
49
  ============================================*/
50
  .cdp-cookies-publi {
 
51
  }
52
  .cdp-cookies-publi:after {
53
  display: table;
54
  content: "";
55
  clear:both;
56
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
 
58
  /*============================================
59
  Grid
html/admin/principal.html CHANGED
@@ -4,12 +4,11 @@
4
  <p>
5
  <a href="javascript:;" class="cdp-cookies-bot-instrucciones">[Ocultar/Mostrar instrucciones]</a>
6
  &nbsp;&nbsp;&nbsp;
7
- <a href="http://webartesanal.com">Plugin creado por Carlos Doral (webartesanal.com)</a>
8
  </p>
9
 
10
  <div class="cdp-cookies-publi">
11
- <a href="http://webartesanal.com/alojamiento-y-mantenimiento-wordpress/" target="_blank"><strong>Mantenemos tu WordPress:</strong> Actualizaciones, copias de seguridad, antihacking, soporte telefónico</a>
12
- <a href="http://webartesanal.com/blog/desarrollador-wordpress-ventajas-de-contratar-a-un-profesional-wordpress/" target="_blank">¿Necesitas un desarrollador WordPress?</a>
13
  </div>
14
 
15
  <div class="cdp-cookies-instrucciones">
@@ -30,72 +29,39 @@
30
 
31
  <form>
32
 
33
- <!-- Texto del aviso -->
34
  <div class="cdp-cookies-grid">
35
  <div class="cdp-cookies-4c">
36
- <label class="padv10"><b>Aviso</b> mostrado al visitante</label>
37
- </div>
38
- <div class="cdp-cookies-5c">
39
- <textarea name="texto_aviso" id="texto_aviso" rows="6"><?php echo cdp_cookies::parametro( 'texto_aviso' );?></textarea>
40
- </div>
41
- </div>
42
-
43
- <!-- Comportamiento -->
44
- <div class="cdp-cookies-grid">
45
- <div class="cdp-cookies-4c">
46
- <label><b>Cuándo</b> desaparece el aviso:</label>
47
  </div>
48
  <div class="cdp-cookies-5c">
49
  <?php
50
  $opciones = array(
51
- 'navegar' => 'Al navegar, automáticamente',
52
- 'cerrar' => 'Cuando el usuario pulse CERRAR',
53
- 'aceptar' => 'Cuando el usuario pulse ACEPTAR'
54
  );
55
- echo cdp_cookies_html::select( "comportamiento", $opciones, true, cdp_cookies::parametro( 'comportamiento' ) );
56
  ?>
57
  </div>
58
  </div>
59
 
60
- <!-- Tamaño del texto -->
61
- <div class="cdp-cookies-grid">
62
- <div class="cdp-cookies-4c">
63
- <label class="padv10">Tamaño del texto del aviso</label>
64
- </div>
65
- <div class="cdp-cookies-5c">
66
- <input type="text" name="tam_fuente" id="tam_fuente" value="<?php echo cdp_cookies::parametro( 'tam_fuente' );?>">
67
- </div>
68
- </div>
69
-
70
- <!-- Layout -->
71
  <div class="cdp-cookies-grid">
72
  <div class="cdp-cookies-4c">
73
- <label><b>Formato</b> del aviso de cookies:</label>
74
  </div>
75
  <div class="cdp-cookies-5c">
76
- <?php
77
- $opciones = array(
78
- 'ventana' => 'Flotante y siempre a la vista',
79
- 'pagina' => 'Como contenido de la página'
80
- );
81
- echo cdp_cookies_html::select( "layout", $opciones, true, cdp_cookies::parametro( 'layout' ) );
82
- ?>
83
  </div>
84
  </div>
85
 
86
- <!-- Posición -->
87
  <div class="cdp-cookies-grid">
88
  <div class="cdp-cookies-4c">
89
- <label><b>Posición</b> del aviso de cookies:</label>
90
  </div>
91
  <div class="cdp-cookies-5c">
92
- <?php
93
- $opciones = array(
94
- 'superior' => 'En la zona superior',
95
- 'inferior' => 'En la zona inferior'
96
- );
97
- echo cdp_cookies_html::select( "posicion", $opciones, true, cdp_cookies::parametro( 'posicion' ) );
98
- ?>
99
  </div>
100
  </div>
101
 
@@ -149,16 +115,6 @@
149
  </div>
150
  </div>
151
 
152
- <!-- Vista previa -->
153
- <div class="cdp-cookies-grid">
154
- <div class="cdp-cookies-4c">
155
- &nbsp;
156
- </div>
157
- <div class="cdp-cookies-5c">
158
- <a href="javascript:;" class="cdp-cookies-boton azul cdp-cookies-vista-previa">Vista previa</a>
159
- </div>
160
- </div>
161
-
162
  <!-- separador -->
163
  <div class="cdp-cookies-grid">
164
  <div class="cdp-cookies-10c">
4
  <p>
5
  <a href="javascript:;" class="cdp-cookies-bot-instrucciones">[Ocultar/Mostrar instrucciones]</a>
6
  &nbsp;&nbsp;&nbsp;
7
+ <a href="//webartesanal.com" target="_blank">Plugin creado por Carlos Doral (webartesanal.com)</a>
8
  </p>
9
 
10
  <div class="cdp-cookies-publi">
11
+ <a href="//webartesanal.com/mantenimiento-web/" target="_blank"><img src="<?php echo CDP_COOKIES_URL_HTML?>admin/mantenimiento-web-wordpress.jpg" width="100%"></a>
 
12
  </div>
13
 
14
  <div class="cdp-cookies-instrucciones">
29
 
30
  <form>
31
 
32
+ <!-- Modo discreto -->
33
  <div class="cdp-cookies-grid">
34
  <div class="cdp-cookies-4c">
35
+ <label class="padv10"><span style="color:#f00">¡NUEVO!</span> Posición <b>solapa</b></label>
 
 
 
 
 
 
 
 
 
 
36
  </div>
37
  <div class="cdp-cookies-5c">
38
  <?php
39
  $opciones = array(
40
+ 'izq' => 'Izquierda',
41
+ 'der' => 'Derecha'
 
42
  );
43
+ echo cdp_cookies_html::select( "posicion_solapa", $opciones, true, cdp_cookies::parametro( 'posicion_solapa' ) );
44
  ?>
45
  </div>
46
  </div>
47
 
48
+ <!-- Texto del aviso -->
 
 
 
 
 
 
 
 
 
 
49
  <div class="cdp-cookies-grid">
50
  <div class="cdp-cookies-4c">
51
+ <label class="padv10"><b>Aviso</b> mostrado al visitante</label>
52
  </div>
53
  <div class="cdp-cookies-5c">
54
+ <textarea name="texto_aviso" id="texto_aviso" rows="6"><?php echo cdp_cookies::parametro( 'texto_aviso' );?></textarea>
 
 
 
 
 
 
55
  </div>
56
  </div>
57
 
58
+ <!-- Tamaño del texto -->
59
  <div class="cdp-cookies-grid">
60
  <div class="cdp-cookies-4c">
61
+ <label class="padv10">Tamaño del texto del aviso</label>
62
  </div>
63
  <div class="cdp-cookies-5c">
64
+ <input type="text" name="tam_fuente" id="tam_fuente" value="<?php echo cdp_cookies::parametro( 'tam_fuente' );?>">
 
 
 
 
 
 
65
  </div>
66
  </div>
67
 
115
  </div>
116
  </div>
117
 
 
 
 
 
 
 
 
 
 
 
118
  <!-- separador -->
119
  <div class="cdp-cookies-grid">
120
  <div class="cdp-cookies-10c">
html/admin/principal.js CHANGED
@@ -27,14 +27,12 @@ function guardar()
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(),
33
  tema: jQuery( '#tema:checked' ).val(),
34
  enlace_politica: jQuery( '#enlace_politica' ).val(),
35
  enlace_mas_informacion: jQuery( '#enlace_mas_informacion' ).val(),
36
- nonce_guardar: cdp_cookies_info.nonce_guardar,
37
- comportamiento: jQuery( '#comportamiento' ).val()
38
  };
39
 
40
  //
27
  action: 'guardar_config',
28
  texto_aviso: jQuery( '#texto_aviso' ).val(),
29
  tam_fuente: jQuery( '#tam_fuente' ).val(),
30
+ posicion_solapa: jQuery( '#posicion_solapa' ).val(),
 
31
  alineacion: jQuery( '#alineacion' ).val(),
32
  tema: jQuery( '#tema:checked' ).val(),
33
  enlace_politica: jQuery( '#enlace_politica' ).val(),
34
  enlace_mas_informacion: jQuery( '#enlace_mas_informacion' ).val(),
35
+ nonce_guardar: cdp_cookies_info.nonce_guardar
 
36
  };
37
 
38
  //
html/front/aviso.html CHANGED
@@ -4,4 +4,5 @@
4
  {texto_aviso}
5
  {boton_cerrar}
6
  </div>
 
7
  </div>
4
  {texto_aviso}
5
  {boton_cerrar}
6
  </div>
7
+ <a class="cdp-cookies-solapa">Aviso de cookies</a>
8
  </div>
html/front/estilos.css CHANGED
@@ -2,16 +2,37 @@
2
  General
3
  ============================================*/
4
  .cdp-cookies-alerta {
5
- display:none;
6
- width: 100%;
7
- color:#bbbbbb;
8
- background-color: #444444;
9
- z-index: 100000;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  }
11
  .cdp-cookies-alerta .cdp-cookies-texto {
12
- max-width: 960px;
13
- margin: 0 auto;
14
- padding: 20px 10px 20px 10px;
 
 
15
  }
16
  .cdp-cookies-alerta .cdp-cookies-texto h4 {
17
  text-align: center;
@@ -49,35 +70,43 @@
49
  .cdp-cookies-alerta .cdp-cookies-texto a:visited {
50
  color: #ffcccc;
51
  }
52
-
53
- /*============================================
54
- Modo ventana, pos superior
55
- ============================================*/
56
- .cdp-cookies-layout-ventana.cdp-cookies-pos-superior {
57
- display: none;
58
- position: fixed;
59
- top: 0;
 
 
 
60
  }
61
 
62
  /*============================================
63
- Modo ventana, pos inferior
64
  ============================================*/
65
- .cdp-cookies-layout-ventana.cdp-cookies-pos-inferior {
66
- display: none;
67
- position: fixed;
68
- bottom: 0;
69
  }
70
-
71
- /*============================================
72
- Modo pagina, pos superior
73
- ============================================*/
74
- .cdp-cookies-layout-pagina.cdp-cookies-pos-superior {
75
  }
76
-
77
- /*============================================
78
- Modo pagina, pos inferior
79
- ============================================*/
80
- .cdp-cookies-layout-pagina.cdp-cookies-pos-inferior {
 
 
 
 
 
 
 
 
81
  }
82
 
83
  /*============================================
@@ -91,7 +120,7 @@
91
  /*============================================
92
  Color gris
93
  ============================================*/
94
- .cdp-cookies-alerta.cdp-cookies-tema-gris {
95
  background-color: #444444;
96
  border-top:1px solid #222222;
97
  border-bottom:1px solid #222222;
@@ -110,11 +139,24 @@
110
  .cdp-cookies-alerta.cdp-cookies-tema-gris .cdp-cookies-texto a:visited {
111
  color: #ffcccc !important;
112
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
113
 
114
  /*============================================
115
  Color blanco
116
  ============================================*/
117
- .cdp-cookies-alerta.cdp-cookies-tema-blanco {
118
  background-color: #ffffff;
119
  border-top:1px solid #dddddd;
120
  border-bottom:1px solid #dddddd;
@@ -133,11 +175,25 @@
133
  .cdp-cookies-alerta.cdp-cookies-tema-blanco .cdp-cookies-texto a:visited {
134
  color: #eeaaaa;
135
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
136
 
137
  /*============================================
138
  Color rojo
139
  ============================================*/
140
- .cdp-cookies-alerta.cdp-cookies-tema-rojo {
141
  background-color: #e04729;
142
  border-top:1px solid #99301b;
143
  border-bottom:1px solid #99301b;
@@ -156,11 +212,24 @@
156
  .cdp-cookies-alerta.cdp-cookies-tema-rojo .cdp-cookies-texto a:visited {
157
  color: #ffffff;
158
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
159
 
160
  /*============================================
161
  Color azul
162
  ============================================*/
163
- .cdp-cookies-alerta.cdp-cookies-tema-azul {
164
  background-color: #5492e0;
165
  border-top:1px solid #3f6da7;
166
  border-bottom:1px solid #3f6da7;
@@ -179,11 +248,24 @@
179
  .cdp-cookies-alerta.cdp-cookies-tema-azul .cdp-cookies-texto a:visited {
180
  color: #dcebff;
181
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
182
 
183
  /*============================================
184
  Color verde
185
  ============================================*/
186
- .cdp-cookies-alerta.cdp-cookies-tema-verde {
187
  background-color: #0b7000;
188
  border-top:1px solid #064000;
189
  border-bottom:1px solid #064000;
@@ -202,37 +284,19 @@
202
  .cdp-cookies-alerta.cdp-cookies-tema-verde .cdp-cookies-texto a:visited {
203
  color: #c4ffbe;
204
  }
205
-
206
- /*============================================
207
- boton cerrar
208
- ============================================*/
209
- .cdp-cookies-alerta .cdp-cookies-boton-cerrar {
210
- font-size: 12px;
211
- line-height: 14px;
212
- display: block;
213
- width: 75px;
214
- margin: 5px auto 0 auto;
215
- text-decoration: none;
216
- border: none;
217
- text-shadow: 1px 1px 2px #000;
218
- text-align: center;
219
- padding: 3px 10px;
220
- border-radius: 5px;
221
- -moz-border-radius: 5px;
222
- -webkit-border-radius: 5px;
223
- -khtml-border-radius: 5px;
224
- background-color: #222;
225
- color: #fff !important;
226
  }
227
- .cdp-cookies-alerta .cdp-cookies-boton-cerrar:hover {
228
- background-color: #888;
229
- color: #fff !important;
230
  }
231
-
232
- /* colores */
233
- .cdp-cookies-alerta.cdp-cookies-tema-gris .cdp-cookies-boton-cerrar {
234
  }
235
- .cdp-cookies-alerta.cdp-cookies-tema-gris .cdp-cookies-boton-cerrar:hover {
 
236
  }
237
 
238
  /*============================================
2
  General
3
  ============================================*/
4
  .cdp-cookies-alerta {
5
+ }
6
+ .cdp-cookies-alerta .cdp-cookies-solapa {
7
+ display: block;
8
+ position: fixed;
9
+ z-index: 100002;
10
+ width: 120px;
11
+ text-align: center;
12
+ font-size:12px;
13
+ line-height: 18px;
14
+ padding: 5px 0;
15
+ font-family: Helvetica, Arial, sans-serif;
16
+ cursor: pointer;
17
+ -webkit-border-top-left-radius: 5px;
18
+ -moz-border-radius-topleft: 5px;
19
+ border-top-left-radius: 5px;
20
+ -webkit-border-top-right-radius: 5px;
21
+ -moz-border-radius-topright: 5px;
22
+ border-top-right-radius: 5px;
23
+ }
24
+ .cdp-cookies-alerta.cdp-solapa-der .cdp-cookies-solapa {
25
+ right:0;
26
+ }
27
+ .cdp-cookies-alerta.cdp-solapa-izq .cdp-cookies-solapa {
28
+ left:0;
29
  }
30
  .cdp-cookies-alerta .cdp-cookies-texto {
31
+ position: fixed;
32
+ left:0;
33
+ width:100%;
34
+ z-index: 100001;
35
+ padding: 5px 10px 5px 10px;
36
  }
37
  .cdp-cookies-alerta .cdp-cookies-texto h4 {
38
  text-align: center;
70
  .cdp-cookies-alerta .cdp-cookies-texto a:visited {
71
  color: #ffcccc;
72
  }
73
+ .cdp-cookies-boton-cerrar {
74
+ font-size:11px !important;
75
+ line-height: 20px;
76
+ display: block;
77
+ width: 75px;
78
+ padding: 2px 10px 0 10px;
79
+ margin:0 auto;
80
+ text-align: center;
81
+ -webkit-border-radius: 3px;
82
+ -moz-border-radius: 3px;
83
+ border-radius: 3px;
84
  }
85
 
86
  /*============================================
87
+ Animaciones
88
  ============================================*/
89
+ @keyframes animacion_abajo {
90
+ 0% {bottom:0px;}
91
+ 100% {bottom:-200px;}
 
92
  }
93
+ @keyframes animacion_arriba {
94
+ 0% {bottom:-200px;}
95
+ 100% {bottom:0px;}
 
 
96
  }
97
+ .cdp-animacion-abajo {
98
+ animation: animacion_abajo 0.5s forwards;
99
+ -webkit-animation: animacion_abajo 0.5s forwards;
100
+ }
101
+ .cdp-animacion-arriba {
102
+ animation: animacion_arriba 0.5s forwards;
103
+ -webkit-animation: animacion_arriba 0.5s forwards;
104
+ }
105
+ .cdp-mostrar {
106
+ bottom: 0;
107
+ }
108
+ .cdp-ocultar {
109
+ bottom: -200px;
110
  }
111
 
112
  /*============================================
120
  /*============================================
121
  Color gris
122
  ============================================*/
123
+ .cdp-cookies-alerta.cdp-cookies-tema-gris .cdp-cookies-texto {
124
  background-color: #444444;
125
  border-top:1px solid #222222;
126
  border-bottom:1px solid #222222;
139
  .cdp-cookies-alerta.cdp-cookies-tema-gris .cdp-cookies-texto a:visited {
140
  color: #ffcccc !important;
141
  }
142
+ .cdp-cookies-alerta.cdp-cookies-tema-gris .cdp-cookies-solapa {
143
+ background-color: #333;
144
+ color: #ddd;
145
+ }
146
+ .cdp-cookies-alerta.cdp-cookies-tema-gris .cdp-cookies-solapa:hover {
147
+ background-color: #666;
148
+ }
149
+ .cdp-cookies-alerta.cdp-cookies-tema-gris .cdp-cookies-boton-cerrar {
150
+ background-color: #000;
151
+ }
152
+ .cdp-cookies-alerta.cdp-cookies-tema-gris .cdp-cookies-boton-cerrar:hover {
153
+ background-color: #666;
154
+ }
155
 
156
  /*============================================
157
  Color blanco
158
  ============================================*/
159
+ .cdp-cookies-alerta.cdp-cookies-tema-blanco .cdp-cookies-texto {
160
  background-color: #ffffff;
161
  border-top:1px solid #dddddd;
162
  border-bottom:1px solid #dddddd;
175
  .cdp-cookies-alerta.cdp-cookies-tema-blanco .cdp-cookies-texto a:visited {
176
  color: #eeaaaa;
177
  }
178
+ .cdp-cookies-alerta.cdp-cookies-tema-blanco .cdp-cookies-solapa {
179
+ background-color: #fff;
180
+ color: #333;
181
+ }
182
+ .cdp-cookies-alerta.cdp-cookies-tema-blanco .cdp-cookies-solapa:hover {
183
+ background-color: #ddd;
184
+ }
185
+ .cdp-cookies-alerta.cdp-cookies-tema-blanco .cdp-cookies-boton-cerrar {
186
+ background-color: #aaa;
187
+ color: #000 !important;
188
+ }
189
+ .cdp-cookies-alerta.cdp-cookies-tema-blanco .cdp-cookies-boton-cerrar:hover {
190
+ background-color: #ddd;
191
+ }
192
 
193
  /*============================================
194
  Color rojo
195
  ============================================*/
196
+ .cdp-cookies-alerta.cdp-cookies-tema-rojo .cdp-cookies-texto {
197
  background-color: #e04729;
198
  border-top:1px solid #99301b;
199
  border-bottom:1px solid #99301b;
212
  .cdp-cookies-alerta.cdp-cookies-tema-rojo .cdp-cookies-texto a:visited {
213
  color: #ffffff;
214
  }
215
+ .cdp-cookies-alerta.cdp-cookies-tema-rojo .cdp-cookies-solapa {
216
+ background-color: #e04729;
217
+ color: #fff;
218
+ }
219
+ .cdp-cookies-alerta.cdp-cookies-tema-rojo .cdp-cookies-solapa:hover {
220
+ background-color: #a5321c;
221
+ }
222
+ .cdp-cookies-alerta.cdp-cookies-tema-rojo .cdp-cookies-boton-cerrar {
223
+ background-color: #a5321c;
224
+ }
225
+ .cdp-cookies-alerta.cdp-cookies-tema-rojo .cdp-cookies-boton-cerrar:hover {
226
+ background-color: #85120c;
227
+ }
228
 
229
  /*============================================
230
  Color azul
231
  ============================================*/
232
+ .cdp-cookies-alerta.cdp-cookies-tema-azul .cdp-cookies-texto {
233
  background-color: #5492e0;
234
  border-top:1px solid #3f6da7;
235
  border-bottom:1px solid #3f6da7;
248
  .cdp-cookies-alerta.cdp-cookies-tema-azul .cdp-cookies-texto a:visited {
249
  color: #dcebff;
250
  }
251
+ .cdp-cookies-alerta.cdp-cookies-tema-azul .cdp-cookies-solapa {
252
+ background-color: #5492e0;
253
+ color: #fff;
254
+ }
255
+ .cdp-cookies-alerta.cdp-cookies-tema-azul .cdp-cookies-solapa:hover {
256
+ background-color: #3472c0;
257
+ }
258
+ .cdp-cookies-alerta.cdp-cookies-tema-azul .cdp-cookies-boton-cerrar {
259
+ background-color: #2462b0;
260
+ }
261
+ .cdp-cookies-alerta.cdp-cookies-tema-azul .cdp-cookies-boton-cerrar:hover {
262
+ background-color: #64a2f0;
263
+ }
264
 
265
  /*============================================
266
  Color verde
267
  ============================================*/
268
+ .cdp-cookies-alerta.cdp-cookies-tema-verde .cdp-cookies-texto {
269
  background-color: #0b7000;
270
  border-top:1px solid #064000;
271
  border-bottom:1px solid #064000;
284
  .cdp-cookies-alerta.cdp-cookies-tema-verde .cdp-cookies-texto a:visited {
285
  color: #c4ffbe;
286
  }
287
+ .cdp-cookies-alerta.cdp-cookies-tema-verde .cdp-cookies-solapa {
288
+ background-color: #0b7000;
289
+ color: #fff;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
290
  }
291
+ .cdp-cookies-alerta.cdp-cookies-tema-verde .cdp-cookies-solapa:hover {
292
+ background-color: #095000;
 
293
  }
294
+ .cdp-cookies-alerta.cdp-cookies-tema-verde .cdp-cookies-boton-cerrar {
295
+ background-color: #074000;
296
+ color: #fff !important;
297
  }
298
+ .cdp-cookies-alerta.cdp-cookies-tema-verde .cdp-cookies-boton-cerrar:hover {
299
+ background-color: #2b9010;
300
  }
301
 
302
  /*============================================
html/front/principal.js CHANGED
@@ -142,52 +142,52 @@ var cdp_cookie = {
142
  return jQuery.removeCookie( cdp_cookie._id_cookie );
143
  },
144
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
145
  // Muestra aviso
146
- mostrar_aviso: function _mostrar_aviso() {
147
- if( cdp_cookies_info.layout == 'pagina' && cdp_cookies_info.posicion == 'superior' )
148
  {
149
- var aviso = jQuery( '.cdp-cookies-alerta' ).wrap( '<div>' ).parent().html();
150
- jQuery( '.cdp-cookies-alerta' ).parent().detach();
151
- jQuery( 'body' ).prepend( aviso );
152
  }
153
- if( jQuery( '.cdp-cookies-boton-cerrar' ).length > 0 )
154
- jQuery( '.cdp-cookies-boton-cerrar' ).click( function() {
155
- cdp_cookie.poner_cookie();
156
- jQuery( '.cdp-cookies-alerta' ).hide();
157
- } );
158
- jQuery( '.cdp-cookies-alerta' ).show();
159
- },
160
-
161
- //
162
- comportamiento: function _comportamiento() {
163
- return cdp_cookies_info.comportamiento;
164
- },
165
-
166
- // Preparo la query string
167
- variables_get: function _variables_get() {
168
- var url = window.location.href;
169
- var pares = url.slice( url.indexOf( '?' ) + 1 ).split( '&' );
170
- var query = {};
171
- for ( var i = 0 ; i < pares.length ; i++ ) {
172
- var par = pares[i].split( '=' );
173
- if( par.length == 1 )
174
- query[par[0]] = null;
175
- else
176
- if( par.length == 2 )
177
- query[par[0]] = par[1];
178
  }
179
- return query;
180
  },
181
 
182
- // Indica si hay vista previa
183
- hay_vista_previa: function _hay_vista_previa() {
184
- return window.location.href.indexOf( '?cdp_cookies_vista_previa=1' ) >= 0;
 
 
 
 
 
 
 
 
 
185
  },
186
 
187
- // Traigo aviso en vista previa
188
- mostrar_aviso_vista_previa: function _mostrar_aviso_vista_previa() {
189
- cdp_cookie.mostrar_aviso();
190
- },
191
  };
192
 
193
  //
@@ -195,21 +195,12 @@ var cdp_cookie = {
195
  //
196
  jQuery( document ).ready( function( $ )
197
  {
198
- // Funcionamiento para depuración desde el admin de Wordpress
199
- if( cdp_cookie.hay_vista_previa() )
200
- {
201
- cdp_cookie.mostrar_aviso_vista_previa();
202
- return;
203
- }
204
 
205
  // Si ya hay cookie retorno
206
  if( cdp_cookie.ya_existe_cookie() )
207
- return;
208
-
209
- // Comportamiento 'navegar'
210
- if( cdp_cookie.comportamiento() == 'navegar' )
211
- cdp_cookie.poner_cookie();
212
-
213
- // Muestro aviso
214
- cdp_cookie.mostrar_aviso();
215
  } );
142
  return jQuery.removeCookie( cdp_cookie._id_cookie );
143
  },
144
 
145
+ // Inicializacion
146
+ iniciar: function _iniciar() {
147
+ // Solapa
148
+ jQuery( '.cdp-cookies-solapa' ).click( function() {
149
+ cdp_cookie.mostrar_aviso();
150
+ } );
151
+
152
+ // Aceptar
153
+ jQuery( '.cdp-cookies-boton-cerrar' ).click( function() {
154
+ cdp_cookie.poner_cookie();
155
+ cdp_cookie.ocultar_aviso();
156
+ } );
157
+ },
158
+
159
  // Muestra aviso
160
+ mostrar_aviso: function _mostrar_aviso( de_golpe ) {
161
+ if( de_golpe )
162
  {
163
+ jQuery( '.cdp-cookies-texto' ).attr( 'class', 'cdp-cookies-texto cdp-mostrar' );
164
+ jQuery( '.cdp-cookies-solapa' ).attr( 'class', 'cdp-cookies-solapa cdp-ocultar' );
 
165
  }
166
+ else
167
+ {
168
+ jQuery( '.cdp-cookies-texto' ).attr( 'class', 'cdp-cookies-texto cdp-animacion-arriba' );
169
+ jQuery( '.cdp-cookies-solapa' ).attr( 'class', 'cdp-cookies-solapa cdp-animacion-abajo' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
170
  }
 
171
  },
172
 
173
+ // Oculta aviso
174
+ ocultar_aviso: function _ocultar_aviso( de_golpe ) {
175
+ if( de_golpe )
176
+ {
177
+ jQuery( '.cdp-cookies-texto' ).attr( 'class', 'cdp-cookies-texto cdp-ocultar' );
178
+ jQuery( '.cdp-cookies-solapa' ).attr( 'class', 'cdp-cookies-solapa cdp-mostrar' );
179
+ }
180
+ else
181
+ {
182
+ jQuery( '.cdp-cookies-texto' ).attr( 'class', 'cdp-cookies-texto cdp-animacion-abajo' );
183
+ jQuery( '.cdp-cookies-solapa' ).attr( 'class', 'cdp-cookies-solapa cdp-animacion-arriba' );
184
+ }
185
  },
186
 
187
+ //
188
+ comportamiento: function _comportamiento() {
189
+ return cdp_cookies_info.comportamiento;
190
+ }
191
  };
192
 
193
  //
195
  //
196
  jQuery( document ).ready( function( $ )
197
  {
198
+ // Inicialización
199
+ cdp_cookie.iniciar();
 
 
 
 
200
 
201
  // Si ya hay cookie retorno
202
  if( cdp_cookie.ya_existe_cookie() )
203
+ cdp_cookie.ocultar_aviso( true );
204
+ else
205
+ cdp_cookie.mostrar_aviso( true );
 
 
 
 
 
206
  } );
lib/lib.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
 
4
  /* ======================================================================================
5
- @author Carlos Doral Pérez (http://webartesanal.com)
6
  @version 0.15
7
  @copyright Copyright &copy; 2013-2014 Carlos Doral Pérez, All Rights Reserved
8
  License: GPLv2 or later
2
 
3
 
4
  /* ======================================================================================
5
+ @author Carlos Doral Pérez (//webartesanal.com)
6
  @version 0.15
7
  @copyright Copyright &copy; 2013-2014 Carlos Doral Pérez, All Rights Reserved
8
  License: GPLv2 or later
lib/plugin.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
 
3
  /* ======================================================================================
4
- @author Carlos Doral Pérez (http://webartesanal.com)
5
- @version 0.21
6
- @copyright Copyright &copy; 2013-2014 Carlos Doral Pérez, All Rights Reserved
7
  License: GPLv2 or later
8
  ====================================================================================== */
9
 
@@ -53,34 +53,23 @@ class cdp_cookies
53
  */
54
  static function renderizar_aviso()
55
  {
56
- //
57
- // Posicionamiento en ventana o página
58
- //
59
  $class = '';
60
- if( self::parametro( 'layout' ) == 'ventana' )
61
- $class .= ' cdp-cookies-layout-ventana';
 
 
62
  else
63
- $class .= ' cdp-cookies-layout-pagina';
64
-
65
- //
66
- // Posición: superior, inferior
67
- //
68
- $class .= ' cdp-cookies-pos-' . self::parametro( 'posicion' );
69
 
70
- //
71
  // Alineación de los textos
72
- //
73
  if( self::parametro( 'alineacion' ) == 'izq' )
74
  $class .= ' cdp-cookies-textos-izq';
75
 
76
- //
77
  // Esquema de color
78
- //
79
  $class .= ' cdp-cookies-tema-' . self::parametro( 'tema' );
80
 
81
- //
82
  // Preparo el texto
83
- //
84
  $tam_fuente = self::parametro( 'tam_fuente' );
85
  $tam_fuente_titulo = str_replace( 'px', '', $tam_fuente ) + 3;
86
  $estilo_texto = 'style="font-size:{tam_fuente} !important;line-height:{tam_fuente} !important"';
@@ -100,11 +89,7 @@ class cdp_cookies
100
  $html = str_replace( '{tam_fuente_titulo}', $tam_fuente_titulo, $html );
101
 
102
  //
103
- $boton = '';
104
- if( self::parametro( 'comportamiento' ) == 'cerrar' )
105
- $boton = '<a href="javascript:;" class="cdp-cookies-boton-cerrar">CERRAR</a>';
106
- if( self::parametro( 'comportamiento' ) == 'aceptar' )
107
- $boton = '<a href="javascript:;" class="cdp-cookies-boton-cerrar">ACEPTAR</a>';
108
  $html = str_replace( '{boton_cerrar}', $boton, $html );
109
 
110
  //
@@ -150,10 +135,7 @@ class cdp_cookies
150
  array
151
  (
152
  'url_plugin' => CDP_COOKIES_URL_RAIZ . 'plugin.php',
153
- 'url_admin_ajax' => admin_url() . 'admin-ajax.php',
154
- 'comportamiento' => self::parametro( 'comportamiento' ),
155
- 'posicion' => self::parametro( 'posicion' ),
156
- 'layout' => self::parametro( 'layout' )
157
  )
158
  );
159
  }
@@ -226,9 +208,7 @@ class cdp_cookies
226
  throw new cdp_cookies_error_nonce();
227
 
228
  //
229
- cdp_cookies_input::validar_array( 'layout', array( 'ventana', 'pagina' ) );
230
- cdp_cookies_input::validar_array( 'comportamiento', array( 'navegar', 'cerrar', 'aceptar' ) );
231
- cdp_cookies_input::validar_array( 'posicion', array( 'superior', 'inferior' ) );
232
  cdp_cookies_input::validar_array( 'alineacion', array( 'izq', 'cen' ) );
233
  cdp_cookies_input::validar_array( 'tema', array( 'gris', 'blanco', 'azul', 'verde', 'rojo' ) );
234
  cdp_cookies_input::validar_url( 'enlace_politica' );
@@ -241,9 +221,7 @@ class cdp_cookies
241
  );
242
 
243
  //
244
- self::parametro( 'layout', cdp_cookies_input::post( 'layout' ) );
245
- self::parametro( 'posicion', cdp_cookies_input::post( 'posicion' ) );
246
- self::parametro( 'comportamiento', cdp_cookies_input::post( 'comportamiento' ) );
247
  self::parametro( 'alineacion', cdp_cookies_input::post( 'alineacion' ) );
248
  self::parametro( 'tema', cdp_cookies_input::post( 'tema' ) );
249
  self::parametro( 'enlace_politica', cdp_cookies_input::post( 'enlace_politica' ) );
@@ -271,14 +249,12 @@ class cdp_cookies
271
  $vdef =
272
  array
273
  (
274
- 'layout' => 'ventana',
275
- 'posicion' => 'superior',
276
- 'comportamiento' => 'navegar',
277
  'alineacion' => 'izq',
278
  'tema' => 'gris',
279
  'enlace_politica' => '#',
280
  'enlace_mas_informacion' => '#',
281
- '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.<a href="http://wordpress.org/plugins/asesor-cookies-para-la-ley-en-espana/" class="cdp-cookies-boton-creditos" target="_blank">plugin cookies</a></p>' ),
282
  'tam_fuente' => '12px'
283
  );
284
  if( !key_exists( $nombre, $vdef ) )
@@ -287,22 +263,6 @@ class cdp_cookies
287
  // Devuelvo valor
288
  if( $valor === null )
289
  {
290
- // Hago una excepción si estoy mostrando el aviso en vista previa
291
- if( cdp_cookies_input::get( 'cdp_cookies_vista_previa' ) )
292
- if( ( $v = cdp_cookies_input::get( $nombre ) ) )
293
- {
294
- // Antes de devolver el valor me aseguro que soy el usuario administrador
295
- try
296
- {
297
- self::comprobar_usuario_admin();
298
- if( $nombre == 'texto_aviso' )
299
- return rawurldecode( $v );
300
- return $v;
301
- }
302
- catch( cdp_cookies_error $e )
303
- {
304
- }
305
- }
306
  if( $nombre == 'texto_aviso' )
307
  return stripslashes( get_option( 'cdp_cookies_' . $nombre, $vdef[$nombre] ) );
308
  return get_option( 'cdp_cookies_' . $nombre, $vdef[$nombre] );
@@ -327,8 +287,7 @@ class cdp_cookies
327
  (
328
  'nonce_guardar' => wp_create_nonce( 'guardar' ),
329
  'nonce_crear_paginas' => wp_create_nonce( 'crear_paginas' ),
330
- 'siteurl' => site_url(),
331
- 'comportamiento' => self::parametro( 'comportamiento' )
332
  )
333
  );
334
  }
1
  <?php
2
 
3
  /* ======================================================================================
4
+ @author Carlos Doral Pérez (//webartesanal.com)
5
+ @version 0.22
6
+ @copyright Copyright &copy; 2013-2017 Carlos Doral Pérez, All Rights Reserved
7
  License: GPLv2 or later
8
  ====================================================================================== */
9
 
53
  */
54
  static function renderizar_aviso()
55
  {
56
+ // A rellenar
 
 
57
  $class = '';
58
+
59
+ // Posicion solapa
60
+ if( self::parametro( 'posicion_solapa' ) == 'izq' )
61
+ $class .= ' cdp-solapa-izq';
62
  else
63
+ $class .= ' cdp-solapa-der';
 
 
 
 
 
64
 
 
65
  // Alineación de los textos
 
66
  if( self::parametro( 'alineacion' ) == 'izq' )
67
  $class .= ' cdp-cookies-textos-izq';
68
 
 
69
  // Esquema de color
 
70
  $class .= ' cdp-cookies-tema-' . self::parametro( 'tema' );
71
 
 
72
  // Preparo el texto
 
73
  $tam_fuente = self::parametro( 'tam_fuente' );
74
  $tam_fuente_titulo = str_replace( 'px', '', $tam_fuente ) + 3;
75
  $estilo_texto = 'style="font-size:{tam_fuente} !important;line-height:{tam_fuente} !important"';
89
  $html = str_replace( '{tam_fuente_titulo}', $tam_fuente_titulo, $html );
90
 
91
  //
92
+ $boton = '<a href="javascript:;" class="cdp-cookies-boton-cerrar">ACEPTAR</a>';
 
 
 
 
93
  $html = str_replace( '{boton_cerrar}', $boton, $html );
94
 
95
  //
135
  array
136
  (
137
  'url_plugin' => CDP_COOKIES_URL_RAIZ . 'plugin.php',
138
+ 'url_admin_ajax' => admin_url() . 'admin-ajax.php'
 
 
 
139
  )
140
  );
141
  }
208
  throw new cdp_cookies_error_nonce();
209
 
210
  //
211
+ cdp_cookies_input::validar_array( 'posicion_solapa', array( 'izq', 'der' ) );
 
 
212
  cdp_cookies_input::validar_array( 'alineacion', array( 'izq', 'cen' ) );
213
  cdp_cookies_input::validar_array( 'tema', array( 'gris', 'blanco', 'azul', 'verde', 'rojo' ) );
214
  cdp_cookies_input::validar_url( 'enlace_politica' );
221
  );
222
 
223
  //
224
+ self::parametro( 'posicion_solapa', cdp_cookies_input::post( 'posicion_solapa' ) );
 
 
225
  self::parametro( 'alineacion', cdp_cookies_input::post( 'alineacion' ) );
226
  self::parametro( 'tema', cdp_cookies_input::post( 'tema' ) );
227
  self::parametro( 'enlace_politica', cdp_cookies_input::post( 'enlace_politica' ) );
249
  $vdef =
250
  array
251
  (
252
+ 'posicion_solapa' => 'izq',
 
 
253
  'alineacion' => 'izq',
254
  'tema' => 'gris',
255
  'enlace_politica' => '#',
256
  'enlace_mas_informacion' => '#',
257
+ 'texto_aviso' => htmlspecialchars( '<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.<a href="http://wordpress.org/plugins/asesor-cookies-para-la-ley-en-espana/" class="cdp-cookies-boton-creditos" target="_blank">plugin cookies</a></p>' ),
258
  'tam_fuente' => '12px'
259
  );
260
  if( !key_exists( $nombre, $vdef ) )
263
  // Devuelvo valor
264
  if( $valor === null )
265
  {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
266
  if( $nombre == 'texto_aviso' )
267
  return stripslashes( get_option( 'cdp_cookies_' . $nombre, $vdef[$nombre] ) );
268
  return get_option( 'cdp_cookies_' . $nombre, $vdef[$nombre] );
287
  (
288
  'nonce_guardar' => wp_create_nonce( 'guardar' ),
289
  'nonce_crear_paginas' => wp_create_nonce( 'crear_paginas' ),
290
+ 'siteurl' => site_url()
 
291
  )
292
  );
293
  }
plugin.php CHANGED
@@ -2,15 +2,15 @@
2
 
3
  /*
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.21
8
  Author: Carlos Doral Pérez
9
- Author URI: http://webartesanal.com
10
  License: GPLv2 or later
11
  */
12
 
13
- /* Copyright 2013-2015 Carlos Doral Pérez
14
 
15
  This program is free software; you can redistribute it and/or modify
16
  it under the terms of the GNU General Public License as published by
2
 
3
  /*
4
  Plugin Name: Asesor de Cookies
5
+ Plugin URI: //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.22
8
  Author: Carlos Doral Pérez
9
+ Author URI: //webartesanal.com
10
  License: GPLv2 or later
11
  */
12
 
13
+ /* Copyright 2013-2017 Carlos Doral Pérez
14
 
15
  This program is free software; you can redistribute it and/or modify
16
  it under the terms of the GNU General Public License as published by
readme.txt CHANGED
@@ -2,28 +2,35 @@
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: 4.1.1
6
- Stable tag: 0.21
7
  License: GPLv2 or later
8
 
9
- Este plugin le va a facilitar la confección de la política de cookies para su sitio web proporcionándole los textos legales y técnicos iniciales.
10
 
11
  == Description ==
12
 
13
- El funcionamiento consiste en mostrar un mensaje cada vez que un nuevo usuario visita su web avisándole que si sigue navegando o si pulsa el botón CERRAR/ACEPTAR del aviso está aceptando la recepción de cookies y la política de cookies.
 
 
 
 
14
 
15
- Este plugin le proporciona los textos legales y técnicos iniciales que necesita su web para confeccionar su política de cookies, se generan automáticamente y los puede editar si lo desea. Estos textos son la política de cookies, la descripción técnica de las cookies y las instrucciones de manipulación de cookies desde los navegadores más populares, todo ello para que el usuario web tenga la máxima información posible.
 
 
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) y el comportamiento (bajo qué condiciones desaparece), 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 iniciales 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
 
25
- 1. Así aparecerá el aviso de cookies al visitante de su web.
26
- 2. Panel de configuración que permite cambiar los colores, posición del aviso, etc.
 
27
 
28
  == Installation ==
29
 
@@ -43,6 +50,11 @@ Si lo desea, como método alternativo de instalación puede ir a la sección Plu
43
 
44
  == Changelog ==
45
 
 
 
 
 
 
46
  = 0.21 =
47
  * Corregido error que hacía desaparecer los enlaces del resto de plugins.
48
 
@@ -97,4 +109,7 @@ Si este plugin no te funciona correctamente prueba a hacer lo siguiente:
97
 
98
  Si te sigue fallando puede ser porque otro plugin genere errores Javascript y esto impide el funcionamiento del Asesor de Cookies. Puedes probar a desactivar otros plugins para saber cuál está dando problemas.
99
 
 
 
 
100
 
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: 4.7.4
6
+ Stable tag: 0.22
7
  License: GPLv2 or later
8
 
9
+ Este plugin le facilita la adaptación de su web a la política de cookies mostrando el aviso a los visitantes de su página y proporcionándole los textos legales y técnicos iniciales.
10
 
11
  == Description ==
12
 
13
+ > ** NUEVO **
14
+ >
15
+ > Ahora el aviso es menos invasivo, en su lugar aparece una pestaña permanente que muestra u oculta el aviso.
16
+ >
17
+ > **[Para más información visite Web Artesanal, especialistas Wordpress](https://webartesanal.com/)**
18
 
19
+ El funcionamiento consiste en mostrar un mensaje cada vez que un nuevo usuario visita su web avisándole que si pulsa el botón ACEPTAR consiente la instalación de cookies en su navegador web.
20
+
21
+ Además este plugin le proporciona los textos legales y técnicos iniciales para confeccionar su política de cookies, se generan automáticamente y los puede editar si lo desea.
22
 
23
  Características del plugin:
24
 
25
+ * Elección del estilo de la ventana del aviso, color, tamaño de fuente, etc.
26
+ * Elección de la posición de la solapa o pestaña que aparece de forma permanente.
27
+ * Creación automática de las dos páginas con los textos legales y técnicos iniciales 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.
28
 
29
  == Screenshots ==
30
 
31
+ 1. Este es el aviso de cookies mostrado al visitante web por primera vez.
32
+ 2. Esta es la solapa flotante que aparecerá en la parte inferior de su página.
33
+ 3. Panel de configuración que permite cambiar los colores, posición del aviso, etc.
34
 
35
  == Installation ==
36
 
50
 
51
  == Changelog ==
52
 
53
+ = 0.22 =
54
+ * Ahora el aviso de cookies siempre aparece flotante y en la parte inferior, se eliminan opciones como ponerlo en la parte superior, añadirlo al body como parte del contenido, elección del tipo de botón (cerrar, aceptar) y otras opciones que complicaban la configuración.
55
+ * Se añade solapa permanente para mostrar el aviso de cookies en cualquier momento.
56
+ * Se elimina la opción de dar el consentimiento de forma automática, ahora el visitante siempre debe pulsar el botón ACEPTAR.
57
+
58
  = 0.21 =
59
  * Corregido error que hacía desaparecer los enlaces del resto de plugins.
60
 
109
 
110
  Si te sigue fallando puede ser porque otro plugin genere errores Javascript y esto impide el funcionamiento del Asesor de Cookies. Puedes probar a desactivar otros plugins para saber cuál está dando problemas.
111
 
112
+ **[Si tienes otros problemas intentaremos ayudarte si envías un correo desde nuestra web](//webartesanal.com/)**
113
+
114
+
115
 
trunk/README.md ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ Asesor de Cookies para normativa española
2
+ -------------------------------------------------
3
+
4
+ Plugin para ayudarle a cumplir con la normativa de cookies española en su web.
trunk/config.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ define( "CDP_COOKIES_DIR_RAIZ", dirname( __FILE__ ) . '/' );
4
+ define( "CDP_COOKIES_URL_RAIZ", plugins_url( '/', __FILE__ ) );
5
+ define( "CDP_COOKIES_DIR_HTML", CDP_COOKIES_DIR_RAIZ . 'html/' );
6
+ define( 'CDP_COOKIES_URL_HTML', CDP_COOKIES_URL_RAIZ . 'html/' );
7
+ define( "CDP_COOKIES_LOG_ACTIVO", 0 );
8
+ define( "CDP_COOKIES_ARCHIVO_LOG", CDP_COOKIES_DIR_RAIZ . "log/cdp_cookies.log" );
9
+
10
+ ?>
trunk/html/admin/estilos.css ADDED
@@ -0,0 +1,273 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*============================================
2
+ General
3
+ ============================================*/
4
+ .cdp-cookies-admin {
5
+ width: 100%;
6
+ max-width: 960px;
7
+ margin: 0 auto;
8
+ }
9
+ .cdp-cookies-admin h1 {
10
+ font-size:22px;
11
+ line-height: 24px;
12
+ font-weight: normal;
13
+ color: #666666;
14
+ }
15
+ .cdp-cookies-admin .cdp-cookies-mensajes {
16
+ display: none;
17
+ background-color: #d2ffc9;
18
+ padding: 20px;
19
+ border: 1px solid #bbbbbb;
20
+ border-radius: 5px;
21
+ -moz-border-radius: 5px;
22
+ -webkit-border-radius: 5px;
23
+ -khtml-border-radius: 5px;
24
+ -webkit-box-sizing: border-box;
25
+ -moz-box-sizing: border-box;
26
+ box-sizing: border-box;
27
+ }
28
+ .cdp-cookies-admin .cdp-cookies-mensajes.error {
29
+ background-color: #fffccb;
30
+ border:1px solid #e4db57;
31
+ }
32
+
33
+ /*============================================
34
+ varios
35
+ ============================================*/
36
+ .cdp-align-der {
37
+ text-align: right;
38
+ }
39
+
40
+ /*============================================
41
+ Instrucciones
42
+ ============================================*/
43
+ .cdp-cookies-instrucciones {
44
+ padding: 0 20px 0 0;
45
+ }
46
+
47
+ /*============================================
48
+ Publi
49
+ ============================================*/
50
+ .cdp-cookies-publi {
51
+ }
52
+ .cdp-cookies-publi:after {
53
+ display: table;
54
+ content: "";
55
+ clear:both;
56
+ }
57
+
58
+ /*============================================
59
+ Grid
60
+ ============================================*/
61
+ .cdp-cookies-grid {
62
+ padding: 10px 0;
63
+ }
64
+ .cdp-cookies-grid:after {
65
+ content: "";
66
+ display: table;
67
+ clear: both;
68
+ }
69
+ .cdp-cookies-1c,
70
+ .cdp-cookies-2c,
71
+ .cdp-cookies-3c,
72
+ .cdp-cookies-4c,
73
+ .cdp-cookies-5c,
74
+ .cdp-cookies-6c,
75
+ .cdp-cookies-7c,
76
+ .cdp-cookies-8c,
77
+ .cdp-cookies-9c,
78
+ .cdp-cookies-10c {
79
+ float:left;
80
+ padding: 0 10px;
81
+ -webkit-box-sizing: border-box;
82
+ -moz-box-sizing: border-box;
83
+ box-sizing: border-box;
84
+ }
85
+ .cdp-cookies-1c { width: 60px; }
86
+ .cdp-cookies-2c { width: 120px; }
87
+ .cdp-cookies-3c { width: 180px; }
88
+ .cdp-cookies-4c { width: 240px; }
89
+ .cdp-cookies-5c { width: 300px; }
90
+ .cdp-cookies-6c { width: 360px; }
91
+ .cdp-cookies-7c { width: 420px; }
92
+ .cdp-cookies-8c { width: 480px; }
93
+ .cdp-cookies-9c { width: 540px; }
94
+ .cdp-cookies-10c { width: 600px; }
95
+ .cdp-cookies-pad-v0 { padding-top: 0; padding-bottom: 0; }
96
+
97
+ /*============================================
98
+ Forms
99
+ ============================================*/
100
+ .cdp-cookies-admin form {
101
+ display: inline-block;
102
+ background-color: #efefef;
103
+ padding: 10px;
104
+ margin: 0;
105
+ border: 1px solid #cccccc;
106
+ border-radius: 5px;
107
+ -moz-border-radius: 5px;
108
+ -webkit-border-radius: 5px;
109
+ -khtml-border-radius: 5px;
110
+ -webkit-box-sizing: border-box;
111
+ -moz-box-sizing: border-box;
112
+ box-sizing: border-box;
113
+ }
114
+ .cdp-cookies-admin form label {
115
+ text-align: right;
116
+ display: inline-block;
117
+ width: 100%;
118
+ padding: 10px;
119
+ margin:0;
120
+ font-family: "Arial";
121
+ font-size:12px;
122
+ vertical-align: bottom;
123
+ }
124
+ .cdp-cookies-admin form label.padv0 {
125
+ padding-top: 0;
126
+ padding-bottom: 0;
127
+ }
128
+ .cdp-cookies-admin form input[type="text"] {
129
+ width: 100%;
130
+ display: block;
131
+ padding: 10px;
132
+ margin:0;
133
+ color: #666666;
134
+ background-color: #fff;
135
+ font-family: "Arial";
136
+ font-size:12px;
137
+ border: 1px solid #ccc;
138
+ border-radius: 5px;
139
+ -moz-border-radius: 5px;
140
+ -webkit-border-radius: 5px;
141
+ -khtml-border-radius: 5px;
142
+ -webkit-box-sizing: border-box;
143
+ -moz-box-sizing: border-box;
144
+ box-sizing: border-box;
145
+ }
146
+ .cdp-cookies-admin form textarea {
147
+ width: 100%;
148
+ display: block;
149
+ padding: 10px;
150
+ margin:0;
151
+ color: #666666;
152
+ background-color: #fff;
153
+ font-family: "Arial";
154
+ font-size:12px;
155
+ border: 1px solid #ccc;
156
+ border-radius: 5px;
157
+ -moz-border-radius: 5px;
158
+ -webkit-border-radius: 5px;
159
+ -khtml-border-radius: 5px;
160
+ -webkit-box-sizing: border-box;
161
+ -moz-box-sizing: border-box;
162
+ box-sizing: border-box;
163
+ }
164
+ .cdp-cookies-admin form .cdp-cookies-radio {
165
+ cursor: pointer;
166
+ width: 100%;
167
+ display: block;
168
+ padding: 10px;
169
+ margin:0 0 10px 0;
170
+ color: #666666;
171
+ background-color: #e5e5e5;
172
+ font-family: "Arial";
173
+ font-size:12px;
174
+ border: 1px solid #ccc;
175
+ border-radius: 5px;
176
+ -moz-border-radius: 5px;
177
+ -webkit-border-radius: 5px;
178
+ -khtml-border-radius: 5px;
179
+ -webkit-box-sizing: border-box;
180
+ -moz-box-sizing: border-box;
181
+ box-sizing: border-box;
182
+ }
183
+ .cdp-cookies-admin form .cdp-cookies-radio input {
184
+ margin-right: 5px;
185
+ }
186
+ .cdp-cookies-admin form select {
187
+ width: 100%;
188
+ display: block;
189
+ padding: 10px;
190
+ margin:0;
191
+ color: #666666;
192
+ background-color: #fff;
193
+ font-family: "Arial";
194
+ font-size:12px;
195
+ height: 36px;
196
+ border: 1px solid #ccc;
197
+ border-radius: 5px;
198
+ -moz-border-radius: 5px;
199
+ -webkit-border-radius: 5px;
200
+ -khtml-border-radius: 5px;
201
+ -webkit-box-sizing: border-box;
202
+ -moz-box-sizing: border-box;
203
+ box-sizing: border-box;
204
+ }
205
+ .cdp-cookies-admin form hr {
206
+ padding: 0;
207
+ margin: 0;
208
+ height: 1px;
209
+ border: 0;
210
+ border-bottom: 1px solid #cccccc;
211
+ }
212
+ .cdp-cookies-admin a.cdp-cookies-boton.azul {
213
+ display: block;
214
+ width: 100%;
215
+ border: 1px solid #ffffff;
216
+ border-radius: 5px;
217
+ -moz-border-radius: 5px;
218
+ -webkit-border-radius: 5px;
219
+ -khtml-border-radius: 5px;
220
+ -webkit-box-sizing: border-box;
221
+ -moz-box-sizing: border-box;
222
+ box-sizing: border-box;
223
+ text-decoration: none;
224
+ padding: 0 10px;
225
+ margin: 0;
226
+ color: #ffffff;
227
+ text-shadow: 1px 1px 1px #222222;
228
+ font-family: "Arial";
229
+ font-size:14px;
230
+ line-height: 36px;
231
+ text-align: center;
232
+ outline: none;
233
+ background-image: -moz-linear-gradient(bottom, #4a7bd9, #60ade8);
234
+ background-image: -ms-linear-gradient(bottom, #4a7bd9, #60ade8);
235
+ background-image: -o-linear-gradient(bottom, #4a7bd9, #60ade8);
236
+ background-image: -webkit-gradient(linear, left bottom, left top, from(#4a7bd9), to(#60ade8));
237
+ background-image: -webkit-linear-gradient(bottom, #4a7bd9, #60ade8);
238
+ background-image: linear-gradient(bottom, #4a7bd9, #60ade8);
239
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorStr="#4a7bd9", endColorStr="#60ade8");
240
+ }
241
+ .cdp-cookies-admin a.cdp-cookies-boton.azul:hover {
242
+ background-image: none;
243
+ filter:none;
244
+ background-color: #60ade8;
245
+ }
246
+ .cdp-cookies-colores {
247
+ }
248
+ .cdp-cookies-colores .cdp-cookies-radio.cdp-cookies-color-gris {
249
+ background-color: #444444;
250
+ color: #ffffff;
251
+ border:0;
252
+ }
253
+ .cdp-cookies-colores .cdp-cookies-radio.cdp-cookies-color-verde {
254
+ background-color: #0b7000;
255
+ color: #dddddd;
256
+ border:0;
257
+ }
258
+ .cdp-cookies-colores .cdp-cookies-radio.cdp-cookies-color-azul {
259
+ background-color: #5492e0;
260
+ color: #eeeeee;
261
+ border:0;
262
+ }
263
+ .cdp-cookies-colores .cdp-cookies-radio.cdp-cookies-color-blanco {
264
+ background-color: #ffffff;
265
+ color: #888888;
266
+ border:0;
267
+ }
268
+ .cdp-cookies-colores .cdp-cookies-radio.cdp-cookies-color-rojo {
269
+ background-color: #e04729;
270
+ color: #dddddd;
271
+ border:0;
272
+ }
273
+
trunk/html/admin/mantenimiento-web-wordpress.jpg ADDED
Binary file
trunk/html/admin/principal.html ADDED
@@ -0,0 +1,189 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="cdp-cookies-admin">
2
+ <h1>Configuración de Asesor de Cookies</h1>
3
+
4
+ <p>
5
+ <a href="javascript:;" class="cdp-cookies-bot-instrucciones">[Ocultar/Mostrar instrucciones]</a>
6
+ &nbsp;&nbsp;&nbsp;
7
+ <a href="//webartesanal.com" target="_blank">Plugin creado por Carlos Doral (webartesanal.com)</a>
8
+ </p>
9
+
10
+ <div class="cdp-cookies-publi">
11
+ <a href="//webartesanal.com/mantenimiento-web/" target="_blank"><img src="<?php echo CDP_COOKIES_URL_HTML?>admin/mantenimiento-web-wordpress.jpg" width="100%"></a>
12
+ </div>
13
+
14
+ <div class="cdp-cookies-instrucciones">
15
+
16
+ <p>Este plugin le va a ayudar a crear la política de cookies para su sitio web. 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>
17
+
18
+ <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>
19
+
20
+ <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:
21
+ <ol>
22
+ <li><cite>Este sitio web utiliza las siguientes cookies propias</cite>. Aquí debe añadir todas aquellas cookies que se estén generando desde su web, las denominadas <b>cookies propias</b>.</li>
23
+ <li><cite>Este sitio web utiliza las siguientes cookies de terceros</cite>. Aquí debe añadir todas aquellas cookies que se estén generando por servicios externos a su web, como Google Analytics, Facebook, Twitter, etc.</li>
24
+ <li>Si lo desea, donde dice <cite>Ni esta web ni sus representantes legales ...</cite> puede sustituirlo por el nombre de su empresa.</li>
25
+ </ol>
26
+ </p>
27
+
28
+ </div>
29
+
30
+ <form>
31
+
32
+ <!-- Modo discreto -->
33
+ <div class="cdp-cookies-grid">
34
+ <div class="cdp-cookies-4c">
35
+ <label class="padv10"><span style="color:#f00">¡NUEVO!</span> Posición <b>solapa</b></label>
36
+ </div>
37
+ <div class="cdp-cookies-5c">
38
+ <?php
39
+ $opciones = array(
40
+ 'izq' => 'Izquierda',
41
+ 'der' => 'Derecha'
42
+ );
43
+ echo cdp_cookies_html::select( "posicion_solapa", $opciones, true, cdp_cookies::parametro( 'posicion_solapa' ) );
44
+ ?>
45
+ </div>
46
+ </div>
47
+
48
+ <!-- Texto del aviso -->
49
+ <div class="cdp-cookies-grid">
50
+ <div class="cdp-cookies-4c">
51
+ <label class="padv10"><b>Aviso</b> mostrado al visitante</label>
52
+ </div>
53
+ <div class="cdp-cookies-5c">
54
+ <textarea name="texto_aviso" id="texto_aviso" rows="6"><?php echo cdp_cookies::parametro( 'texto_aviso' );?></textarea>
55
+ </div>
56
+ </div>
57
+
58
+ <!-- Tamaño del texto -->
59
+ <div class="cdp-cookies-grid">
60
+ <div class="cdp-cookies-4c">
61
+ <label class="padv10">Tamaño del texto del aviso</label>
62
+ </div>
63
+ <div class="cdp-cookies-5c">
64
+ <input type="text" name="tam_fuente" id="tam_fuente" value="<?php echo cdp_cookies::parametro( 'tam_fuente' );?>">
65
+ </div>
66
+ </div>
67
+
68
+ <!-- Alineación -->
69
+ <div class="cdp-cookies-grid">
70
+ <div class="cdp-cookies-4c">
71
+ <label class="padv0"><b>Alineación</b> del texto del aviso de cookies:</label>
72
+ </div>
73
+ <div class="cdp-cookies-5c">
74
+ <?php
75
+ $opciones = array(
76
+ 'izq' => 'A la izquierda',
77
+ 'cen' => 'Centrado'
78
+ );
79
+ echo cdp_cookies_html::select( "alineacion", $opciones, true, cdp_cookies::parametro( 'alineacion' ) );
80
+ ?>
81
+ </div>
82
+ </div>
83
+
84
+ <!-- Estilo -->
85
+ <div class="cdp-cookies-grid">
86
+ <div class="cdp-cookies-4c">
87
+ <label>Estilo:</label>
88
+ </div>
89
+ <div class="cdp-cookies-5c cdp-cookies-colores">
90
+ <div class="cdp-cookies-radio cdp-cookies-color-gris">
91
+ <input id="tema" name="tema" type="radio" value="gris" <?php
92
+ echo cdp_cookies::parametro( 'tema' ) == 'gris' ? 'checked' : '';?>>
93
+ Gris
94
+ </div>
95
+ <div class="cdp-cookies-radio cdp-cookies-color-blanco">
96
+ <input id="tema" name="tema" type="radio" value="blanco" <?php
97
+ echo cdp_cookies::parametro( 'tema' ) == 'blanco' ? 'checked' : '';?>>
98
+ Blanco
99
+ </div>
100
+ <div class="cdp-cookies-radio cdp-cookies-color-azul">
101
+ <input id="tema" name="tema" type="radio" value="azul" <?php
102
+ echo cdp_cookies::parametro( 'tema' ) == 'azul' ? 'checked' : '';?>>
103
+ Azul
104
+ </div>
105
+ <div class="cdp-cookies-radio cdp-cookies-color-rojo">
106
+ <input id="tema" name="tema" type="radio" value="rojo" <?php
107
+ echo cdp_cookies::parametro( 'tema' ) == 'rojo' ? 'checked' : '';?>>
108
+ Rojo
109
+ </div>
110
+ <div class="cdp-cookies-radio cdp-cookies-color-verde">
111
+ <input id="tema" name="tema" type="radio" value="verde" <?php
112
+ echo cdp_cookies::parametro( 'tema' ) == 'verde' ? 'checked' : '';?>>
113
+ Verde
114
+ </div>
115
+ </div>
116
+ </div>
117
+
118
+ <!-- separador -->
119
+ <div class="cdp-cookies-grid">
120
+ <div class="cdp-cookies-10c">
121
+ <hr>
122
+ </div>
123
+ </div>
124
+
125
+ <!-- URL Política -->
126
+ <div class="cdp-cookies-grid">
127
+ <div class="cdp-cookies-4c">
128
+ <label class="padv0">URL de la <b>página de política</b> de cookies:<br>
129
+ (puede ser un enlace a un <b>PDF</b>)</label>
130
+ </div>
131
+ <div class="cdp-cookies-5c">
132
+ <input type="text" name="enlace_politica" id="enlace_politica" value="<?php echo cdp_cookies::parametro( 'enlace_politica' );?>">
133
+ </div>
134
+ <div class="cdp-cookies-1c">
135
+ <a href="javascript:;" class="cdp-cookies-boton azul cdp-cookies-ver-politica" target="_blank">Ver</a>
136
+ </div>
137
+ </div>
138
+
139
+ <!-- URL +info -->
140
+ <div class="cdp-cookies-grid">
141
+ <div class="cdp-cookies-4c">
142
+ <label class="padv0">URL de la <b>página de más información</b> sobre las cookies:<br>
143
+ (puede ser un enlace a un <b>PDF</b>)</label>
144
+ </div>
145
+ <div class="cdp-cookies-5c">
146
+ <input type="text" name="enlace_mas_informacion" id="enlace_mas_informacion" value="<?php echo cdp_cookies::parametro( 'enlace_mas_informacion' );?>">
147
+ </div>
148
+ <div class="cdp-cookies-1c">
149
+ <a href="javascript:;" class="cdp-cookies-boton azul cdp-cookies-ver-mas-info" target="_blank">Ver</a>
150
+ </div>
151
+ </div>
152
+
153
+ <!-- Botón crear páginas -->
154
+ <div class="cdp-cookies-grid">
155
+ <div class="cdp-cookies-4c">
156
+ &nbsp;
157
+ </div>
158
+ <div class="cdp-cookies-5c">
159
+ <a href="javascript:;" class="cdp-cookies-boton azul cdp-cookies-crear-politica">Crear páginas automáticamente</a>
160
+ </div>
161
+ </div>
162
+
163
+ <!-- separador -->
164
+ <div class="cdp-cookies-grid">
165
+ <div class="cdp-cookies-10c">
166
+ <hr>
167
+ </div>
168
+ </div>
169
+
170
+ <!-- Guardar -->
171
+ <div class="cdp-cookies-grid">
172
+ <div class="cdp-cookies-4c">
173
+ &nbsp;
174
+ </div>
175
+ <div class="cdp-cookies-5c">
176
+ <a href="javascript:;" class="cdp-cookies-boton azul cdp-cookies-guardar">Guardar</a>
177
+ </div>
178
+ </div>
179
+
180
+ <!-- Mensajes de error y avisos -->
181
+ <div class="cdp-cookies-grid">
182
+ <div class="cdp-cookies-mensajes"></div>
183
+ </div>
184
+
185
+ </form>
186
+
187
+ <p>Este plugin pretende ahorrar tiempo y esfuerzo a su empresa para que pueda diseñar una correcta y adecuada política de cookies en su página web. El creador de este plugin no se hace responsable, ni tiene porqué intervenir en posibles litigios o acciones legales que puedan emprender contra su empresa por un posible incumplimiento de la citada ley de cookies. Es su obligación acudir a un abogado para que revise su política de cookies con el fin de conocer si cumple todos los requisitos solicitados por la Agencia Española de Protección de Datos.</p>
188
+
189
+ </div>
trunk/html/admin/principal.js ADDED
@@ -0,0 +1,118 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ /* ======================================================================================
3
+ @author Carlos Doral Pérez (http://webartesanal.com)
4
+ @version 0.19
5
+ @copyright Copyright &copy; 2013 Carlos Doral Pérez, All Rights Reserved
6
+ License: GPLv2 or later
7
+ ====================================================================================== */
8
+
9
+ //
10
+ function cdp_cookies_mensaje( texto, clase )
11
+ {
12
+ jQuery( '.cdp-cookies-mensajes' ).removeClass( 'error' ).addClass( clase );
13
+ jQuery( '.cdp-cookies-mensajes' ).html( texto ).fadeIn( 500 ).delay( 2000 ).fadeOut( 500 );
14
+ }
15
+
16
+ //
17
+ function cdp_cookies_mensaje_error( texto )
18
+ {
19
+ cdp_cookies_mensaje( texto, 'error' );
20
+ }
21
+
22
+ //
23
+ function guardar()
24
+ {
25
+ //
26
+ var datos = {
27
+ action: 'guardar_config',
28
+ texto_aviso: jQuery( '#texto_aviso' ).val(),
29
+ tam_fuente: jQuery( '#tam_fuente' ).val(),
30
+ posicion_solapa: jQuery( '#posicion_solapa' ).val(),
31
+ alineacion: jQuery( '#alineacion' ).val(),
32
+ tema: jQuery( '#tema:checked' ).val(),
33
+ enlace_politica: jQuery( '#enlace_politica' ).val(),
34
+ enlace_mas_informacion: jQuery( '#enlace_mas_informacion' ).val(),
35
+ nonce_guardar: cdp_cookies_info.nonce_guardar
36
+ };
37
+
38
+ //
39
+ jQuery.post( ajaxurl, datos, function( resul ) {
40
+ if( resul.ok )
41
+ cdp_cookies_mensaje( resul.txt );
42
+ else
43
+ cdp_cookies_mensaje_error( resul.txt );
44
+ }, 'json' );
45
+ }
46
+
47
+ //
48
+ function crear_paginas()
49
+ {
50
+ //
51
+ var datos = {
52
+ action: 'crear_paginas',
53
+ nonce_crear_paginas : cdp_cookies_info.nonce_crear_paginas
54
+ };
55
+
56
+ //
57
+ jQuery.post( ajaxurl, datos, function( resul ) {
58
+ if( resul.ok )
59
+ {
60
+ cdp_cookies_mensaje( resul.txt );
61
+ jQuery( '#enlace_mas_informacion' ).val( resul.url_info );
62
+ jQuery( '#enlace_politica' ).val( resul.url_politica );
63
+ }
64
+ else
65
+ {
66
+ cdp_cookies_mensaje_error( resul.txt );
67
+ }
68
+ }, 'json' );
69
+ }
70
+
71
+ //
72
+ jQuery( document ).ready( function( $ ) {
73
+
74
+ // Ocultar/mostrar instrucciones
75
+ $( '.cdp-cookies-bot-instrucciones' ).click( function() {
76
+ $( '.cdp-cookies-instrucciones' ).toggle();
77
+ } );
78
+
79
+ // Radios más fáciles de pinchar
80
+ $( 'form .cdp-cookies-radio' ).click( function() {
81
+ $( this ).find( 'input' ).attr( 'checked', true );
82
+ } );
83
+
84
+ // Guardar config
85
+ $( 'a.cdp-cookies-guardar' ).click( function() {
86
+ guardar();
87
+ } );
88
+
89
+ // Crear pág. política
90
+ $( 'a.cdp-cookies-crear-politica' ).click( function() {
91
+ crear_paginas();
92
+ } );
93
+
94
+ // Ver pág. más info
95
+ $( 'a.cdp-cookies-ver-mas-info' ).click( function() {
96
+ window.open( $( '#enlace_mas_informacion' ).val() );
97
+ } );
98
+
99
+ // Ver pág. politica
100
+ $( 'a.cdp-cookies-ver-politica' ).click( function() {
101
+ window.open( $( '#enlace_politica' ).val() );
102
+ } );
103
+
104
+ // Vista previa del aviso
105
+ $( 'a.cdp-cookies-vista-previa' ).click( function() {
106
+ window.open(
107
+ cdp_cookies_info.siteurl +
108
+ '?cdp_cookies_vista_previa=1' +
109
+ '&layout=' + $( '#layout' ).val() +
110
+ '&comportamiento=' + $( '#comportamiento' ).val() +
111
+ '&posicion=' + $( '#posicion' ).val() +
112
+ '&alineacion=' + $( '#alineacion' ).val() +
113
+ '&tema=' + $( '#tema:checked' ).val() +
114
+ '&tam_fuente=' + $( '#tam_fuente' ).val()
115
+ );
116
+ } );
117
+
118
+ } );
trunk/html/front/aviso.html ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <!-- HTML del pié de página -->
2
+ <div class="cdp-cookies-alerta {class}">
3
+ <div class="cdp-cookies-texto">
4
+ {texto_aviso}
5
+ {boton_cerrar}
6
+ </div>
7
+ <a class="cdp-cookies-solapa">Aviso de cookies</a>
8
+ </div>
trunk/html/front/estilos.css ADDED
@@ -0,0 +1,310 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*============================================
2
+ General
3
+ ============================================*/
4
+ .cdp-cookies-alerta {
5
+ }
6
+ .cdp-cookies-alerta .cdp-cookies-solapa {
7
+ display: block;
8
+ position: fixed;
9
+ z-index: 100002;
10
+ width: 120px;
11
+ text-align: center;
12
+ font-size:12px;
13
+ line-height: 18px;
14
+ padding: 5px 0;
15
+ font-family: Helvetica, Arial, sans-serif;
16
+ cursor: pointer;
17
+ -webkit-border-top-left-radius: 5px;
18
+ -moz-border-radius-topleft: 5px;
19
+ border-top-left-radius: 5px;
20
+ -webkit-border-top-right-radius: 5px;
21
+ -moz-border-radius-topright: 5px;
22
+ border-top-right-radius: 5px;
23
+ }
24
+ .cdp-cookies-alerta.cdp-solapa-der .cdp-cookies-solapa {
25
+ right:0;
26
+ }
27
+ .cdp-cookies-alerta.cdp-solapa-izq .cdp-cookies-solapa {
28
+ left:0;
29
+ }
30
+ .cdp-cookies-alerta .cdp-cookies-texto {
31
+ position: fixed;
32
+ left:0;
33
+ width:100%;
34
+ z-index: 100001;
35
+ padding: 5px 10px 5px 10px;
36
+ }
37
+ .cdp-cookies-alerta .cdp-cookies-texto h4 {
38
+ text-align: center;
39
+ font-family: Helvetica, Arial, sans-serif;
40
+ font-size: 14px;
41
+ font-weight: normal;
42
+ line-height: 16px;
43
+ color:#ffffff;
44
+ padding: 0 0 5px 0;
45
+ margin: 0;
46
+ text-rendering: optimizeLegibility;
47
+ }
48
+ .cdp-cookies-alerta .cdp-cookies-texto p {
49
+ padding: 5px 0;
50
+ margin: 0;
51
+ text-align: center;
52
+ color:#bbbbbb;
53
+ font-family: Helvetica, Arial, sans-serif;
54
+ font-size: 10px;
55
+ font-weight: normal;
56
+ line-height: 11px;
57
+ text-rendering: optimizeLegibility;
58
+ }
59
+ .cdp-cookies-alerta .cdp-cookies-texto a {
60
+ font-family: Helvetica, Arial, sans-serif;
61
+ font-size: 10px;
62
+ font-weight: normal;
63
+ color: #ff8888;
64
+ text-decoration: none;
65
+ border: 0;
66
+ text-rendering: optimizeLegibility;
67
+ }
68
+ .cdp-cookies-alerta .cdp-cookies-texto a:hover,
69
+ .cdp-cookies-alerta .cdp-cookies-texto a:active,
70
+ .cdp-cookies-alerta .cdp-cookies-texto a:visited {
71
+ color: #ffcccc;
72
+ }
73
+ .cdp-cookies-boton-cerrar {
74
+ font-size:11px !important;
75
+ line-height: 20px;
76
+ display: block;
77
+ width: 75px;
78
+ padding: 2px 10px 0 10px;
79
+ margin:0 auto;
80
+ text-align: center;
81
+ -webkit-border-radius: 3px;
82
+ -moz-border-radius: 3px;
83
+ border-radius: 3px;
84
+ }
85
+
86
+ /*============================================
87
+ Animaciones
88
+ ============================================*/
89
+ @keyframes animacion_abajo {
90
+ 0% {bottom:0px;}
91
+ 100% {bottom:-200px;}
92
+ }
93
+ @keyframes animacion_arriba {
94
+ 0% {bottom:-200px;}
95
+ 100% {bottom:0px;}
96
+ }
97
+ .cdp-animacion-abajo {
98
+ animation: animacion_abajo 0.5s forwards;
99
+ -webkit-animation: animacion_abajo 0.5s forwards;
100
+ }
101
+ .cdp-animacion-arriba {
102
+ animation: animacion_arriba 0.5s forwards;
103
+ -webkit-animation: animacion_arriba 0.5s forwards;
104
+ }
105
+ .cdp-mostrar {
106
+ bottom: 0;
107
+ }
108
+ .cdp-ocultar {
109
+ bottom: -200px;
110
+ }
111
+
112
+ /*============================================
113
+ Alineación
114
+ ============================================*/
115
+ .cdp-cookies-alerta.cdp-cookies-textos-izq .cdp-cookies-texto h4,
116
+ .cdp-cookies-alerta.cdp-cookies-textos-izq .cdp-cookies-texto p {
117
+ text-align: left;
118
+ }
119
+
120
+ /*============================================
121
+ Color gris
122
+ ============================================*/
123
+ .cdp-cookies-alerta.cdp-cookies-tema-gris .cdp-cookies-texto {
124
+ background-color: #444444;
125
+ border-top:1px solid #222222;
126
+ border-bottom:1px solid #222222;
127
+ }
128
+ .cdp-cookies-alerta.cdp-cookies-tema-gris .cdp-cookies-texto h4 {
129
+ color: #ffffff;
130
+ }
131
+ .cdp-cookies-alerta.cdp-cookies-tema-gris .cdp-cookies-texto p {
132
+ color: #bbbbbb;
133
+ }
134
+ .cdp-cookies-alerta.cdp-cookies-tema-gris .cdp-cookies-texto a {
135
+ color: #ff8888 !important;
136
+ }
137
+ .cdp-cookies-alerta.cdp-cookies-tema-gris .cdp-cookies-texto a:hover,
138
+ .cdp-cookies-alerta.cdp-cookies-tema-gris .cdp-cookies-texto a:active,
139
+ .cdp-cookies-alerta.cdp-cookies-tema-gris .cdp-cookies-texto a:visited {
140
+ color: #ffcccc !important;
141
+ }
142
+ .cdp-cookies-alerta.cdp-cookies-tema-gris .cdp-cookies-solapa {
143
+ background-color: #333;
144
+ color: #ddd;
145
+ }
146
+ .cdp-cookies-alerta.cdp-cookies-tema-gris .cdp-cookies-solapa:hover {
147
+ background-color: #666;
148
+ }
149
+ .cdp-cookies-alerta.cdp-cookies-tema-gris .cdp-cookies-boton-cerrar {
150
+ background-color: #000;
151
+ }
152
+ .cdp-cookies-alerta.cdp-cookies-tema-gris .cdp-cookies-boton-cerrar:hover {
153
+ background-color: #666;
154
+ }
155
+
156
+ /*============================================
157
+ Color blanco
158
+ ============================================*/
159
+ .cdp-cookies-alerta.cdp-cookies-tema-blanco .cdp-cookies-texto {
160
+ background-color: #ffffff;
161
+ border-top:1px solid #dddddd;
162
+ border-bottom:1px solid #dddddd;
163
+ }
164
+ .cdp-cookies-alerta.cdp-cookies-tema-blanco .cdp-cookies-texto h4 {
165
+ color: #666666;
166
+ }
167
+ .cdp-cookies-alerta.cdp-cookies-tema-blanco .cdp-cookies-texto p {
168
+ color: #888888;
169
+ }
170
+ .cdp-cookies-alerta.cdp-cookies-tema-blanco .cdp-cookies-texto a {
171
+ color: #cc8888;
172
+ }
173
+ .cdp-cookies-alerta.cdp-cookies-tema-blanco .cdp-cookies-texto a:hover,
174
+ .cdp-cookies-alerta.cdp-cookies-tema-blanco .cdp-cookies-texto a:active,
175
+ .cdp-cookies-alerta.cdp-cookies-tema-blanco .cdp-cookies-texto a:visited {
176
+ color: #eeaaaa;
177
+ }
178
+ .cdp-cookies-alerta.cdp-cookies-tema-blanco .cdp-cookies-solapa {
179
+ background-color: #fff;
180
+ color: #333;
181
+ }
182
+ .cdp-cookies-alerta.cdp-cookies-tema-blanco .cdp-cookies-solapa:hover {
183
+ background-color: #ddd;
184
+ }
185
+ .cdp-cookies-alerta.cdp-cookies-tema-blanco .cdp-cookies-boton-cerrar {
186
+ background-color: #aaa;
187
+ color: #000 !important;
188
+ }
189
+ .cdp-cookies-alerta.cdp-cookies-tema-blanco .cdp-cookies-boton-cerrar:hover {
190
+ background-color: #ddd;
191
+ }
192
+
193
+ /*============================================
194
+ Color rojo
195
+ ============================================*/
196
+ .cdp-cookies-alerta.cdp-cookies-tema-rojo .cdp-cookies-texto {
197
+ background-color: #e04729;
198
+ border-top:1px solid #99301b;
199
+ border-bottom:1px solid #99301b;
200
+ }
201
+ .cdp-cookies-alerta.cdp-cookies-tema-rojo .cdp-cookies-texto h4 {
202
+ color: #ffffff;
203
+ }
204
+ .cdp-cookies-alerta.cdp-cookies-tema-rojo .cdp-cookies-texto p {
205
+ color: #dddddd;
206
+ }
207
+ .cdp-cookies-alerta.cdp-cookies-tema-rojo .cdp-cookies-texto a {
208
+ color: #febebe;
209
+ }
210
+ .cdp-cookies-alerta.cdp-cookies-tema-rojo .cdp-cookies-texto a:hover,
211
+ .cdp-cookies-alerta.cdp-cookies-tema-rojo .cdp-cookies-texto a:active,
212
+ .cdp-cookies-alerta.cdp-cookies-tema-rojo .cdp-cookies-texto a:visited {
213
+ color: #ffffff;
214
+ }
215
+ .cdp-cookies-alerta.cdp-cookies-tema-rojo .cdp-cookies-solapa {
216
+ background-color: #e04729;
217
+ color: #fff;
218
+ }
219
+ .cdp-cookies-alerta.cdp-cookies-tema-rojo .cdp-cookies-solapa:hover {
220
+ background-color: #a5321c;
221
+ }
222
+ .cdp-cookies-alerta.cdp-cookies-tema-rojo .cdp-cookies-boton-cerrar {
223
+ background-color: #a5321c;
224
+ }
225
+ .cdp-cookies-alerta.cdp-cookies-tema-rojo .cdp-cookies-boton-cerrar:hover {
226
+ background-color: #85120c;
227
+ }
228
+
229
+ /*============================================
230
+ Color azul
231
+ ============================================*/
232
+ .cdp-cookies-alerta.cdp-cookies-tema-azul .cdp-cookies-texto {
233
+ background-color: #5492e0;
234
+ border-top:1px solid #3f6da7;
235
+ border-bottom:1px solid #3f6da7;
236
+ }
237
+ .cdp-cookies-alerta.cdp-cookies-tema-azul .cdp-cookies-texto h4 {
238
+ color: #ffffff;
239
+ }
240
+ .cdp-cookies-alerta.cdp-cookies-tema-azul .cdp-cookies-texto p {
241
+ color: #eeeeee;
242
+ }
243
+ .cdp-cookies-alerta.cdp-cookies-tema-azul .cdp-cookies-texto a {
244
+ color: #b7d7ff;
245
+ }
246
+ .cdp-cookies-alerta.cdp-cookies-tema-azul .cdp-cookies-texto a:hover,
247
+ .cdp-cookies-alerta.cdp-cookies-tema-azul .cdp-cookies-texto a:active,
248
+ .cdp-cookies-alerta.cdp-cookies-tema-azul .cdp-cookies-texto a:visited {
249
+ color: #dcebff;
250
+ }
251
+ .cdp-cookies-alerta.cdp-cookies-tema-azul .cdp-cookies-solapa {
252
+ background-color: #5492e0;
253
+ color: #fff;
254
+ }
255
+ .cdp-cookies-alerta.cdp-cookies-tema-azul .cdp-cookies-solapa:hover {
256
+ background-color: #3472c0;
257
+ }
258
+ .cdp-cookies-alerta.cdp-cookies-tema-azul .cdp-cookies-boton-cerrar {
259
+ background-color: #2462b0;
260
+ }
261
+ .cdp-cookies-alerta.cdp-cookies-tema-azul .cdp-cookies-boton-cerrar:hover {
262
+ background-color: #64a2f0;
263
+ }
264
+
265
+ /*============================================
266
+ Color verde
267
+ ============================================*/
268
+ .cdp-cookies-alerta.cdp-cookies-tema-verde .cdp-cookies-texto {
269
+ background-color: #0b7000;
270
+ border-top:1px solid #064000;
271
+ border-bottom:1px solid #064000;
272
+ }
273
+ .cdp-cookies-alerta.cdp-cookies-tema-verde .cdp-cookies-texto h4 {
274
+ color: #ffffff;
275
+ }
276
+ .cdp-cookies-alerta.cdp-cookies-tema-verde .cdp-cookies-texto p {
277
+ color: #dddddd;
278
+ }
279
+ .cdp-cookies-alerta.cdp-cookies-tema-verde .cdp-cookies-texto a {
280
+ color: #75c76c;
281
+ }
282
+ .cdp-cookies-alerta.cdp-cookies-tema-verde .cdp-cookies-texto a:hover,
283
+ .cdp-cookies-alerta.cdp-cookies-tema-verde .cdp-cookies-texto a:active,
284
+ .cdp-cookies-alerta.cdp-cookies-tema-verde .cdp-cookies-texto a:visited {
285
+ color: #c4ffbe;
286
+ }
287
+ .cdp-cookies-alerta.cdp-cookies-tema-verde .cdp-cookies-solapa {
288
+ background-color: #0b7000;
289
+ color: #fff;
290
+ }
291
+ .cdp-cookies-alerta.cdp-cookies-tema-verde .cdp-cookies-solapa:hover {
292
+ background-color: #095000;
293
+ }
294
+ .cdp-cookies-alerta.cdp-cookies-tema-verde .cdp-cookies-boton-cerrar {
295
+ background-color: #074000;
296
+ color: #fff !important;
297
+ }
298
+ .cdp-cookies-alerta.cdp-cookies-tema-verde .cdp-cookies-boton-cerrar:hover {
299
+ background-color: #2b9010;
300
+ }
301
+
302
+ /*============================================
303
+ boton créditos
304
+ ============================================*/
305
+ .cdp-cookies-boton-creditos {
306
+ font-size: 10px;
307
+ float:right;
308
+ padding: 10px 0;
309
+ }
310
+
trunk/html/front/mas-informacion.html ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <h2>¿Qué es una cookie?</h2>
2
+ <p>
3
+ Una <em>cookie</em> es un fichero de texto <b>inofensivo</b> que se almacena en su navegador cuando visita casi cualquier página web. La utilidad de la <em>cookie</em> es que la web sea capaz de recordar su visita cuando vuelva a navegar por esa página. Aunque mucha gente no lo sabe las <em>cookies</em> se llevan utilizando desde hace 20 años, cuando aparecieron los primeros navegadores para la World Wide Web.
4
+ </p>
5
+ <h2>¿Qué NO ES una cookie?</h2>
6
+ <p>
7
+ No es un virus, ni un troyano, ni un gusano, ni spam, ni spyware, ni abre ventanas pop-up.
8
+ </p>
9
+ <h2>¿Qué información almacena una <em>cookie</em>?</h2>
10
+ <p>
11
+ Las <em>cookies</em> no suelen almacenar información sensible sobre usted, como tarjetas de crédito o datos bancarios, fotografías, su DNI o información personal, etc. Los datos que guardan son de carácter técnico, preferencias personales, personalización de contenidos, etc.
12
+ </p>
13
+ <p>
14
+ El servidor web no le asocia a usted como persona si no a su navegador web. De hecho, si usted navega habitualmente con Internet Explorer y prueba a navegar por la misma web con Firefox o Chrome verá que la web no se da cuenta que es usted la misma persona porque en realidad está asociando al navegador, no a la persona.
15
+ </p>
16
+ <h2>¿Qué tipo de <em>cookies</em> existen?</h2>
17
+ <p>
18
+ <ul>
19
+ <li><em>Cookies</em> técnicas: Son las más elementales y permiten, entre otras cosas, saber cuándo está navegando un humano o una aplicación automatizada, cuándo navega un usuario anónimo y uno registrado, tareas básicas para el funcionamiento de cualquier web dinámica.</li>
20
+ <li><em>Cookies</em> de análisis: Recogen información sobre el tipo de navegación que está realizando, las secciones que más utiliza, productos consultados, franja horaria de uso, idioma, etc.</li>
21
+ <li><em>Cookies</em> publicitarias: Muestran publicidad en función de su navegación, su país de procedencia, idioma, etc.</li>
22
+ </ul>
23
+ </p>
24
+ <h2>¿Qué son las <em>cookies</em> propias y las de terceros?</h2>
25
+ <p>
26
+ Las <em>cookies propias</em> son las generadas por la página que está visitando y las <em>de terceros</em> son las generadas por servicios o proveedores externos como Facebook, Twitter, Google, etc.
27
+ </p>
28
+ <h2>¿Qué ocurre si desactivo las <em>cookies</em>?</h2>
29
+ <p>
30
+ Para que entienda el alcance que puede tener desactivar las <em>cookies</em> le mostramos unos ejemplos:
31
+ <ul>
32
+ <li>No podrá compartir contenidos de esa web en Facebook, Twitter o cualquier otra red social.</li>
33
+ <li>El sitio web no podrá adaptar los contenidos a sus preferencias personales, como suele ocurrir en las tiendas online.</li>
34
+ <li>No podrá acceder al área personal de esa web, como por ejemplo <em>Mi cuenta</em>, o <em>Mi perfil</em> o <em>Mis pedidos</em>.</li>
35
+ <li>Tiendas online: Le será imposible realizar compras online, tendrán que ser telefónicas o visitando la tienda física si es que dispone de ella.</li>
36
+ <li>No será posible personalizar sus preferencias geográficas como franja horaria, divisa o idioma.</li>
37
+ <li>El sitio web no podrá realizar analíticas web sobre visitantes y tráfico en la web, lo que dificultará que la web sea competitiva.</li>
38
+ <li>No podrá escribir en el blog, no podrá subir fotos, publicar comentarios, valorar o puntuar contenidos. La web tampoco podrá saber si usted es un humano o una aplicación automatizada que publica <em>spam</em>.</li>
39
+ <li>No se podrá mostrar publicidad sectorizada, lo que reducirá los ingresos publicitarios de la web.</li>
40
+ <li>Todas las redes sociales usan <em>cookies</em>, si las desactiva no podrá utilizar ninguna red social.</li>
41
+ </ul>
42
+ </p>
43
+ <h2>¿Se pueden eliminar las <em>cookies</em>?</h2>
44
+ <p>
45
+ Sí. No sólo eliminar, también bloquear, de forma general o particular para un dominio específico.
46
+ </p>
47
+ <p>
48
+ Para eliminar las <em>cookies</em> de un sitio web debe ir a la configuración de su navegador y allí podrá buscar las asociadas al dominio en cuestión y proceder a su eliminación.
49
+ </p>
50
+ <h2 id="navegadores">Configuración de <em>cookies</em> para los navegadores más polulares</h2>
51
+ <p>
52
+ A continuación le indicamos cómo acceder a una <em>cookie</em> determinada del navegador <b>Chrome</b>. Nota: estos pasos pueden variar en función de la versión del navegador:
53
+ <ol>
54
+ <li>Vaya a Configuración o Preferencias mediante el menú Archivo o bien pinchando el icono de personalización que aparece arriba a la derecha.</li>
55
+ <li>Verá diferentes secciones, pinche la opción <em>Mostrar opciones avanzadas</em>.</li>
56
+ <li>Vaya a <em>Privacidad</em>, <em>Configuración de contenido</em>.</li>
57
+ <li>Seleccione <em>Todas las <em>cookies</em> y los datos de sitios</em>.</li>
58
+ <li>Aparecerá un listado con todas las <em>cookies</em> ordenadas por dominio. Para que le sea más fácil encontrar las <em>cookies</em> de un determinado dominio introduzca parcial o totalmente la dirección en el campo <em>Buscar cookies</em>.</li>
59
+ <li>Tras realizar este filtro aparecerán en pantalla una o varias líneas con las <em>cookies</em> de la web solicitada. Ahora sólo tiene que seleccionarla y pulsar la <em>X</em> para proceder a su eliminación.</li>
60
+ </ol>
61
+ </p>
62
+ <p>
63
+ Para acceder a la configuración de <em>cookies</em> del navegador <b>Internet Explorer</b> siga estos pasos (pueden variar en función de la versión del navegador):
64
+ <ol>
65
+ <li>Vaya a <em>Herramientas</em>, <em>Opciones de Internet</em></li>
66
+ <li>Haga click en <em>Privacidad</em>.</li>
67
+ <li>Mueva el deslizador hasta ajustar el nivel de privacidad que desee.</li>
68
+ </ol>
69
+ </p>
70
+ <p>
71
+ Para acceder a la configuración de <em>cookies</em> del navegador <b>Firefox</b> siga estos pasos (pueden variar en función de la versión del navegador):
72
+ <ol>
73
+ <li>Vaya a <em>Opciones</em> o <em>Preferencias</em> según su sistema operativo.</li>
74
+ <li>Haga click en <em>Privacidad</em>.</li>
75
+ <li>En <em>Historial</em> elija <em>Usar una configuración personalizada para el historial</em>.</li>
76
+ <li>Ahora verá la opción <em>Aceptar cookies</em>, puede activarla o desactivarla según sus preferencias.</li>
77
+ </ol>
78
+ </p>
79
+ <p>
80
+ Para acceder a la configuración de <em>cookies</em> del navegador <b>Safari para OSX</b> siga estos pasos (pueden variar en función de la versión del navegador):
81
+ <ol>
82
+ <li>Vaya a <em>Preferencias</em>, luego <em>Privacidad</em>.</li>
83
+ <li>En este lugar verá la opción <em>Bloquear cookies</em> para que ajuste el tipo de bloqueo que desea realizar.</li>
84
+ </ol>
85
+ </p>
86
+ <p>
87
+ Para acceder a la configuración de <em>cookies</em> del navegador <b>Safari para iOS</b> siga estos pasos (pueden variar en función de la versión del navegador):
88
+ <ol>
89
+ <li>Vaya a <em>Ajustes</em>, luego <em>Safari</em>.</li>
90
+ <li>Vaya a <em>Privacidad y Seguridad</em>, verá la opción <em>Bloquear cookies</em> para que ajuste el tipo de bloqueo que desea realizar.</li>
91
+ </ol>
92
+ </p>
93
+ <p>
94
+ Para acceder a la configuración de <em>cookies</em> del navegador para dispositivos <b>Android</b> siga estos pasos (pueden variar en función de la versión del navegador):
95
+ <ol>
96
+ <li>Ejecute el navegador y pulse la tecla <em>Menú</em>, luego <em>Ajustes</em>.</li>
97
+ <li>Vaya a <em>Seguridad y Privacidad</em>, verá la opción <em>Aceptar cookies</em> para que active o desactive la casilla.</li>
98
+ </ol>
99
+ </p>
100
+ <p>
101
+ Para acceder a la configuración de <em>cookies</em> del navegador para dispositivos <b>Windows Phone</b> siga estos pasos (pueden variar en función de la versión del navegador):
102
+ <ol>
103
+ <li>Abra <em>Internet Explorer</em>, luego <em>Más</em>, luego <em>Configuración</em></li>
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/" target="_blank">plugin para WordPress</a> creado por Carlos Doral (<a href="http://webartesanal.com" target="_blank">webartesanal.com</a>)
109
+ </p>
trunk/html/front/politica.html ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <h1>Política de cookies</h1>
2
+ <p>
3
+ Una <em>cookie</em> es un pequeño fichero de texto que se almacena en su navegador cuando visita casi cualquier página web. Su utilidad es que la web sea capaz de recordar su visita cuando vuelva a navegar por esa página. Las <em>cookies</em> suelen almacenar información de carácter técnico, preferencias personales, personalización de contenidos, estadísticas de uso, enlaces a redes sociales, acceso a cuentas de usuario, etc. El objetivo de la <em>cookie</em> es adaptar el contenido de la web a su perfil y necesidades, sin <em>cookies</em> los servicios ofrecidos por cualquier página se verían mermados notablemente. Si desea consultar más información sobre qué son las <em>cookies</em>, qué almacenan, cómo eliminarlas, desactivarlas, etc., <a href="{enlace_mas_informacion}">le rogamos se dirija a este enlace.</a>
4
+ </p>
5
+ <h2>Cookies utilizadas en este sitio web</h2>
6
+ <p>
7
+ Siguiendo las directrices de la Agencia Española de Protección de Datos procedemos a detallar el uso de <em>cookies</em> que hace esta web con el fin de informarle con la máxima exactitud posible.
8
+ </p>
9
+ <p>
10
+ Este sitio web utiliza las siguientes <strong>cookies propias</strong>:
11
+ <ul>
12
+ <li>Cookies de sesión, para garantizar que los usuarios que escriban comentarios en el blog sean humanos y no aplicaciones automatizadas. De esta forma se combate el <em>spam</em>.</li>
13
+ </ul>
14
+ </p>
15
+ <p>
16
+ Este sitio web utiliza las siguientes <strong>cookies de terceros</strong>:
17
+ <ul>
18
+ <li>Google Analytics: Almacena <em>cookies</em> para poder elaborar estadísticas sobre el tráfico y volumen de visitas de esta web. Al utilizar este sitio web está consintiendo el tratamiento de información acerca de usted por Google. Por tanto, el ejercicio de cualquier derecho en este sentido deberá hacerlo comunicando directamente con Google.</li>
19
+ <li>Redes sociales: Cada red social utiliza sus propias <em>cookies</em> para que usted pueda pinchar en botones del tipo <em>Me gusta</em> o <em>Compartir</em>.</li>
20
+ </ul>
21
+ </p>
22
+ <h2>Desactivación o eliminación de cookies</h2>
23
+ <p>
24
+ En cualquier momento podrá ejercer su derecho de desactivación o eliminación de cookies de este sitio web. Estas acciones se realizan de forma diferente en función del navegador que esté usando. <a href="{enlace_mas_informacion}#navegadores">Aquí le dejamos una guía rápida para los navegadores más populares</a>.
25
+ </p>
26
+ <h2>Notas adicionales</h2>
27
+ <p>
28
+ <ul>
29
+ <li>
30
+ Ni esta web ni sus representantes legales se hacen responsables ni del contenido ni de la veracidad de las políticas de privacidad que puedan tener los terceros mencionados en esta política de <em>cookies</em>.
31
+ </li>
32
+ <li>
33
+ Los navegadores web son las herramientas encargadas de almacenar las <em>cookies</em> y desde este lugar debe efectuar su derecho a eliminación o desactivación de las mismas. Ni esta web ni sus representantes legales pueden garantizar la correcta o incorrecta manipulación de las <em>cookies</em> por parte de los mencionados navegadores.
34
+ </li>
35
+ <li>
36
+ En algunos casos es necesario instalar <em>cookies</em> para que el navegador no olvide su decisión de no aceptación de las mismas.
37
+ </li>
38
+ <li>
39
+ En el caso de las <em>cookies</em> de Google Analytics, esta empresa almacena las <em>cookies</em> en servidores ubicados en Estados Unidos y se compromete a no compartirla con terceros, excepto en los casos en los que sea necesario para el funcionamiento del sistema o cuando la ley obligue a tal efecto. Según Google no guarda su dirección IP. Google Inc. es una compañía adherida al Acuerdo de Puerto Seguro que garantiza que todos los datos transferidos serán tratados con un nivel de protección acorde a la normativa europea. Puede consultar información detallada a este respecto <a href="http://safeharbor.export.gov/companyinfo.aspx?id=16626" target="_blank">en este enlace</a>. Si desea información sobre el uso que Google da a las cookies <a href="https://developers.google.com/analytics/devguides/collection/analyticsjs/cookie-usage?hl=es&csw=1" target="_blank">le adjuntamos este otro enlace</a>.
40
+ </li>
41
+ <li>
42
+ Para cualquier duda o consulta acerca de esta política de <em>cookies</em> no dude en comunicarse con nosotros a través de la sección de contacto.</a>
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/" target="_blank">plugin para WordPress</a> creado por Carlos Doral (<a href="http://webartesanal.com" target="_blank">webartesanal.com</a>)
48
+ </p>
trunk/html/front/principal.js ADDED
@@ -0,0 +1,206 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * jQuery Cookie Plugin v1.3.1
3
+ * https://github.com/carhartl/jquery-cookie
4
+ *
5
+ * Copyright 2013 Klaus Hartl
6
+ * Released under the MIT license
7
+ */
8
+ (function (factory) {
9
+ if (typeof define === 'function' && define.amd) {
10
+ // AMD. Register as anonymous module.
11
+ define(['jquery'], factory);
12
+ } else {
13
+ // Browser globals.
14
+ factory(jQuery);
15
+ }
16
+ }(function ($) {
17
+
18
+ var pluses = /\+/g;
19
+
20
+ function decode(s) {
21
+ if (config.raw) {
22
+ return s;
23
+ }
24
+ try {
25
+ // If we can't decode the cookie, ignore it, it's unusable.
26
+ return decodeURIComponent(s.replace(pluses, ' '));
27
+ } catch(e) {}
28
+ }
29
+
30
+ function decodeAndParse(s) {
31
+ if (s.indexOf('"') === 0) {
32
+ // This is a quoted cookie as according to RFC2068, unescape...
33
+ s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
34
+ }
35
+
36
+ s = decode(s);
37
+
38
+ try {
39
+ // If we can't parse the cookie, ignore it, it's unusable.
40
+ return config.json ? JSON.parse(s) : s;
41
+ } catch(e) {}
42
+ }
43
+
44
+ var config = $.cookie = function (key, value, options) {
45
+
46
+ // Write
47
+ if (value !== undefined) {
48
+ options = $.extend({}, config.defaults, options);
49
+
50
+ if (typeof options.expires === 'number') {
51
+ var days = options.expires, t = options.expires = new Date();
52
+ t.setDate(t.getDate() + days);
53
+ }
54
+
55
+ value = config.json ? JSON.stringify(value) : String(value);
56
+
57
+ return (document.cookie = [
58
+ config.raw ? key : encodeURIComponent(key),
59
+ '=',
60
+ config.raw ? value : encodeURIComponent(value),
61
+ options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
62
+ options.path ? '; path=' + options.path : '',
63
+ options.domain ? '; domain=' + options.domain : '',
64
+ options.secure ? '; secure' : ''
65
+ ].join(''));
66
+ }
67
+
68
+ // Read
69
+
70
+ var result = key ? undefined : {};
71
+
72
+ // To prevent the for loop in the first place assign an empty array
73
+ // in case there are no cookies at all. Also prevents odd result when
74
+ // calling $.cookie().
75
+ var cookies = document.cookie ? document.cookie.split('; ') : [];
76
+
77
+ for (var i = 0, l = cookies.length; i < l; i++) {
78
+ var parts = cookies[i].split('=');
79
+ var name = decode(parts.shift());
80
+ var cookie = parts.join('=');
81
+
82
+ if (key && key === name) {
83
+ result = decodeAndParse(cookie);
84
+ break;
85
+ }
86
+
87
+ // Prevent storing a cookie that we couldn't decode.
88
+ if (!key && (cookie = decodeAndParse(cookie)) !== undefined) {
89
+ result[name] = cookie;
90
+ }
91
+ }
92
+
93
+ return result;
94
+ };
95
+
96
+ config.defaults = {};
97
+
98
+ $.removeCookie = function (key, options) {
99
+ if ($.cookie(key) !== undefined) {
100
+ // Must not alter options, thus extending a fresh object...
101
+ $.cookie(key, '', $.extend({}, options, { expires: -1 }));
102
+ return true;
103
+ }
104
+ return false;
105
+ };
106
+
107
+ }));
108
+
109
+ /* ======================================================================================
110
+ @author Carlos Doral Pérez (http://webartesanal.com)
111
+ @version 0.19
112
+ @copyright Copyright &copy; 2013-2014 Carlos Doral Pérez, All Rights Reserved
113
+ License: GPLv2 or later
114
+ ====================================================================================== */
115
+
116
+ //
117
+ //
118
+ //
119
+ var cdp_cookie = {
120
+
121
+ // vars
122
+ _id_cookie: 'cdp-cookies-plugin-wp',
123
+
124
+ //
125
+ // Compruebo si ya existe la cookie si es visitante nuevo.
126
+ //
127
+ // Modif: 08-ene-2014. Compruebo primero si existe la cookie antes del contenido de la misma
128
+ //
129
+ ya_existe_cookie: function _ya_existe_cookie() {
130
+ if( jQuery.cookie( cdp_cookie._id_cookie ) != null )
131
+ return jQuery.cookie( cdp_cookie._id_cookie ) == 'cdp';
132
+ return false;
133
+ },
134
+
135
+ // Guardo cookie
136
+ poner_cookie: function _poner_cookie() {
137
+ return jQuery.cookie( cdp_cookie._id_cookie, 'cdp', { expires: 365, path: '/' } );
138
+ },
139
+
140
+ // Eliminar cookie
141
+ eliminar: function _eliminar() {
142
+ return jQuery.removeCookie( cdp_cookie._id_cookie );
143
+ },
144
+
145
+ // Inicializacion
146
+ iniciar: function _iniciar() {
147
+ // Solapa
148
+ jQuery( '.cdp-cookies-solapa' ).click( function() {
149
+ cdp_cookie.mostrar_aviso();
150
+ } );
151
+
152
+ // Aceptar
153
+ jQuery( '.cdp-cookies-boton-cerrar' ).click( function() {
154
+ cdp_cookie.poner_cookie();
155
+ cdp_cookie.ocultar_aviso();
156
+ } );
157
+ },
158
+
159
+ // Muestra aviso
160
+ mostrar_aviso: function _mostrar_aviso( de_golpe ) {
161
+ if( de_golpe )
162
+ {
163
+ jQuery( '.cdp-cookies-texto' ).attr( 'class', 'cdp-cookies-texto cdp-mostrar' );
164
+ jQuery( '.cdp-cookies-solapa' ).attr( 'class', 'cdp-cookies-solapa cdp-ocultar' );
165
+ }
166
+ else
167
+ {
168
+ jQuery( '.cdp-cookies-texto' ).attr( 'class', 'cdp-cookies-texto cdp-animacion-arriba' );
169
+ jQuery( '.cdp-cookies-solapa' ).attr( 'class', 'cdp-cookies-solapa cdp-animacion-abajo' );
170
+ }
171
+ },
172
+
173
+ // Oculta aviso
174
+ ocultar_aviso: function _ocultar_aviso( de_golpe ) {
175
+ if( de_golpe )
176
+ {
177
+ jQuery( '.cdp-cookies-texto' ).attr( 'class', 'cdp-cookies-texto cdp-ocultar' );
178
+ jQuery( '.cdp-cookies-solapa' ).attr( 'class', 'cdp-cookies-solapa cdp-mostrar' );
179
+ }
180
+ else
181
+ {
182
+ jQuery( '.cdp-cookies-texto' ).attr( 'class', 'cdp-cookies-texto cdp-animacion-abajo' );
183
+ jQuery( '.cdp-cookies-solapa' ).attr( 'class', 'cdp-cookies-solapa cdp-animacion-arriba' );
184
+ }
185
+ },
186
+
187
+ //
188
+ comportamiento: function _comportamiento() {
189
+ return cdp_cookies_info.comportamiento;
190
+ }
191
+ };
192
+
193
+ //
194
+ //
195
+ //
196
+ jQuery( document ).ready( function( $ )
197
+ {
198
+ // Inicialización
199
+ cdp_cookie.iniciar();
200
+
201
+ // Si ya hay cookie retorno
202
+ if( cdp_cookie.ya_existe_cookie() )
203
+ cdp_cookie.ocultar_aviso( true );
204
+ else
205
+ cdp_cookie.mostrar_aviso( true );
206
+ } );
trunk/lib/lib.php ADDED
@@ -0,0 +1,247 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+
4
+ /* ======================================================================================
5
+ @author Carlos Doral Pérez (//webartesanal.com)
6
+ @version 0.15
7
+ @copyright Copyright &copy; 2013-2014 Carlos Doral Pérez, All Rights Reserved
8
+ License: GPLv2 or later
9
+ ====================================================================================== */
10
+
11
+ /**
12
+ *
13
+ */
14
+ class cdp_cookies_error extends Exception
15
+ {
16
+ }
17
+
18
+ /**
19
+ *
20
+ */
21
+ class cdp_cookies_error_nonce extends cdp_cookies_error
22
+ {
23
+ /**
24
+ *
25
+ */
26
+ function __construct()
27
+ {
28
+ parent::__construct( "Se ha producido un error de seguridad en este plugin" );
29
+ }
30
+ }
31
+
32
+ /**
33
+ *
34
+ * Utilidad log
35
+ *
36
+ * Actualiz:
37
+ *
38
+ * 10-oct-2013 No arroja excepciones si no puede escribir en el archivo
39
+ * 03-may-2013 Permite objetos en el metodo de array
40
+ * 15-feb-2013 Adaptación a WP
41
+ * 18-sep-2012 Cambio en los defines
42
+ * 04-sep-2012 Renova y convertido a estático
43
+ * 23-may-2012 Alerta de programación
44
+ * 15-may-2012 Hora en formato 24h
45
+ * 09-may-2012 Añado pon_sql
46
+ * 20-mar-2012
47
+ *
48
+ * @copyright Carlos Doral Pérez
49
+ * @version 0.42
50
+ * @author Carlos Doral Pérez
51
+ *
52
+ */
53
+ class cdp_cookies_log
54
+ {
55
+ /**
56
+ *
57
+ */
58
+ static function pon( $texto )
59
+ {
60
+ global $config;
61
+ if( !CDP_COOKIES_LOG_ACTIVO )
62
+ return;
63
+ if( ( $fi = @fopen( CDP_COOKIES_ARCHIVO_LOG, 'a' ) ) === false )
64
+ {
65
+ if( !@chmod( CDP_COOKIES_ARCHIVO_LOG, 0777 ) )
66
+ return;
67
+ if( ( $fi = @fopen( CDP_COOKIES_ARCHIVO_LOG, 'a' ) ) === false )
68
+ return;
69
+ }
70
+ fwrite( $fi, '[' . date( 'Y-m-d H:i:s' ) . '] ' . $texto . "\n" );
71
+ fclose( $fi );
72
+ }
73
+
74
+ /**
75
+ * Logea valores de un array asociativo
76
+ */
77
+ static function pon_array( $array, $titulo )
78
+ {
79
+ if( is_object( $array ) )
80
+ $array = ( array )$array;
81
+ $str = "//\n// ARRAY $titulo\n";
82
+ if( is_array( $array ) && count( $array ) > 0 )
83
+ {
84
+ foreach( $array as $k => $v )
85
+ $str .= "[$k] = $v\n";
86
+ }
87
+ else
88
+ {
89
+ $str .= "-ninguno-\n";
90
+ }
91
+ self::pon( $str );
92
+ }
93
+
94
+ /**
95
+ * Logea el array $_POST
96
+ */
97
+ static function post()
98
+ {
99
+ self::pon_array( isset( $_POST ) ? $_POST : null, 'POST' );
100
+ }
101
+
102
+ /**
103
+ * Logea el array $_GET
104
+ */
105
+ static function get()
106
+ {
107
+ self::pon_array( isset( $_GET ) ? $_GET : null, 'GET' );
108
+ }
109
+ }
110
+
111
+ /**
112
+ *
113
+ * Utilidad para dibujar fragmentos HTML
114
+ *
115
+ * Creada: 18-jun-2013
116
+ *
117
+ * Modif:
118
+ *
119
+ * @copyright Carlos Doral Pérez
120
+ * @version 0.1
121
+ * @author Carlos Doral Pérez
122
+ *
123
+ */
124
+ class cdp_cookies_html
125
+ {
126
+ /**
127
+ *
128
+ */
129
+ static function tags( $atributos = null )
130
+ {
131
+ if( $atributos == null )
132
+ $atributos = array();
133
+ $tags = '';
134
+ foreach( $atributos as $k => $v )
135
+ {
136
+ if( ( trim( $k ) == 'style' ) && is_array( $v ) )
137
+ {
138
+ $t = array();
139
+ foreach( $v as $a => $b )
140
+ $t[] = "$a:$b";
141
+ $v = implode( ';', $t );
142
+ }
143
+ $tags .= " $k=\"$v\"";
144
+ }
145
+ return $tags;
146
+ }
147
+
148
+ /**
149
+ *
150
+ */
151
+ static function select
152
+ (
153
+ $nombre_post,
154
+ array $items,
155
+ $es_asoc,
156
+ $valor_seleccionado,
157
+ $atributos = null
158
+ )
159
+ {
160
+ $options = '';
161
+ foreach( $items as $k => $v )
162
+ {
163
+ if( !$es_asoc )
164
+ $v = $k;
165
+ $selected = $valor_seleccionado == $k ? ' selected' : '';
166
+ $options .= "<option value=\"$k\"$selected>$v</option>";
167
+ }
168
+ $tags = self::tags( $atributos );
169
+ return
170
+ "<select id=\"$nombre_post\" name=\"$nombre_post\" $tags>" .
171
+ $options .
172
+ "</select>";
173
+ }
174
+ }
175
+
176
+ /**
177
+ *
178
+ * Creada : 13-jun-13
179
+ *
180
+ * Modificada
181
+ * : 10-oct-13 Nuevos métodos
182
+ * : 14-jun-13
183
+ *
184
+ * Versión : 0.13
185
+ *
186
+ */
187
+ class cdp_cookies_input
188
+ {
189
+ /**
190
+ *
191
+ */
192
+ static function get( $nombre_var, $valor_sino_existe = null )
193
+ {
194
+ if( isset( $_GET ) && isset( $_GET[$nombre_var] ) )
195
+ return $_GET[$nombre_var];
196
+ return $valor_sino_existe;
197
+ }
198
+
199
+ /**
200
+ *
201
+ */
202
+ static function post( $nombre_var, $valor_sino_existe = null )
203
+ {
204
+ if( isset( $_POST ) && isset( $_POST[$nombre_var] ) )
205
+ return $_POST[$nombre_var];
206
+ return $valor_sino_existe;
207
+ }
208
+
209
+ /**
210
+ *
211
+ */
212
+ static function objeto_post( $lista_vars )
213
+ {
214
+ $obj = new stdClass();
215
+ foreach( $lista_vars as $var )
216
+ $obj->$var = self::post( $var );
217
+ return $obj;
218
+ }
219
+
220
+ /**
221
+ *
222
+ */
223
+ static function validar_array( $nombre_var, $array, $filtrar_previamente = true )
224
+ {
225
+ if( !isset( $_POST[$nombre_var] ) )
226
+ throw new cdp_cookies_error( sprintf( __( "Se requiere un valor para %s" ), $nombre_var ) );
227
+ if( $filtrar_previamente )
228
+ $_POST[$nombre_var] = sanitize_text_field( $_POST[$nombre_var] );
229
+ if( !in_array( $_POST[$nombre_var], $array ) )
230
+ throw new cdp_cookies_error( sprintf( __( "Valor incorrecto para la lista %s" ), $nombre_var ) );
231
+ }
232
+
233
+ /**
234
+ *
235
+ */
236
+ static function validar_url( $nombre_var, $filtrar_previamente = true )
237
+ {
238
+ if( !isset( $_POST[$nombre_var] ) )
239
+ throw new cdp_cookies_error( sprintf( __( "Se requiere un valor para %s" ), $nombre_var ) );
240
+ if( $filtrar_previamente )
241
+ $_POST[$nombre_var] = sanitize_text_field( $_POST[$nombre_var] );
242
+ if( !preg_match( '|^http(s?)://|i', $_POST[$nombre_var] ) )
243
+ throw new cdp_cookies_error( sprintf( __( "Valor incorrecto para la url %s" ), $nombre_var ) );
244
+ }
245
+ }
246
+
247
+ ?>
trunk/lib/plugin.php ADDED
@@ -0,0 +1,413 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /* ======================================================================================
4
+ @author Carlos Doral Pérez (//webartesanal.com)
5
+ @version 0.22
6
+ @copyright Copyright &copy; 2013-2017 Carlos Doral Pérez, All Rights Reserved
7
+ License: GPLv2 or later
8
+ ====================================================================================== */
9
+
10
+ /**
11
+ *
12
+ */
13
+ class cdp_cookies
14
+ {
15
+ //
16
+ // Para añadir una sóla vez los enlaces en la página de plugins
17
+ //
18
+ static private $nombre_plugin;
19
+
20
+ /**
21
+ *
22
+ */
23
+ static function ejecutar()
24
+ {
25
+ //
26
+ // Plugin no puede ser ejecutado directamente
27
+ //
28
+ if( !( function_exists( 'add_action' ) && defined( 'ABSPATH' ) ) )
29
+ throw new cdp_cookies_error( 'Este plugin no puede ser llamado directamente' );
30
+
31
+ //
32
+ // Ejecutando Admin
33
+ //
34
+ if( is_admin() )
35
+ {
36
+ add_filter( 'plugin_action_links', array( __CLASS__, 'enlaces_pagina_plugins' ), 10, 2 );
37
+ add_action( 'admin_menu', array( __CLASS__, 'crear_menu_admin' ) );
38
+ add_action( 'admin_enqueue_scripts', array( __CLASS__, 'cargar_archivos_admin' ) );
39
+ add_action( 'wp_ajax_guardar_config', array( __CLASS__, 'ajax_guardar_config' ) );
40
+ add_action( 'wp_ajax_crear_paginas', array( __CLASS__, 'ajax_crear_paginas' ) );
41
+ return;
42
+ }
43
+
44
+ //
45
+ // Ejecutando front
46
+ //
47
+ add_action( 'wp_enqueue_scripts', array( __CLASS__, 'cargar_archivos_front' ) );
48
+ add_action( 'wp_footer', array( __CLASS__, 'renderizar_aviso' ) );
49
+ }
50
+
51
+ /**
52
+ *
53
+ */
54
+ static function renderizar_aviso()
55
+ {
56
+ // A rellenar
57
+ $class = '';
58
+
59
+ // Posicion solapa
60
+ if( self::parametro( 'posicion_solapa' ) == 'izq' )
61
+ $class .= ' cdp-solapa-izq';
62
+ else
63
+ $class .= ' cdp-solapa-der';
64
+
65
+ // Alineación de los textos
66
+ if( self::parametro( 'alineacion' ) == 'izq' )
67
+ $class .= ' cdp-cookies-textos-izq';
68
+
69
+ // Esquema de color
70
+ $class .= ' cdp-cookies-tema-' . self::parametro( 'tema' );
71
+
72
+ // Preparo el texto
73
+ $tam_fuente = self::parametro( 'tam_fuente' );
74
+ $tam_fuente_titulo = str_replace( 'px', '', $tam_fuente ) + 3;
75
+ $estilo_texto = 'style="font-size:{tam_fuente} !important;line-height:{tam_fuente} !important"';
76
+ $estilo_titulo = 'style="font-size:{tam_fuente_titulo}px !important;line-height:{tam_fuente_titulo}px !important"';
77
+ $estilo_enlace = 'style="font-size:{tam_fuente} !important;line-height:{tam_fuente} !important"';
78
+ $texto_aviso = html_entity_decode( self::parametro( 'texto_aviso' ) );
79
+
80
+ //
81
+ $html = file_get_contents( CDP_COOKIES_DIR_HTML . 'front/aviso.html' );
82
+ $html = str_replace( '{texto_aviso}', $texto_aviso, $html );
83
+ $html = str_replace( '{estilo_texto}', $estilo_texto, $html );
84
+ $html = str_replace( '{estilo_titulo}', $estilo_titulo, $html );
85
+ $html = str_replace( '{estilo_enlace}', $estilo_enlace, $html );
86
+ $html = str_replace( '{class}', $class, $html );
87
+ $html = str_replace( '{enlace_politica}', self::parametro( 'enlace_politica' ), $html );
88
+ $html = str_replace( '{tam_fuente}', $tam_fuente, $html );
89
+ $html = str_replace( '{tam_fuente_titulo}', $tam_fuente_titulo, $html );
90
+
91
+ //
92
+ $boton = '<a href="javascript:;" class="cdp-cookies-boton-cerrar">ACEPTAR</a>';
93
+ $html = str_replace( '{boton_cerrar}', $boton, $html );
94
+
95
+ //
96
+ echo $html;
97
+ }
98
+
99
+ /**
100
+ *
101
+ */
102
+ static function enlaces_pagina_plugins( $enlaces, $archivo )
103
+ {
104
+ //
105
+ // Sólo añado enlaces a mi plugin
106
+ //
107
+ if( !self::$nombre_plugin )
108
+ self::$nombre_plugin = plugin_basename( CDP_COOKIES_DIR_RAIZ . '/plugin.php' );
109
+ if( $archivo != self::$nombre_plugin )
110
+ return $enlaces;
111
+
112
+ //
113
+ // Procedo
114
+ //
115
+ $enlace = array(
116
+ sprintf(
117
+ "<a href=\"%s\">%s</a>",
118
+ admin_url( 'tools.php?page=cdp_cookies' ),
119
+ __( 'Configuración' )
120
+ ) );
121
+ return array_merge( $enlace, $enlaces );
122
+ }
123
+
124
+ /**
125
+ *
126
+ */
127
+ static function cargar_archivos_front()
128
+ {
129
+ wp_enqueue_style( 'front-estilos', CDP_COOKIES_URL_HTML . 'front/estilos.css', false );
130
+ wp_enqueue_script( 'front-principal', CDP_COOKIES_URL_HTML . 'front/principal.js', array( 'jquery' ) );
131
+ wp_localize_script
132
+ (
133
+ 'front-principal',
134
+ 'cdp_cookies_info',
135
+ array
136
+ (
137
+ 'url_plugin' => CDP_COOKIES_URL_RAIZ . 'plugin.php',
138
+ 'url_admin_ajax' => admin_url() . 'admin-ajax.php'
139
+ )
140
+ );
141
+ }
142
+
143
+ /**
144
+ *
145
+ */
146
+ static function ajax_crear_paginas()
147
+ {
148
+ try
149
+ {
150
+ //
151
+ self::comprobar_usuario_admin();
152
+
153
+ //
154
+ if( !wp_verify_nonce( cdp_cookies_input::post( 'nonce_crear_paginas' ), 'crear_paginas' ) )
155
+ throw new cdp_cookies_error_nonce();
156
+
157
+ // Pág. mas info
158
+ $pag_info = new cdp_cookies_pagina();
159
+ $pag_info->titulo = 'Más información sobre las cookies';
160
+ $pag_info->html = file_get_contents( CDP_COOKIES_DIR_HTML . 'front/mas-informacion.html' );
161
+ if( !$pag_info->crear() )
162
+ throw new cdp_cookies_error( $pag_info->mensaje );
163
+
164
+ // importante! Guardo la url de la página info que será usada por la política
165
+ self::parametro( 'enlace_mas_informacion', $pag_info->url );
166
+
167
+ // Pág. política
168
+ $pag_pol = new cdp_cookies_pagina();
169
+ $pag_pol->titulo = 'Política de cookies';
170
+ $pag_pol->html =
171
+ str_replace
172
+ (
173
+ '{enlace_mas_informacion}',
174
+ self::parametro( 'enlace_mas_informacion' ),
175
+ file_get_contents( CDP_COOKIES_DIR_HTML . 'front/politica.html' )
176
+ );
177
+ if( !$pag_pol->crear() )
178
+ throw new cdp_cookies_error( $pag_pol->mensaje );
179
+
180
+ // Todo ok!
181
+ $resul = array( 'ok' => true, 'url_info' => $pag_info->url, 'url_politica' => $pag_pol->url );
182
+ if( $pag_pol->ya_existia || $pag_info->ya_existia )
183
+ $resul['txt'] = 'Alguna de las página ya existía y no ha sido necesario crearla';
184
+ else
185
+ $resul['txt'] = 'Páginas creadas correctamente';
186
+ echo json_encode( $resul );
187
+ }
188
+ catch( Exception $e )
189
+ {
190
+ cdp_cookies_log::pon( $e );
191
+ echo json_encode( array( 'ok' => false, 'txt' => $e->getMessage() ) );
192
+ }
193
+ exit;
194
+ }
195
+
196
+ /**
197
+ *
198
+ */
199
+ static function ajax_guardar_config()
200
+ {
201
+ try
202
+ {
203
+ //
204
+ self::comprobar_usuario_admin();
205
+
206
+ //
207
+ if( !wp_verify_nonce( cdp_cookies_input::post( 'nonce_guardar' ), 'guardar' ) )
208
+ throw new cdp_cookies_error_nonce();
209
+
210
+ //
211
+ cdp_cookies_input::validar_array( 'posicion_solapa', array( 'izq', 'der' ) );
212
+ cdp_cookies_input::validar_array( 'alineacion', array( 'izq', 'cen' ) );
213
+ cdp_cookies_input::validar_array( 'tema', array( 'gris', 'blanco', 'azul', 'verde', 'rojo' ) );
214
+ cdp_cookies_input::validar_url( 'enlace_politica' );
215
+ cdp_cookies_input::validar_url( 'enlace_mas_informacion' );
216
+ if( !cdp_cookies_input::post( 'texto_aviso' ) )
217
+ throw new cdp_cookies_error( "El texto del aviso no puede estar vacío" );
218
+ if( !preg_match( '/^[0-9]+px$/i', cdp_cookies_input::post( 'tam_fuente' ) ) )
219
+ throw new cdp_cookies_error(
220
+ "<b>Tamaño de fuente del texto</b> debe tener un valor en px, p.e: 12px"
221
+ );
222
+
223
+ //
224
+ self::parametro( 'posicion_solapa', cdp_cookies_input::post( 'posicion_solapa' ) );
225
+ self::parametro( 'alineacion', cdp_cookies_input::post( 'alineacion' ) );
226
+ self::parametro( 'tema', cdp_cookies_input::post( 'tema' ) );
227
+ self::parametro( 'enlace_politica', cdp_cookies_input::post( 'enlace_politica' ) );
228
+ self::parametro( 'enlace_mas_informacion', cdp_cookies_input::post( 'enlace_mas_informacion' ) );
229
+ self::parametro( 'texto_aviso', cdp_cookies_input::post( 'texto_aviso' ) );
230
+ self::parametro( 'tam_fuente', cdp_cookies_input::post( 'tam_fuente' ) );
231
+
232
+ //
233
+ echo json_encode( array( 'ok' => true, 'txt' => 'Configuración guardada correctamente' ) );
234
+ }
235
+ catch( Exception $e )
236
+ {
237
+ cdp_cookies_log::pon( $e );
238
+ echo json_encode( array( 'ok' => false, 'txt' => $e->getMessage() ) );
239
+ }
240
+ exit;
241
+ }
242
+
243
+ /**
244
+ *
245
+ */
246
+ static function parametro( $nombre, $valor = null )
247
+ {
248
+ //
249
+ $vdef =
250
+ array
251
+ (
252
+ 'posicion_solapa' => 'izq',
253
+ 'alineacion' => 'izq',
254
+ 'tema' => 'gris',
255
+ 'enlace_politica' => '#',
256
+ 'enlace_mas_informacion' => '#',
257
+ 'texto_aviso' => htmlspecialchars( '<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.<a href="http://wordpress.org/plugins/asesor-cookies-para-la-ley-en-espana/" class="cdp-cookies-boton-creditos" target="_blank">plugin cookies</a></p>' ),
258
+ 'tam_fuente' => '12px'
259
+ );
260
+ if( !key_exists( $nombre, $vdef ) )
261
+ throw new cdp_cookies_error( sprintf( "Parámetro desconocido: %s", $nombre ) );
262
+
263
+ // Devuelvo valor
264
+ if( $valor === null )
265
+ {
266
+ if( $nombre == 'texto_aviso' )
267
+ return stripslashes( get_option( 'cdp_cookies_' . $nombre, $vdef[$nombre] ) );
268
+ return get_option( 'cdp_cookies_' . $nombre, $vdef[$nombre] );
269
+ }
270
+
271
+ // Lo almaceno
272
+ update_option( 'cdp_cookies_' . $nombre, $valor );
273
+ }
274
+
275
+ /**
276
+ *
277
+ */
278
+ static function cargar_archivos_admin()
279
+ {
280
+ wp_enqueue_style( 'admin-estilos', CDP_COOKIES_URL_HTML . 'admin/estilos.css', false );
281
+ wp_register_script( 'admin-principal', CDP_COOKIES_URL_HTML . 'admin/principal.js', array( 'jquery' ) );
282
+ wp_enqueue_script( 'admin-principal' );
283
+ wp_localize_script(
284
+ 'admin-principal',
285
+ 'cdp_cookies_info',
286
+ array
287
+ (
288
+ 'nonce_guardar' => wp_create_nonce( 'guardar' ),
289
+ 'nonce_crear_paginas' => wp_create_nonce( 'crear_paginas' ),
290
+ 'siteurl' => site_url()
291
+ )
292
+ );
293
+ }
294
+
295
+ /**
296
+ *
297
+ */
298
+ static function comprobar_usuario_admin()
299
+ {
300
+ if( function_exists( 'current_user_can' ) )
301
+ if( function_exists( 'wp_get_current_user' ) )
302
+ if( current_user_can( 'manage_options' ) )
303
+ return;
304
+ throw new cdp_cookies_error( 'No tiene privilegios para acceder a esta página' );
305
+ }
306
+
307
+ /**
308
+ *
309
+ */
310
+ static function crear_menu_admin()
311
+ {
312
+ //
313
+ // Página configuración que cuelgue de Herramientas
314
+ //
315
+ add_submenu_page
316
+ (
317
+ 'tools.php',
318
+ 'Asesor de cookies',
319
+ 'Asesor de cookies',
320
+ 'manage_options',
321
+ 'cdp_cookies',
322
+ array( __CLASS__, 'pag_configuracion' )
323
+ );
324
+ }
325
+
326
+ /**
327
+ *
328
+ */
329
+ static function pag_configuracion()
330
+ {
331
+ require_once CDP_COOKIES_DIR_HTML . 'admin/principal.html';
332
+ }
333
+ }
334
+
335
+ /**
336
+ *
337
+ */
338
+ class cdp_cookies_pagina
339
+ {
340
+ /**
341
+ * entrada
342
+ */
343
+ public $titulo, $html;
344
+
345
+ /**
346
+ * salida
347
+ */
348
+ public $ya_existia, $url, $ok, $mensaje;
349
+
350
+ /**
351
+ *
352
+ */
353
+ function crear()
354
+ {
355
+ // Validación del título
356
+ if( !$this->titulo )
357
+ {
358
+ $this->ok = false;
359
+ $this->mensaje = 'Falta el título de la página';
360
+ return false;
361
+ }
362
+
363
+ // Compruebo si ya existe
364
+ if( $pag = get_page_by_title( $this->titulo ) )
365
+ {
366
+ // Si está en la papelera...
367
+ if( $pag->post_status == 'trash' )
368
+ {
369
+ $this->ok = false;
370
+ $this->mensaje = 'Alguna de las páginas está en la papelera, debe eliminarla primero';
371
+ return false;
372
+ }
373
+
374
+ // Todo bien...
375
+ $this->ok = true;
376
+ $this->ya_existia = true;
377
+ $this->url = get_permalink( $pag );
378
+ return true;
379
+ }
380
+
381
+ // Validación del html
382
+ if( !$this->html )
383
+ {
384
+ $this->ok = false;
385
+ $this->mensaje = 'Falta el html de la página';
386
+ return false;
387
+ }
388
+
389
+ // Me dispongo a crear la página insertando el post en BD
390
+ $p = array();
391
+ $p['post_title'] = $this->titulo;
392
+ $p['post_content'] = $this->html;
393
+ $p['post_status'] = 'publish';
394
+ $p['post_type'] = 'page';
395
+ $p['comment_status'] = 'closed';
396
+ $p['ping_status'] = 'closed';
397
+ $p['post_category'] = array( 1 );
398
+ if( !( $id = wp_insert_post( $p ) ) )
399
+ {
400
+ $this->ok = false;
401
+ $this->mensaje = "No es posible crear la página";
402
+ return false;
403
+ }
404
+
405
+ // Se ha creado la página correctamente
406
+ $this->ok = true;
407
+ $this->ya_existia = false;
408
+ $this->url = get_permalink( get_post( $id ) );
409
+ return true;
410
+ }
411
+ }
412
+
413
+ ?>
trunk/log/cdp_cookies.log ADDED
File without changes
trunk/plugin.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ Plugin Name: Asesor de Cookies
5
+ Plugin URI: //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.22
8
+ Author: Carlos Doral Pérez
9
+ Author URI: //webartesanal.com
10
+ License: GPLv2 or later
11
+ */
12
+
13
+ /* Copyright 2013-2017 Carlos Doral Pérez
14
+
15
+ This program is free software; you can redistribute it and/or modify
16
+ it under the terms of the GNU General Public License as published by
17
+ the Free Software Foundation; either version 2 of the License, or
18
+ (at your option) any later version.
19
+
20
+ This program is distributed in the hope that it will be useful,
21
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
22
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23
+ GNU General Public License for more details.
24
+
25
+ You should have received a copy of the GNU General Public License
26
+ along with this program; if not, write to the Free Software
27
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28
+
29
+ */
30
+
31
+ // Configuración y definiciones
32
+ require dirname( __FILE__ ) . '/config.php';
33
+ require dirname( __FILE__ ) . '/lib/lib.php';
34
+ require dirname( __FILE__ ) . '/lib/plugin.php';
35
+
36
+ // Lógica del plugin
37
+ try
38
+ {
39
+ cdp_cookies::ejecutar();
40
+ }
41
+ catch( cdp_cookies_error $e )
42
+ {
43
+ cdp_cookies_log::pon( $e->getMessage() );
44
+ }
45
+
46
+ ?>
trunk/readme.txt ADDED
@@ -0,0 +1,115 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === Asesor de Cookies para normativa española ===
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: 4.7.4
6
+ Stable tag: 0.22
7
+ License: GPLv2 or later
8
+
9
+ Este plugin le facilita la adaptación de su web a la política de cookies mostrando el aviso a los visitantes de su página y proporcionándole los textos legales y técnicos iniciales.
10
+
11
+ == Description ==
12
+
13
+ > ** NUEVO **
14
+ >
15
+ > Ahora el aviso es menos invasivo, en su lugar aparece una pestaña permanente que muestra u oculta el aviso.
16
+ >
17
+ > **[Para más información visite Web Artesanal, especialistas Wordpress](https://webartesanal.com/)**
18
+
19
+ El funcionamiento consiste en mostrar un mensaje cada vez que un nuevo usuario visita su web avisándole que si pulsa el botón ACEPTAR consiente la instalación de cookies en su navegador web.
20
+
21
+ Además este plugin le proporciona los textos legales y técnicos iniciales para confeccionar su política de cookies, se generan automáticamente y los puede editar si lo desea.
22
+
23
+ Características del plugin:
24
+
25
+ * Elección del estilo de la ventana del aviso, color, tamaño de fuente, etc.
26
+ * Elección de la posición de la solapa o pestaña que aparece de forma permanente.
27
+ * Creación automática de las dos páginas con los textos legales y técnicos iniciales 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.
28
+
29
+ == Screenshots ==
30
+
31
+ 1. Este es el aviso de cookies mostrado al visitante web por primera vez.
32
+ 2. Esta es la solapa flotante que aparecerá en la parte inferior de su página.
33
+ 3. Panel de configuración que permite cambiar los colores, posición del aviso, etc.
34
+
35
+ == Installation ==
36
+
37
+ 1. Descargue el plugin, descomprímalo y súbalo al directorio /wp-content/plugins/
38
+ 2. Vaya al apartado plugins y active el Asesor de Cookies.
39
+ 3. Vaya a Herramientas, Asesor de Cookies.
40
+ 4. Pinche el botón 'Generar Páginas' y luego 'Guardar'.
41
+ 5. El plugin ya está funcionando con los textos legales por defecto. Si quiere editarlos vaya a Páginas y ahí verá las dos nuevas páginas que ha creado el plugin, la de 'Política de cookies' y la de 'Más información sobre las cookies' que es totalmente técnica y no tendrá que modificar.
42
+ 6. Es conveniente que añada en su menú o en el pié de página de su web un enlace 'Política de cookies' visible que debe apuntar a la página que ha creado sobre la política de cookies.
43
+
44
+ Si lo desea, como método alternativo de instalación puede ir a la sección Plugins y hacer lo siguiente:
45
+
46
+ 1. Pulse 'Añadir nuevo'.
47
+ 2. En el buscador escriba 'asesor cookies'.
48
+ 3. Haga click en 'Instalar'.
49
+ 4. Ahora siga desde el paso 2 de la sección anterior.
50
+
51
+ == Changelog ==
52
+
53
+ = 0.22 =
54
+ * Ahora el aviso de cookies siempre aparece flotante y en la parte inferior, se eliminan opciones como ponerlo en la parte superior, añadirlo al body como parte del contenido, elección del tipo de botón (cerrar, aceptar) y otras opciones que complicaban la configuración.
55
+ * Se añade solapa permanente para mostrar el aviso de cookies en cualquier momento.
56
+ * Se elimina la opción de dar el consentimiento de forma automática, ahora el visitante siempre debe pulsar el botón ACEPTAR.
57
+
58
+ = 0.21 =
59
+ * Corregido error que hacía desaparecer los enlaces del resto de plugins.
60
+
61
+ = 0.20 =
62
+ * No se veía la ventana con algunos temas WordPress como Divi
63
+
64
+ = 0.19 =
65
+ * Se añade botón Configuración en la página de plugins para acceder directamente a la configuración del Asesor de Cookies.
66
+ * Se elimina una petición ajax al servidor por generar problemas en algunas instalaciones WP.
67
+ * Se combinan los 3 archivos JS en uno sólo para mejorar el rendimiento.
68
+ * Se arregla la previsualización que no funcionaba correctamente.
69
+ * Se resuelve problema cuando hay dos instalaciones WP en el mismo dominio y anidadas. Gracias Mikel!
70
+ * Detalles CSS
71
+
72
+ = 0.18 =
73
+ * En algunas instalaciones se producian definiciones duplicadas en traer_aviso.php. Gracias a Mikel Gutierrez por su soporte.
74
+ * Se renuevan banners.
75
+
76
+ = 0.17 =
77
+ * Errores al subir al repositorio svn.
78
+
79
+ = 0.16 =
80
+ * Errores al subir al repositorio svn.
81
+
82
+ = 0.15 =
83
+ * Validación W3C, la inclusión de CSS no validaba, gracias por avisar Julio!
84
+ * El plugin ahora funciona correctamente si el directorio de administración WP tiene protección .htaccess. Gracias a Antonio Rodríguez por avisar.
85
+ * Banner superior en admin.
86
+
87
+ = 0.14 =
88
+ * Opción a incluir un botón CERRAR o ACEPTAR en el aviso.
89
+ * Pequeños detalles Javascript para prevención de conflictos con otros plugins.
90
+ * Algunos detalles en CSS
91
+ * Inclusión de enlace al plugin
92
+
93
+ = 0.13 =
94
+ * El texto del aviso ahora es editable.
95
+ * Se puede cambiar el tamaño de fuente.
96
+ * Corregido error que aparecía cuando un usuario no administrador entraba al back de WP.
97
+
98
+ = 0.12 =
99
+ * readme.txt actualizado y capturas de pantalla.
100
+
101
+ = 0.11 =
102
+ * Versión inicial.
103
+
104
+ == Troubleshooting ==
105
+
106
+ Si este plugin no te funciona correctamente prueba a hacer lo siguiente:
107
+ * Borra el caché de tu navegador, a veces se quedan versiones antiguas de archivos CSS y JS.
108
+ * Si utilizas algún sistema de caché en tu instalación WordPress prueba a borrar dicho caché.
109
+
110
+ Si te sigue fallando puede ser porque otro plugin genere errores Javascript y esto impide el funcionamiento del Asesor de Cookies. Puedes probar a desactivar otros plugins para saber cuál está dando problemas.
111
+
112
+ **[Si tienes otros problemas intentaremos ayudarte si envías un correo desde nuestra web](//webartesanal.com/)**
113
+
114
+
115
+