1// This file handle the cookie banner and stuff related to that. 2 3var days = cookieadmin_policy.cookieadmin_days; 4 5if(typeof cookieadmin_is_consent === 'undefined'){ 6 window.cookieadmin_is_consent = {}; 7} 8var cookieadmin_allcookies = cookieadmin_policy.categorized_cookies; 9//setInterval(cookieadmin_categorize_cookies, 5000); 10 11function cookieadmin_is_obj(consentObj){ 12 try{ 13 return ( 14 consentObj !== null && 15 typeof consentObj === 'object' && 16 !Array.isArray(consentObj) && 17 Object.keys(consentObj).length > 0 18 ); 19 }catch(e){ 20 return false; 21 } 22} 23 24 25// function cookieadmin_cookie_interceptor(){ 26 27 var originalCookieDescriptor = 28 Object.getOwnPropertyDescriptor(Document.prototype, 'cookie') || 29 Object.getOwnPropertyDescriptor(document, 'cookie'); 30 var allowed_cookies = ''; 31 32 // Override document.cookie to intercept cookie setting. 33 Object.defineProperty(document, 'cookie', { 34 configurable: true, 35 enumerable: true, 36 get: function(){ 37 return originalCookieDescriptor.get.call(document); 38 }, 39 set: function(val){ 40 41 if (!val) return; 42 43 var separatorIndex = val.indexOf('='); 44 if(separatorIndex === -1) { 45 return; 46 } 47 48 var cookieName = val.substring(0, separatorIndex).trim(); 49 var cookieValue = val.substring(separatorIndex + 1).trim(); 50 51 if(cookieName === "cookieadmin_consent"){ 52 originalCookieDescriptor.set.call(document, val); 53 return; 54 } 55 56 // Set cookies which are meant to be deleted 57 if(val.includes('expires=Thu, 01 Jan 1970') || cookieValue.startsWith("deleted;")){ 58 originalCookieDescriptor.set.call(document, val); 59 return; 60 } 61 62 var cookieInfo = cookieadmin_allcookies[cookieName] || {}; 63 var category = (cookieInfo.category || 'uncategorized').toLowerCase(); 64 65 // Set necessary cookies 66 if(category == "necessary"){ 67 originalCookieDescriptor.set.call(document, val); 68 return; 69 } 70 71 if(cookieadmin_is_obj(cookieadmin_is_consent) || (Array.isArray(cookieadmin_policy['preload']) && cookieadmin_policy['preload'].length > 0)){ 72 73 var consentAction = cookieadmin_is_consent.action; 74 75 if(!consentAction){ 76 consentAction = cookieadmin_policy['preload'].reduce((a, val) => {a[val] = ''; return a;}, {}); 77 } 78 79 if(consentAction.accept || consentAction[category]){ 80 originalCookieDescriptor.set.call(document, val); 81 }else{ 82 83 var pathMatch = val.match(/path=([^;]+)/i); 84 var domainMatch = val.match(/domain=([^;]+)/i); 85 var path = pathMatch ? pathMatch[1].trim() : '/'; 86 var domain = domainMatch ? `domain=${domainMatch[1].trim()};` : ''; 87 88 var deleteString = `${cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=${path}; ${domain}`; 89 originalCookieDescriptor.set.call(document, deleteString.trim()); 90 } 91 92 }else{ 93 (cookieadmin_allcookies[cookieName] = cookieadmin_allcookies[cookieName] || {}).string = val.trim(); 94 return false; 95 } 96 97 } 98 }); 99// } 100// cookieadmin_cookie_interceptor(); 101 102 103function cookieadmin_is_cookie(name){ 104 105 if(!document.cookie) return false; 106 107 var coki = document.cookie.split(";") ; 108 109 if(name == "all"){ 110 return coki ? coki : []; 111 } 112 var nam = name + "="; 113 114 for(var i=0; i < coki.length; i++){ 115 if(coki[i].trim().indexOf(nam) == 0){ 116 try { 117 var cookie_value = coki[i].trim().split("="); 118 if(!cookie_value[1]){ 119 return false; 120 } 121 122 var decoded = decodeURIComponent(cookie_value[1]); 123 return JSON.parse(decoded); 124 } catch { 125 return false; 126 } 127 } 128 } 129 130 return false; 131} 132 133function cookieadmin_check_consent(){ 134 var cookieadmin_cookie = cookieadmin_is_cookie("cookieadmin_consent"); 135 if(!!cookieadmin_cookie){ 136 if(!!cookieadmin_cookie.consent){ 137 cookieadmin_is_consent.consent = cookieadmin_cookie.consent; 138 delete cookieadmin_cookie.consent; 139 } 140 141 cookieadmin_is_consent.action = cookieadmin_cookie; 142 } 143} 144cookieadmin_check_consent(); 145 146function cookieadmin_restore_cookies(update) { 147 148 var cookieadmin_accepted_categories = []; 149 150 if(update.accept && update.accept == "true"){ 151 152 document.querySelectorAll(".cookieadmin_toggle").forEach(function(e){ 153 key = e.children[0].id; 154 if (key.includes("cookieadmin-")) { 155 key = key.replace("cookieadmin-", ""); 156 cookieadmin_accepted_categories.push(key); 157 } 158 }); 159 160 }else if(update.reject && update.reject == "true"){ 161 return true; 162 }else{ 163 for (var [key, value] of Object.entries(update)) { 164 if(key != "consent"){ 165 cookieadmin_accepted_categories.push(key); 166 } 167 } 168 } 169 170 171 for(cookie in cookieadmin_allcookies){ 172 document.cookie = cookieadmin_allcookies[cookie].string; 173 }; 174
175 cookieadmin_accepted_categories.forEach(function(category) { 176 177 document.querySelectorAll( 178 'script[type="text/plain"][data-cookieadmin-category="' + category + '"]' 179 ).forEach(function(el) { 180 var newScript = document.createElement('script'); 181 182 // Copy attributes 183 if (el.src) { 184 newScript.src = el.src; 185 } else { 186 newScript.text = el.textContent; 187 } 188 189 if (el.defer) newScript.defer = true; 190 if (el.async) newScript.async = true; 191 192 // Copy other attributes if needed 193 ['id', 'class', 'data-name'].forEach(attr => { 194 if (el.hasAttribute(attr)) { 195 newScript.setAttribute(attr, el.getAttribute(attr)); 196 } 197 }); 198 199 el.parentNode.replaceChild(newScript, el); 200 }); 201 }); 202} 203 204function cookieadmin_set_cookie(name, value, days = 365, domain = "") { 205 if (!name || !value) return false; 206 207 if((cookieadmin_policy.is_pro != 0) && (cookieadmin_pro_vars !== 'undefined')){ 208 if(cookieadmin_pro_vars.shared_subdomain_consent && cookieadmin_pro_vars.base_domain){ 209 // Delete the cookie if exist with the subdomin 210 // Previously, cookie was set without specifying domain name, we'll not specify domain while deleting. 211 document.cookie = `cookieadmin_consent=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=${cookieadmin_policy.base_path};`; 212 domain = cookieadmin_pro_vars.base_domain; 213 } 214 } 215 216 var date = new Date(); 217 date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000); // default 1 year 218 219 var cookieString = `${encodeURIComponent(name)}=${JSON.stringify(value)};`; 220 cookieString += ` expires=${date.toUTCString()};`; 221 cookieString += ` path=${!domain ? cookieadmin_policy.base_path : '/'};`; 222 cookieString += ` SameSite=Lax;`; 223 if(cookieadmin_policy.is_ssl || window.location.protocol === 'https:'){ 224 cookieString += ` Secure;`; 225 } 226 227 // Add domain if explicitly passed 228 if (domain) { 229 cookieString += ` domain=${domain};`; 230 } 231 232 document.cookie = cookieString; 233 return true; 234} 235 236//Populates modal with consent if selected & adds found cookies 237// Only < and > are escaped: stored values pass sanitize_text_field, which can keep entities like < that must still render 238function cookieadmin_esc(str){ 239 return String(str).replace(/</g, '<').replace(/>/g, '>'); 240} 241 242function cookieadmin_populate_preference(){ 243 244 consent = cookieadmin_is_consent.action; 245 246 if(!!consent){ 247 248 if(consent.accept){ 249 document.querySelectorAll(".cookieadmin_toggle").forEach(function(e){ 250 e.children[0].checked = true; 251 }); 252 } 253 else if(consent.reject){ 254 document.querySelectorAll(".cookieadmin_toggle").forEach(function(e){ 255 e.children[0].checked = false; 256 }); 257 } 258 else{ 259 for(btn in consent){ 260 if(btn_ele = document.querySelector("#cookieadmin-" + btn)){ 261 btn_ele.checked = true; 262 } 263 } 264 } 265 //Load as per preloaded categories selected by admin 266 }else if(cookieadmin_policy['preload'] && cookieadmin_policy['preload'].length > 0){ 267 268 cookieadmin_policy['preload'].forEach(function(val){ 269 if(btn_ele = document.querySelector("#cookieadmin-" + val)){ 270 btn_ele.checked = true; 271 } 272 }); 273 } 274 275 var cookieadmin_shown = (typeof cookieadmin_shown !== "undefined") ? cookieadmin_shown : []; 276 277 if(cookieadmin_allcookies){ 278 279 var cookieadmin_filtrd = Object.keys(cookieadmin_allcookies).filter(e => !cookieadmin_shown.includes(e)); 280 281 for(c_info of cookieadmin_filtrd){ 282 283 var category_var = cookieadmin_allcookies[c_info].category; 284 285 if(!category_var){ 286 continue; 287 } 288 var card_container = document.querySelector(".cookieadmin-" + category_var.toLowerCase()); 289 290 if(!card_container){ 291 continue; 292 } 293 294 card_container.querySelector(".cookieadmin-nocookie-cat").style.display = 'none'; 295 296 var cookieadmin_exp = cookieadmin_policy.lang.session; 297 298 if( 299 !!cookieadmin_allcookies[c_info].expires 300 && cookieadmin_allcookies[c_info].expires !== "0000-00-00 00:00:00" 301 ){ 302 303 var expDate = new Date(cookieadmin_allcookies[c_info].expires.replace(' ', 'T')); 304 305 if (!isNaN(expDate.getTime())) {
306 var daysLeft = Math.ceil((expDate.getTime() - Date.now()) / (1000 * 60 * 60 * 24)); 307 308 if (daysLeft > 0) { 309 cookieadmin_exp = daysLeft +' '+ cookieadmin_policy.lang.days; 310 } 311 } 312 } 313 314 var cookieadmin_desc = cookieadmin_allcookies[c_info].description; 315 var cookieadmin_platform = cookieadmin_allcookies[c_info].platform; 316 317 // Empty description/platform rows are skipped so the card has no blank gap or "null" text 318 card_container.insertAdjacentHTML('beforeend', '<div class="cookieadmin-cookie-card"><div class="cookieadmin-cookie-header"><strong class="cookieadmin-cookie-name">'+ cookieadmin_esc(c_info.replace(/_+$/, "")) +'</strong> <span class="cookieadmin-cookie-duration"><b>'+ cookieadmin_policy.lang.duration +':</b> '+ cookieadmin_exp +'</span></div>' + (cookieadmin_desc ? '<p class="cookieadmin-cookie-description">'+ cookieadmin_esc(cookieadmin_desc) +'</p>' : '') + (cookieadmin_platform ? '<div class="cookieadmin-cookie-tags"><span class="cookieadmin-tag">' + cookieadmin_esc(cookieadmin_platform) + '</span></div>' : '') + '</div>'); 319 cookieadmin_shown.push(c_info); 320 } 321 } 322 323} 324 325function cookieadmin_toggle_overlay(){ 326 327 if(window.getComputedStyle(document.getElementsByClassName("cookieadmin_modal_overlay")[0]).display == "none"){ 328 document.getElementsByClassName("cookieadmin_modal_overlay")[0].style.display = "block"; 329 }else{ 330 document.getElementsByClassName("cookieadmin_modal_overlay")[0].style.display = "none"; 331 } 332 333} 334 335function cookieadmin_categorize_cookies(){ 336 337 if(!cookieadmin_allcookies){ 338 return; 339 } 340 341 var cookieadmin_chk_cookies = {}; 342 var cookieadmin_consent_chng = []; 343 344 for(a_cookie in cookieadmin_allcookies){ 345 if(!cookieadmin_allcookies[a_cookie].category){ 346 cookieadmin_chk_cookies[a_cookie] = cookieadmin_allcookies[a_cookie]; 347 }else if(cookieadmin_is_consent.old_action !== cookieadmin_is_consent.action && a_cookie !== "cookieadmin_consent"){ 348 document.cookie = cookieadmin_allcookies[a_cookie].string; 349 } 350 } 351 352 if(!cookieadmin_is_obj(cookieadmin_chk_cookies)){ 353 return; 354 } 355 356 /* var xhttp2 = new XMLHttpRequest(); 357 358 var data = 'action=cookieadmin_ajax_handler&cookieadmin_act=categorize_cookies&cookieadmin_security=' + cookieadmin_policy.nonce + "&cookieadmin_cookies=" + JSON.stringify(cookieadmin_chk_cookies); 359 360 xhttp2.onload = function() { 361 parsd = JSON.parse(this.responseText); 362 363 if(parsd.success){ 364 cookies = parsd.data; 365 for(coki in cookies){ 366 cookieadmin_chk_cookies[coki].name = coki; 367 if(cookies[coki].category === "un_c"){ 368 cookieadmin_chk_cookies[coki].source = "unknown"; 369 cookieadmin_chk_cookies[coki].description = "unknown"; 370 } 371 cookieadmin_allcookies[coki] = cookieadmin_chk_cookies[coki]; 372 document.cookie = cookieadmin_chk_cookies[coki].string; 373 } 374 } 375 } 376 377 xhttp2.open("POST", cookieadmin_policy.ajax_url, true); 378 xhttp2.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); 379 xhttp2.send(data); */ 380} 381 382 383document.addEventListener("DOMContentLoaded", function() { 384 385 var cookieadmin_show_reconsent = 0; 386 if(cookieadmin_policy.is_pro != 0 && cookieadmin_pro_vars !== 'undefined' && cookieadmin_pro_vars.reconsent != 0){ 387 var cookieadmin_show_reconsent = 1; 388 } 389 390 //Create overlay 391 var cookieadmin_ovrlay = document.createElement("div"); 392 cookieadmin_ovrlay.className = "cookieadmin_modal_overlay"; 393 document.body.appendChild(cookieadmin_ovrlay); 394 395 var before_consent_dispaly = new CustomEvent('cookieadmin_before_consent_display'); 396 397 // For anything that needs to be done before disaplying consent. 398 cookieadmin_policy.hide_banner = false; // initializing 399 window.dispatchEvent(before_consent_dispaly); 400 401 //Show notice or re-consent icon as needed 402 if(!cookieadmin_is_obj(cookieadmin_is_consent) && !cookieadmin_policy.hide_banner){ 403 404 if(cookieadmin_policy.cookieadmin_layout !== "popup"){ 405 document.getElementsByClassName("cookieadmin_law_container")[0].style.display = "block"; 406 }else{ 407 cookieadmin_toggle_overlay(); 408 document.getElementsByClassName("cookieadmin_cookie_modal")[0].style.display = "flex"; 409 } 410 411 /* //block cookie scripts 412 var cookieadmin_blockedScripts = [ 413 'https://www.google-analytics.com/analytics.js', 414 'https://connect.facebook.net/en_US/fbevents.js', 415 'https://www.youtube.com/iframe_api' 416 ]; 417
418 cookieadmin_blockedScripts.forEach(function(scriptUrl) { 419 var scriptTag = document.querySelector(`script[src='${scriptUrl}']`); 420 if (scriptTag) { 421 scriptTag.remove(); // Remove script if already loaded 422 } 423 }); */ 424 425 }else if(cookieadmin_show_reconsent){ 426 document.getElementsByClassName("cookieadmin_re_consent")[0].style.display = "block"; 427 428 } 429 430 //Edit Notice and Modal contents 431 432 cookieadmin_populate_preference(); 433 434 for(data in cookieadmin_policy){ 435 436 typ = 0; 437 if(data.includes("_bg_color")){ 438 d_ele = data.replace("_bg_color", ""); 439 typ = 1; 440 }else if(data.includes("_border_color")){ 441 d_ele = data.replace("_border_color", ""); 442 typ = 2; 443 }else if(data.includes("_color")){ 444 d_ele = data.replace("_color", ""); 445 typ = 3; 446 }else{ 447 d_ele = data; 448 } 449 450 d_eles = []; 451 if(document.getElementById(d_ele)){ 452 d_eles = [document.getElementById(d_ele)]; 453 } 454 if(document.getElementsByClassName(d_ele).length){ 455 d_eles = (document.getElementsByClassName(d_ele).length > 1) ? document.getElementsByClassName(d_ele) : [document.getElementsByClassName(d_ele)[0]]; 456 } 457 458 if(!!d_eles){ 459 i = 0; 460 while(i < d_eles.length){ 461 d_ele = d_eles[i]; 462 if(typ == 3){ 463 d_ele.style.color = cookieadmin_policy[data]; 464 }else if(typ == 2){ 465 d_ele.style.borderColor = cookieadmin_policy[data]; 466 }else if(typ == 1){ 467 d_ele.style.backgroundColor = cookieadmin_policy[data]; 468 }else{ 469 d_ele.innerHTML = cookieadmin_policy[data]; 470 } 471 i++; 472 } 473 } 474 } 475 476 //Add layout as class 477 if(!!cookieadmin_policy.cookieadmin_position && cookieadmin_policy.cookieadmin_layout !== "popup"){ 478 cookieadmin_policy.cookieadmin_position.split("_").forEach(function(clas){ 479 clas = "cookieadmin_" + clas; 480 document.getElementsByClassName("cookieadmin_law_container")[0].classList.add(clas); 481 }); 482 } 483 484 // Change consent layout dynamically 485 // TODO: There is a operator called optional chaining operator ?. something like this users?.[0]?.name; wont use it now just for reference 486 var cookieadmin_law_container_var = document.getElementsByClassName("cookieadmin_law_container")[0]; 487 if (!!cookieadmin_law_container_var){ 488 cookieadmin_law_container_var.classList.add("cookieadmin_" + cookieadmin_policy.cookieadmin_layout); 489 } 490 491 // Change Modal layout dynamically 492 document.getElementsByClassName("cookieadmin_cookie_modal")[0].classList.add("cookieadmin_" + cookieadmin_policy.cookieadmin_modal); 493 494 /*if(cookieadmin_policy.layout == "footer"){ 495 496 }*/ 497 498 499 // Remove modal close Button 500 if(cookieadmin_policy.cookieadmin_layout == "popup"){ 501 document.getElementsByClassName("cookieadmin_close_pref")[0].style.display = "none"; 502 } 503 504 var cookieadmin_modal_opener = null; 505 506 // Focus goes back to the reconsent/Customize button that opened the modal. 507 // focus() on a hidden opener is a no-op, which is fine. 508 function cookieadmin_return_focus(){ 509 if(cookieadmin_modal_opener){ 510 cookieadmin_modal_opener.focus(); 511 cookieadmin_modal_opener = null; 512 } 513 } 514 515 //show preference modal 516 cookieadmin_show_modal_elemnts = document.querySelectorAll(".cookieadmin_re_consent, .cookieadmin_customize_btn"); 517 cookieadmin_show_modal_elemnts.forEach(function(e){ 518 519 e.addEventListener("click", function(e){ 520 521 /*cookieadmin_is_cookie("all").forEach(function(e){ 522 c_name = e.split("=")[0].trim(); 523 if(!!cookieadmin_allcookies[c_name]){ 524 console.log(JSON.stringify(cookieadmin_allcookies[c_name])); 525 } 526 });*/ 527 528 cookieadmin_toggle_overlay(); 529 document.getElementsByClassName("cookieadmin_cookie_modal")[0].style.display = "flex"; 530 var cookieadmin_re_consent = document.getElementsByClassName("cookieadmin_re_consent")[0]; 531 if(cookieadmin_re_consent){ 532 cookieadmin_re_consent.style.display = "none"; 533 } 534 535 var cookieadmin_law_container = document.getElementsByClassName("cookieadmin_law_container")[0]; 536 if(cookieadmin_law_container){ 537 cookieadmin_law_container.style.display = "none"; 538 } 539 540 if(cookieadmin_policy["cookieadmin_modal"] == "side"){ 541 document.getElementsByClassName("cookieadmin_cookie_modal")[0].style.display = "grid"; 542 } 543
544 // Remember what opened the modal so focus can go back to it on close 545 cookieadmin_modal_opener = e.currentTarget; 546 }); 547 }); 548 549 //Save preference 550 document.querySelector(".cookieadmin_save_btn").addEventListener("click", function(){ 551 552 document.getElementsByClassName("cookieadmin_cookie_modal")[0].style.display = "none"; 553 if(cookieadmin_show_reconsent){ 554 document.getElementsByClassName("cookieadmin_re_consent")[0].style.display = "block"; 555 } 556 557 var prefer = {}; 558 559 document.querySelectorAll(".cookieadmin_toggle").forEach(function(e){ 560 if(!!e.children[0].checked){ 561 prefer[e.children[0].id.replace("cookieadmin-","")] = 'true'; 562 } 563 }); 564 565 if(Object.keys(prefer).length !== 0){ 566 var override_gpc = document.getElementById('cookieadmin-override_gpc'); 567 var is_override_gpc = false; 568 if(override_gpc && override_gpc.checked){ 569 is_override_gpc = true; 570 } 571 572 if(Object.keys(prefer).length === 3 && !is_override_gpc){ 573 let accept_btn = document.querySelectorAll(".cookieadmin_accept_btn"); 574 575 if(accept_btn.length > 0){ 576 accept_btn[accept_btn.length-1].click(); 577 } 578 579 return; 580 } 581 }else{ 582 let reject_btn = document.querySelectorAll(".cookieadmin_reject_btn"); 583 584 if(reject_btn.length > 0){ 585 reject_btn[reject_btn.length-1].click(); 586 } 587 588 return; 589 } 590 591 cookieadmin_toggle_overlay(); 592 cookieadmin_return_focus(); 593 594 cookieadmin_set_consent(prefer, days); 595 }); 596 597 598 //Accept or reject all cookies 599 cookieadmin_save_all_cookie_elemnts = document.querySelectorAll(".cookieadmin_accept_btn, .cookieadmin_reject_btn"); 600 601 cookieadmin_save_all_cookie_elemnts.forEach(function(e){ 602 603 e.addEventListener("click", function(){ 604 // console.log(e); 605 606 document.getElementsByClassName("cookieadmin_cookie_modal")[0].style.display = "none"; 607 var cookieadmin_law_container = document.getElementsByClassName("cookieadmin_law_container")[0]; 608 if(cookieadmin_law_container){ 609 cookieadmin_law_container.style.display = "none"; 610 } 611 612 var cookieadmin_re_consent = document.getElementsByClassName("cookieadmin_re_consent")[0]; 613 if(cookieadmin_re_consent){ 614 cookieadmin_re_consent.style.display = "block"; 615 } 616 617 if(e.id.includes("modal")){ 618 cookieadmin_toggle_overlay(); 619 cookieadmin_return_focus(); 620 } 621 622 var prefer2 = e.classList.contains("cookieadmin_reject_btn") ? {reject: "true"} : {accept: "true"}; 623 624 cookieadmin_set_consent(prefer2, days); 625 }); 626 }); 627 628 document.querySelectorAll(".cookieadmin_header .cookieadmin_show_pref_cookies").forEach(function(e){ 629 e.addEventListener("click", function(el){ 630 631 var tgt = el.currentTarget.id; 632 tgt = tgt.replace(/-container$/, ""); 633 634 if(el.currentTarget.classList.contains("dwn")){ 635 el.currentTarget.classList.remove("dwn"); 636 document.querySelector("."+tgt).style.display = "none"; 637 }else{ 638 el.currentTarget.classList.add("dwn"); 639 document.querySelector("."+tgt).style.display = "block"; 640 } 641 }); 642 }); 643 644 document.getElementsByClassName("cookieadmin_close_pref")[0].addEventListener("click", function(e){ 645 document.getElementsByClassName("cookieadmin_cookie_modal")[0].style.display = "none"; 646 cookieadmin_toggle_overlay(); 647 if(!cookieadmin_is_obj(cookieadmin_is_consent)){ 648 var cookieadmin_law_container = document.getElementsByClassName("cookieadmin_law_container")[0]; 649 if(cookieadmin_law_container){ 650 cookieadmin_law_container.style.display = "block"; 651 } 652 }else if(cookieadmin_show_reconsent){ 653 var cookieadmin_re_consent = document.getElementsByClassName("cookieadmin_re_consent")[0]; 654 if(cookieadmin_re_consent){ 655 cookieadmin_re_consent.style.display = "block"; 656 } 657 } 658 659 cookieadmin_return_focus(); 660 }); 661 662}); 663 664function cookieadmin_set_consent(prefrenc, days){ 665 666 if (typeof cookieadmin_pro_set_consent === "function") { 667 return cookieadmin_pro_set_consent(prefrenc, days); 668 }else{ 669 return cookieadmin_save_consent_cookie(prefrenc, days); 670 } 671} 672 673function cookieadmin_save_consent_cookie(prefrenc, days, consent_id){ 674 675 var cookieadmin_consent = prefrenc; 676 677 if(consent_id){ 678 cookieadmin_is_consent.consent = consent_id; 679 cookieadmin_consent['consent'] = consent_id; 680 } 681 682 if(!cookieadmin_is_consent.consent){ 683 cookieadmin_is_consent.consent = ""; 684 } 685 686 cookieadmin_is_consent["old_action"] = cookieadmin_is_consent.action ? c
686ookieadmin_is_consent.action : {}; 687 cookieadmin_is_consent.action = prefrenc; 688 cookieadmin_populate_preference(); 689 cookieadmin_set_cookie('cookieadmin_consent', cookieadmin_consent, days); 690 691 if (typeof cookieadmin_update_gcm === "function") { 692 cookieadmin_update_gcm(1); 693 } 694 695 if (typeof cookieadmin_pro_update_clarity_cookie === "function") { 696 cookieadmin_pro_update_clarity_cookie(); 697 } 698 699 if(!!cookieadmin_policy.reload_on_consent){ 700 location.reload(); 701 }else{ 702 cookieadmin_restore_cookies(prefrenc); 703 } 704} 705
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.