1(function( $ ) { 2 'use strict'; 3 4 const QlkCookiesPluginGDPR = { 5 6 Configuraciones : { 7 inyectarHTMLModal : true, 8 mostrarModal : true, 9 dominioCookies : location.hostname, 10 caducidadCookies : 365, 11 versionFuncionales : "1", 12 versionPublicitarias : "1", 13 codigoAnalytics : null 14 }, 15 16 getCookie : function(cname) { 17 var name = cname + "="; 18 var ca = document.cookie.split(';'); 19 for(var i = 0; i <ca.length; i++) { 20 var c = ca[i]; 21 while (c.charAt(0)==' ') { 22 c = c.substring(1); 23 } 24 if (c.indexOf(name) == 0) { 25 return c.substring(name.length,c.length); 26 } 27 } 28 return ""; 29 }, 30 31 setCookie : function(cname, cvalue, exdays, path, domain) { 32 var cookie = ""; 33 if (cname && cname.trim() && cvalue) { 34 cookie = cookie + cname + "=" + cvalue + "; samesite=Lax; secure=true;"; 35 if (domain) { 36 cookie = cookie + "; " + "domain="+ domain; 37 } 38 if (exdays) { 39 var d = new Date(); 40 d.setTime(d.getTime() + (exdays*24*60*60*1000)); 41 cookie = cookie + "; " + "expires="+ d.toGMTString(); 42 } 43 if (path) { 44 cookie = cookie + "; " + "path="+ path; 45 } 46 document.cookie = cookie; 47 } 48 }, 49 50 deleteCookie : function(cname, domain) {
51 QlkCookiesPluginGDPR.setCookie(cname, "0",-1,"/",domain); 52 }, 53 54 addCookieTypeTag : function(type, cookieType){ 55 56 let inputs = ''; 57 58 if(type != 'technical'){ 59 inputs = ` 60 <div class="label-container"> 61 <label class="radio"> 62 <input class="js-cookies-radio-h" id="cookie-type-${type}-accept" name="cookie-type-${type}" type="radio"> 63 ${qlk_cookies_frontend?.main_settings?.radio_accept_text} 64 </label> 65 <label class="radio"> 66 <input class="js-cookies-radio-h" id="cookie-type-${type}-reject" name="cookie-type-${type}" type="radio"> 67 ${qlk_cookies_frontend?.main_settings?.radio_reject_text} 68 </label> 69 </div> 70 `; 71 } 72 73 const tabOpenChecked = (cookieType?.tab_open == 'yes') ? 'checked' : ''; 74 75 return ` 76 <div class="tab"> 77 <input type="checkbox" name="accordion-${type}" id="cb-${type}" ${tabOpenChecked}/> 78 <label for="cb-${type}" class="tab__label">${cookieType?.title}</label> 79 <div class="tab__content"> 80 <p>${cookieType?.description}</p> 81 ${inputs} 82 </div> 83 </div> 84 `; 85 }, 86 87 pintarModal : function() { 88 89 const is_cookie_page_class = (qlk_cookies_frontend?.is_cookie_page) ? 'is-cookie-page' : ''; 90 91 let nodoModal = document.createElement("div"); 92 nodoModal.setAttribute("id", "qlk-cookie-modal"); 93 nodoModal.setAttribute("class", "cookie-wrapper " + is_cookie_page_class); 94 95 96 let content = 97 '<div id="qlk-cookie-main-modal">' + 98 '<span class="qlk-cookie-main-modal-header">' + 99 '<svg xmlns="http://www.w3.org/2000/svg" width="30.001" height="30.038" viewBox="0 0 30.001 30.038">' + 100 '<g id="Icon_material-outline-cookie" data-name="Icon material-outline-cookie" transform="translate(-3 -2.962)">' + 101 '<path id="Trazado_4" data-name="Trazado 4" d="M18,12.75a2.25,2.25,0,1,1-2.25-2.25A2.25,2.25,0,0,1,18,12.75Z" fill="#fff"/>' + 102 '<path id="Trazado_5" data-name="Trazado 5" d="M15,20.25A2.25,2.25,0,1,1,12.75,18,2.25,2.25,0,0,1,15,20.25Z" fill="#fff"/>' + 103 '<path id="Trazado_6" data-name="Trazado 6" d="M24,22.5A1.5,1.5,0,1,1,22.5,21,1.5,1.5,0,0,1,24,22.5Z" fill="#fff"/>' + 104 '<path id="Trazado_7" data-name="Trazado 7" d="M32.925,16.485a4.5,4.5,0,0,1-4.02-6.33,5.975,5.975,0,0,1-7.785-6.84C10.665,1.11,3,9.615,3,18a15,15,0,1,0,29.925-1.515ZM18,30A12.016,12.016,0,0,1,6,18C6,13.035,10.095,5.73,18.12,5.97A8.98,8.98,0,0,0,25.6,13.38a7.581,7.581,0,0,0,4.38,5.445A12.035,12.035,0,0,1,18,30Z" fill="#fff"/>' + 105 '</g>' + 106 '</svg>' + 107 '</span>' + 108 '<div>' + qlk_cookies_frontend?.main_settings?.main_text + '</div>' + 109 '<div class="cookies--btns">' + 110 '<button type="button" data-dismiss="qlk-cookie-modal" id="cookiesConfigurationButtonAcceptAll-h">' + qlk_cookies_frontend?.main_settings?.btn_accept_all_text + '</button>' + 111 '<button type="button" data-dismiss="qlk-cookie-modal" id="btnRejectAll">' + qlk_cookies_frontend?.main_settings?.btn_reject_text + '</button>' + 112 '<button type="button" class="qlk-cookie-setup-modal" id="cookiesSetup-h">' + qlk_cookies_frontend?.main_settings?.btn_config_text + '</button>' + 113 '</div>' + 114 '</div>'; 115 116 content += '<div id="qlk-cookie-setup-modal">' + 117 '<div>' + 118 '<span class="qlk-cookie-main-modal-header">' + 119 '<span class="qlk-cookie-setup-modal-icon">' + 120 '<svg xmlns="http://www.w3.org/2000/svg" width="30.001" height="30.038" viewBox="0 0 30.001 30.038">' + 121 '<g id="Icon_material-outline-cookie" data-name="Icon material-outline-cookie" transform="translate(-3 -2.962)">' + 122 '<path id="Trazado_4" data-name="Trazado 4" d="M18,12.75a2.25,2.25,0,1,1-2.25-2.25A2.25,2.25,0,0,1,18,12.75Z" fill="#fff"/>' + 123 '<path id="Trazado_5" data-name="Trazado 5" d="M15,20.25A2.25,2.25,0,1,1,12.75,18,2.25,2.25,0,0,1,15,20.25Z" fill="#fff"/>' + 124 '<path id="Trazado_6" data-name="Trazado 6" d="M24,22.5A1.5,1.5,0,1,1,22.5,21,1.5,1.5,0,0,1,24,22.5Z" fill="#fff"/>' + 125 '<path id="Trazado_7" data-name="Trazado 7" d="M32.925,16.485a4.5,4.5,0,0,1-4.02-6.33,5.975,5.975,0,0,1-7.785-6.84C10.665,1.11,3,9.615,3,18a15,15,0,1,0,29.925-1.515ZM18,30A12.016,12.016,0,0,1,6,18C6,13.035,10.095,5.73,18.12,5.97A8.98,8.98,0,0,0,25.6,13.38a7.581,7.581,0,0,0,4.38,5.445A12.035,12.035,0,0,1,18,30Z" fill="#fff"/>' + 126 '</g>' + 127 '</svg>' + 128 '<span class="qlk-cookie-setup-modal-title">' + qlk_cookies_frontend?.cookie_types?.title + '</span>' + 129 '</span>' +
130 '<a href="javascript:void(0)" id="cookiesBack-h"><i class="fas fa-angle-left"></i>' + qlk_cookies_frontend?.main_settings?.btn_close_text + '</a>' + 131 '</span>' + 132 '<div class="cuerpo">' + 133 '<div class="accordion">'; 134 for (const type in qlk_cookies_frontend?.cookie_types?.cookies) { 135 content += QlkCookiesPluginGDPR.addCookieTypeTag(type, qlk_cookies_frontend?.cookie_types?.cookies[type]); 136 } 137 content += '</div>' + 138 '</div>' + 139 '<div class="cookies--btns">' + 140 '<button type="button" data-dismiss="qlk-cookie-modal" id="cookiesAcceptConfig-h">' + qlk_cookies_frontend?.main_settings?.btn_accept_text + '</button>' + 141 '<button type="button" data-dismiss="qlk-cookie-modal" id="btnRejectAll">' + qlk_cookies_frontend?.main_settings?.btn_reject_all_text + '</button>' + 142 '</div>' + 143 '</div>' + 144 '</div>'; 145 146 nodoModal.innerHTML = content; 147 148 document.body.appendChild(nodoModal); 149 150 }, 151 152 controlVersiones : function(vf, vp, dom, cad) { 153 var cookieControl = QlkCookiesPluginGDPR.getCookie("cc"); 154 var dominio = (dom || QlkCookiesPluginGDPR.Configuraciones.dominioCookies); 155 156 if (cookieControl != "" && cookieControl != null){ 157 var versionCF = (vf || QlkCookiesPluginGDPR.Configuraciones.versionFuncionales); 158 var versionCP = (vp || QlkCookiesPluginGDPR.Configuraciones.versionPublicitarias); 159 var caducidad = (cad || QlkCookiesPluginGDPR.Configuraciones.caducidadCookies); 160 161 var cookieFun = QlkCookiesPluginGDPR.getCookie("vcf"); 162 if (cookieFun != "" && cookieFun != null){ 163 if (cookieFun != versionCF){ 164 if (cookieControl == "1" || cookieControl == "3"){ 165 QlkCookiesPluginGDPR.deleteCookie("cc",dominio); 166 } 167 QlkCookiesPluginGDPR.setCookie("vcf",versionCF,caducidad,"/",dominio); 168 } 169 } else { 170 QlkCookiesPluginGDPR.setCookie("vcf",versionCF,caducidad,"/",dominio); 171 } 172 173 var cookiePubli = QlkCookiesPluginGDPR.getCookie("vcp"); 174 if (cookiePubli != "" && cookiePubli != null){ 175 if (cookiePubli != versionCP){ 176 if (cookieControl == "2" || cookieControl == "3"){ 177 QlkCookiesPluginGDPR.deleteCookie("cc",dominio); 178 } 179 QlkCookiesPluginGDPR.setCookie("vcp",versionCP,caducidad,"/",dominio); 180 } 181 } else { 182 QlkCookiesPluginGDPR.setCookie("vcp",versionCP,caducidad,"/",dominio); 183 } 184 185 } else { 186 QlkCookiesPluginGDPR.deleteCookie("vcp",dominio); 187 QlkCookiesPluginGDPR.deleteCookie("vcf",dominio); 188 } 189 }, 190 191 inicializar : function(config) { 192 var configuraciones = {}; 193 if (config != undefined && config != null){ 194 configuraciones.inyectarHTMLModal = (config.inyectarHTMLModal != null && config.inyectarHTMLModal != undefined) ? config.inyectarHTMLModal : QlkCookiesPluginGDPR.Configuraciones.inyectarHTMLModal; 195 configuraciones.mostrarModal = (config.mostrarModal != null && config.mostrarModal != undefined) ? config.mostrarModal : QlkCookiesPluginGDPR.Configuraciones.mostrarModal; 196 configuraciones.dominioCookies = (config.dominioCookies || QlkCookiesPluginGDPR.Configuraciones.dominioCookies); 197 configuraciones.caducidadCookies = (config.caducidadCookies || QlkCookiesPluginGDPR.Configuraciones.caducidadCookies); 198 configuraciones.versionFuncionales = (config.versionFuncionales || QlkCookiesPluginGDPR.Configuraciones.versionFuncionales); 199 configuraciones.versionPublicitarias = (config.versionPublicitarias || QlkCookiesPluginGDPR.Configuraciones.versionPublicitarias); 200 configuraciones.codigoAnalytics = (config.codigoAnalytics || QlkCookiesPluginGDPR.Configuraciones.codigoAnalytics); 201 } else { 202 configuraciones = QlkCookiesPluginGDPR.Configuraciones; 203 } 204 205 if (configuraciones.inyectarHTMLModal === true){ 206 QlkCookiesPluginGDPR.pintarModal(); 207 }
208 QlkCookiesPluginGDPR.controlVersiones(configuraciones.versionFuncionales,configuraciones.versionPublicitarias,configuraciones.dominioCookies,configuraciones.caducidadCookies); 209 210 if ($("#qlk-cookie-setup-modal").length > 0) { 211 var cookieControl = QlkCookiesPluginGDPR.getCookie("cc"); 212 if (cookieControl != "" && cookieControl != null){ 213 var cookieMed = QlkCookiesPluginGDPR.getCookie("vca"); 214 var dom = configuraciones.dominioCookies; 215 var caducidad = configuraciones.caducidadCookies; 216 217 switch(cookieMed) { 218 case "0": 219 $("#qlk-cookie-setup-modal #cookie-type-analytics-accept").prop('checked',false); 220 $("#qlk-cookie-setup-modal #cookie-type-analytics-reject").prop('checked',true); 221 break; 222 case "1": 223 $("#qlk-cookie-setup-modal #cookie-type-analytics-accept").prop('checked',true); 224 $("#qlk-cookie-setup-modal #cookie-type-analytics-reject").prop('checked',false); 225 break; 226 default: 227 var valueMed = "0"; 228 if (cookieControl == "1" || cookieControl == "3") { 229 valueMed = "1"; 230 $("#qlk-cookie-setup-modal #cookie-type-analytics-accept").prop('checked',true); 231 $("#qlk-cookie-setup-modal #cookie-type-analytics-reject").prop('checked',false); 232 } else { 233 $("#qlk-cookie-setup-modal #cookie-type-analytics-accept").prop('checked',false); 234 $("#qlk-cookie-setup-modal #cookie-type-analytics-reject").prop('checked',true); 235 } 236 QlkCookiesPluginGDPR.setCookie("vca",valueMed,caducidad,"/",dom); 237 } 238 239 switch(cookieControl) { 240 case "0": 241 $("#qlk-cookie-setup-modal #cookie-type-functional-accept").prop('checked',false); 242 $("#qlk-cookie-setup-modal #cookie-type-functional-reject").prop('checked',true); 243 $("#qlk-cookie-setup-modal #cookie-type-advertising-accept").prop('checked',false); 244 $("#qlk-cookie-setup-modal #cookie-type-advertising-reject").prop('checked',true); 245 break; 246 case "1": 247 $("#qlk-cookie-setup-modal #cookie-type-functional-accept").prop('checked',true); 248 $("#qlk-cookie-setup-modal #cookie-type-functional-reject").prop('checked',false); 249 $("#qlk-cookie-setup-modal #cookie-type-advertising-accept").prop('checked',false); 250 $("#qlk-cookie-setup-modal #cookie-type-advertising-reject").prop('checked',true); 251 break; 252 case "2": 253 $("#qlk-cookie-setup-modal #cookie-type-functional-accept").prop('checked',false); 254 $("#qlk-cookie-setup-modal #cookie-type-functional-reject").prop('checked',true); 255 $("#qlk-cookie-setup-modal #cookie-type-advertising-accept").prop('checked',true); 256 $("#qlk-cookie-setup-modal #cookie-type-advertising-reject").prop('checked',false); 257 break; 258 case "3": 259 $("#qlk-cookie-setup-modal #cookie-type-functional-accept").prop('checked',true); 260 $("#qlk-cookie-setup-modal #cookie-type-functional-reject").prop('checked',false); 261 $("#qlk-cookie-setup-modal #cookie-type-advertising-accept").prop('checked',true); 262 $("#qlk-cookie-setup-modal #cookie-type-advertising-reject").prop('checked',false); 263 break; 264 default: 265 $("#qlk-cookie-setup-modal #cookie-type-functional-accept").prop('checked',false); 266 $("#qlk-cookie-setup-modal #cookie-type-functional-reject").prop('checked',false); 267 $("#qlk-cookie-setup-modal #cookie-type-advertising-accept").prop('checked',false); 268 $("#qlk-cookie-setup-modal #cookie-type-advertising-reject").prop('checked',false); 269 if (configuraciones.mostrarModal === true){ 270 $("#qlk-cookie-modal").show(); 271 } 272 } 273 274 QlkCookiesPluginGDPR.validateSetupModalAcceptAllBtn(); 275 276 } else { 277 $("#qlk-cookie-setup-modal #cookie-type-functional-accept").prop('checked',false); 278 $("#qlk-cookie-setup-modal #cookie-type-functional-reject").prop('checked',false); 279 $("#qlk-cookie-setup-modal #cookie-type-analytics-accept").prop('checked',false); 280 $("#qlk-cookie-setup-modal #cookie-type-analytics-reject").prop('checked',fal
280se); 281 $("#qlk-cookie-setup-modal #cookie-type-advertising-accept").prop('checked',false); 282 $("#qlk-cookie-setup-modal #cookie-type-advertising-reject").prop('checked',false); 283 $('#qlk-cookie-setup-modal #cookiesAcceptConfig-h').attr("disabled", true); 284 if (configuraciones.mostrarModal === true){ 285 $("#qlk-cookie-modal").show(); 286 } 287 } 288 } 289 290 QlkCookiesPluginGDPR.initActions(configuraciones); 291 292 }, 293 initActions : function(configuraciones) { 294 $("body").on("click", "#qlk-cookie-modal #cookiesConfigurationButtonAcceptAll-h", function () { 295 var dom = configuraciones.dominioCookies; 296 var caducidad = configuraciones.caducidadCookies; 297 QlkCookiesPluginGDPR.setCookie("cc","3",caducidad,"/",dom); 298 QlkCookiesPluginGDPR.setCookie("vca","1",caducidad,"/",dom); 299 $("#qlk-cookie-setup-modal #cookie-type-functional-accept").prop('checked',true); 300 $("#qlk-cookie-setup-modal #cookie-type-functional-reject").prop('checked',false); 301 $("#qlk-cookie-setup-modal #cookie-type-analytics-accept").prop('checked',true); 302 $("#qlk-cookie-setup-modal #cookie-type-analytics-reject").prop('checked',false); 303 $("#qlk-cookie-setup-modal #cookie-type-advertising-accept").prop('checked',true); 304 $("#qlk-cookie-setup-modal #cookie-type-advertising-reject").prop('checked',false); 305 $('#qlk-cookie-setup-modal #cookiesAcceptConfig-h').attr("disabled", true); 306 307 QlkCookiesPluginGDPR.validateAnalyticsCookie(configuraciones); 308 309 $("#qlk-cookie-modal").hide(); 310 }); 311 312 $("body").on("click", "#qlk-cookie-modal #btnRejectAll", function () { 313 var dom = configuraciones.dominioCookies; 314 var caducidad = configuraciones.caducidadCookies; 315 QlkCookiesPluginGDPR.setCookie("cc","0",caducidad,"/",dom); 316 QlkCookiesPluginGDPR.setCookie("vca","0",caducidad,"/",dom); 317 $("#qlk-cookie-setup-modal #cookie-type-functional-accept").prop('checked',false); 318 $("#qlk-cookie-setup-modal #cookie-type-functional-reject").prop('checked',true); 319 $("#qlk-cookie-setup-modal #cookie-type-analytics-accept").prop('checked',false); 320 $("#qlk-cookie-setup-modal #cookie-type-analytics-reject").prop('checked',true); 321 $("#qlk-cookie-setup-modal #cookie-type-advertising-accept").prop('checked',false); 322 $("#qlk-cookie-setup-modal #cookie-type-advertising-reject").prop('checked',true); 323 324 QlkCookiesPluginGDPR.validateAnalyticsCookie(configuraciones); 325 326 // const disableAnalytics = "ga-disable-" + configuraciones.codigoAnalytics; 327 // window[disableAnalytics] = true; 328 329 $("#qlk-cookie-modal").hide(); 330 }); 331 332 $("body").on("click", "#qlk-cookie-modal #cookiesAcceptConfig-h", function () { 333 var checkFun = $("#qlk-cookie-setup-modal #cookie-type-functional-accept").is(':checked'); 334 var checkMed = $("#qlk-cookie-setup-modal #cookie-type-analytics-accept").is(':checked'); 335 var checkPubli = $("#qlk-cookie-setup-modal #cookie-type-advertising-accept").is(':checked'); 336 var dom = configuraciones.dominioCookies; 337 var caducidad = configuraciones.caducidadCookies; 338 var valueControl = "0"; 339 if (checkFun && checkPubli){ 340 valueControl = "3"; 341 } else if (checkPubli){ 342 valueControl = "2"; 343 } else if (checkFun){ 344 valueControl = "1"; 345 } 346 var valueMed = "0"; 347 if (checkMed){ 348 valueMed = "1"; 349 } 350 var cookieControl = QlkCookiesPluginGDPR.getCookie("cc");
351 if ((cookieControl == "2" || cookieControl == "3") && !checkPubli){ 352 var rnd = Math.random(); 353 var ur = escape(document.location.href); 354 var js = document.createElement('script'); 355 js.src = "https://es.wtp101.com/pixel?id=3c944175b2abdb8f&rnd=" + rnd + "&ur=" + ur; 356 document.getElementsByTagName('body')[0].appendChild(js); 357 } 358 // if (configuraciones.codigoAnalytics != null){ 359 // var disableAnalytics = "ga-disable-" + configuraciones.codigoAnalytics; 360 // if (!checkMed){ 361 // window[disableAnalytics] = true; 362 // } else { 363 // window[disableAnalytics] = false; 364 // } 365 // } 366 QlkCookiesPluginGDPR.setCookie("cc",valueControl,caducidad,"/",dom); 367 QlkCookiesPluginGDPR.setCookie("vca",valueMed,caducidad,"/",dom); 368 369 QlkCookiesPluginGDPR.validateAnalyticsCookie(configuraciones); 370 371 $("#qlk-cookie-modal").hide(); 372 }); 373 374 $("#qlk-cookie-setup-modal .js-cookies-radio-h").change(function() { 375 QlkCookiesPluginGDPR.validateSetupModalAcceptAllBtn(); 376 }); 377 378 $("#qlk-cookie-modal .qlk-cookie-setup-modal").click(function(){ 379 QlkCookiesPluginGDPR.activateSetupModal(); 380 }); 381 382 $("#qlk-cookie-modal #cookiesBack-h").click(function(){ 383 QlkCookiesPluginGDPR.activateMainModal(); 384 }); 385 }, 386 validateSetupModalAcceptAllBtn : function(){ 387 if ( 388 $("input[name=cookie-type-functional]").is(":checked") && 389 $("input[name=cookie-type-analytics]").is(":checked") && 390 $("input[name=cookie-type-advertising]").is(":checked") 391 ) { 392 $('#qlk-cookie-setup-modal #cookiesAcceptConfig-h').attr("disabled", false); 393 } else { 394 $('#qlk-cookie-setup-modal #cookiesAcceptConfig-h').attr("disabled", true); 395 } 396 }, 397 activateSetupModal : function(){ 398 $("#qlk-cookie-main-modal").hide(); 399 $("#qlk-cookie-setup-modal").show(); 400 }, 401 activateMainModal : function(){ 402 $("#qlk-cookie-setup-modal").hide(); 403 $("#qlk-cookie-main-modal").show(); 404 }, 405 validateAnalyticsCookie : function(configuraciones){ 406 if(configuraciones.codigoAnalytics){ 407 const analyticsCookie = QlkCookiesPluginGDPR.getCookie("vca"); 408 const disableAnalytics = "ga-disable-" + configuraciones.codigoAnalytics; 409 if (analyticsCookie && analyticsCookie == "0"){ 410 window[disableAnalytics] = true; 411 } else { 412 window[disableAnalytics] = false; 413 } 414 } 415 } 416 } 417 418 $(document).ready(function(){ 419 QlkCookiesPluginGDPR.inicializar({ 420 inyectarHTMLModal : true, 421 mostrarModal : true, 422 dominioCookies : location.hostname, 423 caducidadCookies : 365, 424 versionFuncionales : "1", 425 versionPublicitarias : "1", 426 codigoAnalytics : qlk_cookies_frontend?.main_settings?.analytics_code || null 427 }); 428 429 }); 430 431})( jQuery );
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.