PluginProbe
CookieAdmin – Cookie Consent Banner / 1.2.2
CookieAdmin – Cookie Consent Banner v1.2.2
1.2.4 1.2.3 1.2.2 1.2.1 1.2.0 1.1.9 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8
cookieadmin / assets / js / consent.js

consent.js in CookieAdmin – Cookie Consent Banner 1.2.2, at assets/js/consent.js

690 lines 21.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 // This file handle the cookie banner and stuff related to that.
2
3 var days = cookieadmin_policy.cookieadmin_days;
4
5 if(typeof cookieadmin_is_consent === 'undefined'){
6 window.cookieadmin_is_consent = {};
7 }
8 var cookieadmin_allcookies = cookieadmin_policy.categorized_cookies;
9 //setInterval(cookieadmin_categorize_cookies, 5000);
10
11 function 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
103 function 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
133 function 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 }
144 cookieadmin_check_consent();
145
146 function 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
204 function 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 function cookieadmin_populate_preference(){
238
239 consent = cookieadmin_is_consent.action;
240
241 if(!!consent){
242
243 if(consent.accept){
244 document.querySelectorAll(".cookieadmin_toggle").forEach(function(e){
245 e.children[0].checked = true;
246 });
247 }
248 else if(consent.reject){
249 document.querySelectorAll(".cookieadmin_toggle").forEach(function(e){
250 e.children[0].checked = false;
251 });
252 }
253 else{
254 for(btn in consent){
255 if(btn_ele = document.querySelector("#cookieadmin-" + btn)){
256 btn_ele.checked = true;
257 }
258 }
259 }
260 //Load as per preloaded categories selected by admin
261 }else if(cookieadmin_policy['preload'] && cookieadmin_policy['preload'].length > 0){
262
263 cookieadmin_policy['preload'].forEach(function(val){
264 if(btn_ele = document.querySelector("#cookieadmin-" + val)){
265 btn_ele.checked = true;
266 }
267 });
268 }
269
270 var cookieadmin_shown = (typeof cookieadmin_shown !== "undefined") ? cookieadmin_shown : [];
271
272 if(cookieadmin_allcookies){
273
274 var cookieadmin_filtrd = Object.keys(cookieadmin_allcookies).filter(e => !cookieadmin_shown.includes(e));
275
276 for(c_info of cookieadmin_filtrd){
277
278 var category_var = cookieadmin_allcookies[c_info].category;
279
280 if(!category_var){
281 continue;
282 }
283 var card_container = document.querySelector(".cookieadmin-" + category_var.toLowerCase());
284
285 if(!card_container){
286 continue;
287 }
288
289 card_container.querySelector(".cookieadmin-nocookie-cat").style.display = 'none';
290
291 var cookieadmin_exp = cookieadmin_policy.lang.session;
292
293 if(
294 !!cookieadmin_allcookies[c_info].expires
295 && cookieadmin_allcookies[c_info].expires !== "0000-00-00 00:00:00"
296 ){
297
298 var expDate = new Date(cookieadmin_allcookies[c_info].expires.replace(' ', 'T'));
299
300 if (!isNaN(expDate.getTime())) {
301 var daysLeft = Math.ceil((expDate.getTime() - Date.now()) / (1000 * 60 * 60 * 24));
302
303 if (daysLeft > 0) {
304 cookieadmin_exp = daysLeft +' '+ cookieadmin_policy.lang.days;
305 }
306 }
307 }
308
309 card_container.innerHTML += '<div class="cookieadmin-cookie-card"> <div class="cookieadmin-cookie-header"> <strong class="cookieadmin-cookie-name">'+ c_info.replace(/_+$/, "") +'</strong> <span class="cookieadmin-cookie-duration"><b>'+ cookieadmin_policy.lang.duration +':</b> '+ cookieadmin_exp +'</span> </div> <p class="cookieadmin-cookie-description">'+ cookieadmin_allcookies[c_info].description +'</p> <div class="cookieadmin-cookie-tags"> ' + (cookieadmin_allcookies[c_info].platform ? '<span class="cookieadmin-tag">' + cookieadmin_allcookies[c_info].platform + '</span>' : "") + ' </div> </div>';
310 cookieadmin_shown.push(c_info);
311 }
312 }
313
314 }
315
316 function cookieadmin_toggle_overlay(){
317
318 if(window.getComputedStyle(document.getElementsByClassName("cookieadmin_modal_overlay")[0]).display == "none"){
319 document.getElementsByClassName("cookieadmin_modal_overlay")[0].style.display = "block";
320 }else{
321 document.getElementsByClassName("cookieadmin_modal_overlay")[0].style.display = "none";
322 }
323
324 }
325
326 function cookieadmin_categorize_cookies(){
327
328 if(!cookieadmin_allcookies){
329 return;
330 }
331
332 var cookieadmin_chk_cookies = {};
333 var cookieadmin_consent_chng = [];
334
335 for(a_cookie in cookieadmin_allcookies){
336 if(!cookieadmin_allcookies[a_cookie].category){
337 cookieadmin_chk_cookies[a_cookie] = cookieadmin_allcookies[a_cookie];
338 }else if(cookieadmin_is_consent.old_action !== cookieadmin_is_consent.action && a_cookie !== "cookieadmin_consent"){
339 document.cookie = cookieadmin_allcookies[a_cookie].string;
340 }
341 }
342
343 if(!cookieadmin_is_obj(cookieadmin_chk_cookies)){
344 return;
345 }
346
347 /* var xhttp2 = new XMLHttpRequest();
348
349 var data = 'action=cookieadmin_ajax_handler&cookieadmin_act=categorize_cookies&cookieadmin_security=' + cookieadmin_policy.nonce + "&cookieadmin_cookies=" + JSON.stringify(cookieadmin_chk_cookies);
350
351 xhttp2.onload = function() {
352 parsd = JSON.parse(this.responseText);
353
354 if(parsd.success){
355 cookies = parsd.data;
356 for(coki in cookies){
357 cookieadmin_chk_cookies[coki].name = coki;
358 if(cookies[coki].category === "un_c"){
359 cookieadmin_chk_cookies[coki].source = "unknown";
360 cookieadmin_chk_cookies[coki].description = "unknown";
361 }
362 cookieadmin_allcookies[coki] = cookieadmin_chk_cookies[coki];
363 document.cookie = cookieadmin_chk_cookies[coki].string;
364 }
365 }
366 }
367
368 xhttp2.open("POST", cookieadmin_policy.ajax_url, true);
369 xhttp2.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
370 xhttp2.send(data); */
371 }
372
373
374 document.addEventListener("DOMContentLoaded", function() {
375
376 var cookieadmin_show_reconsent = 0;
377 if(cookieadmin_policy.is_pro != 0 && cookieadmin_pro_vars !== 'undefined' && cookieadmin_pro_vars.reconsent != 0){
378 var cookieadmin_show_reconsent = 1;
379 }
380
381 //Create overlay
382 var cookieadmin_ovrlay = document.createElement("div");
383 cookieadmin_ovrlay.className = "cookieadmin_modal_overlay";
384 document.body.appendChild(cookieadmin_ovrlay);
385
386 var before_consent_dispaly = new CustomEvent('cookieadmin_before_consent_display');
387
388 // For anything that needs to be done before disaplying consent.
389 cookieadmin_policy.hide_banner = false; // initializing
390 window.dispatchEvent(before_consent_dispaly);
391
392 //Show notice or re-consent icon as needed
393 if(!cookieadmin_is_obj(cookieadmin_is_consent) && !cookieadmin_policy.hide_banner){
394
395 if(cookieadmin_policy.cookieadmin_layout !== "popup"){
396 document.getElementsByClassName("cookieadmin_law_container")[0].style.display = "block";
397 }else{
398 cookieadmin_toggle_overlay();
399 document.getElementsByClassName("cookieadmin_cookie_modal")[0].style.display = "flex";
400 }
401
402 /* //block cookie scripts
403 var cookieadmin_blockedScripts = [
404 'https://www.google-analytics.com/analytics.js',
405 'https://connect.facebook.net/en_US/fbevents.js',
406 'https://www.youtube.com/iframe_api'
407 ];
408
409 cookieadmin_blockedScripts.forEach(function(scriptUrl) {
410 var scriptTag = document.querySelector(`script[src='${scriptUrl}']`);
411 if (scriptTag) {
412 scriptTag.remove(); // Remove script if already loaded
413 }
414 }); */
415
416 }else if(cookieadmin_show_reconsent){
417 document.getElementsByClassName("cookieadmin_re_consent")[0].style.display = "block";
418
419 }
420
421 //Edit Notice and Modal contents
422
423 cookieadmin_populate_preference();
424
425 for(data in cookieadmin_policy){
426
427 typ = 0;
428 if(data.includes("_bg_color")){
429 d_ele = data.replace("_bg_color", "");
430 typ = 1;
431 }else if(data.includes("_border_color")){
432 d_ele = data.replace("_border_color", "");
433 typ = 2;
434 }else if(data.includes("_color")){
435 d_ele = data.replace("_color", "");
436 typ = 3;
437 }else{
438 d_ele = data;
439 }
440
441 d_eles = [];
442 if(document.getElementById(d_ele)){
443 d_eles = [document.getElementById(d_ele)];
444 }
445 if(document.getElementsByClassName(d_ele).length){
446 d_eles = (document.getElementsByClassName(d_ele).length > 1) ? document.getElementsByClassName(d_ele) : [document.getElementsByClassName(d_ele)[0]];
447 }
448
449 if(!!d_eles){
450 i = 0;
451 while(i < d_eles.length){
452 d_ele = d_eles[i];
453 if(typ == 3){
454 d_ele.style.color = cookieadmin_policy[data];
455 }else if(typ == 2){
456 d_ele.style.borderColor = cookieadmin_policy[data];
457 }else if(typ == 1){
458 d_ele.style.backgroundColor = cookieadmin_policy[data];
459 }else{
460 d_ele.innerHTML = cookieadmin_policy[data];
461 }
462 i++;
463 }
464 }
465 }
466
467 //Add layout as class
468 if(!!cookieadmin_policy.cookieadmin_position && cookieadmin_policy.cookieadmin_layout !== "popup"){
469 cookieadmin_policy.cookieadmin_position.split("_").forEach(function(clas){
470 clas = "cookieadmin_" + clas;
471 document.getElementsByClassName("cookieadmin_law_container")[0].classList.add(clas);
472 });
473 }
474
475 // Change consent layout dynamically
476 // TODO: There is a operator called optional chaining operator ?. something like this users?.[0]?.name; wont use it now just for reference
477 var cookieadmin_law_container_var = document.getElementsByClassName("cookieadmin_law_container")[0];
478 if (!!cookieadmin_law_container_var){
479 cookieadmin_law_container_var.classList.add("cookieadmin_" + cookieadmin_policy.cookieadmin_layout);
480 }
481
482 // Change Modal layout dynamically
483 document.getElementsByClassName("cookieadmin_cookie_modal")[0].classList.add("cookieadmin_" + cookieadmin_policy.cookieadmin_modal);
484
485 /*if(cookieadmin_policy.layout == "footer"){
486
487 }*/
488
489 if(cookieadmin_policy.cookieadmin_modal == "side"){
490 document.getElementsByClassName("cookieadmin_modal_footer")[0].style.flexDirection = "column";
491 }
492
493 // Remove modal close Button
494 if(cookieadmin_policy.cookieadmin_layout == "popup"){
495 document.getElementsByClassName("cookieadmin_close_pref")[0].style.display = "none";
496 }
497
498 //show preference modal
499 cookieadmin_show_modal_elemnts = document.querySelectorAll(".cookieadmin_re_consent, .cookieadmin_customize_btn");
500 cookieadmin_show_modal_elemnts.forEach(function(e){
501
502 e.addEventListener("click", function(e){
503
504 /*cookieadmin_is_cookie("all").forEach(function(e){
505 c_name = e.split("=")[0].trim();
506 if(!!cookieadmin_allcookies[c_name]){
507 console.log(JSON.stringify(cookieadmin_allcookies[c_name]));
508 }
509 });*/
510
511 cookieadmin_toggle_overlay();
512 document.getElementsByClassName("cookieadmin_cookie_modal")[0].style.display = "flex";
513 var cookieadmin_re_consent = document.getElementsByClassName("cookieadmin_re_consent")[0];
514 if(cookieadmin_re_consent){
515 cookieadmin_re_consent.style.display = "none";
516 }
517
518 var cookieadmin_law_container = document.getElementsByClassName("cookieadmin_law_container")[0];
519 if(cookieadmin_law_container){
520 cookieadmin_law_container.style.display = "none";
521 }
522
523 if(cookieadmin_policy["cookieadmin_modal"] == "side"){
524 document.getElementsByClassName("cookieadmin_cookie_modal")[0].style.display = "grid";
525 }
526
527 if(e.target.className == "cookieadmin_re_consent"){
528 document.getElementsByClassName("cookieadmin_close_pref")[0].id = "cookieadmin_re_consent";
529 }else{
530 document.getElementsByClassName("cookieadmin_close_pref")[0].id = "cookieadmin_law_container";
531 }
532 });
533 });
534
535 //Save preference
536 document.querySelector(".cookieadmin_save_btn").addEventListener("click", function(){
537
538 document.getElementsByClassName("cookieadmin_cookie_modal")[0].style.display = "none";
539 if(cookieadmin_show_reconsent){
540 document.getElementsByClassName("cookieadmin_re_consent")[0].style.display = "block";
541 }
542
543 var prefer = {};
544
545 document.querySelectorAll(".cookieadmin_toggle").forEach(function(e){
546 if(!!e.children[0].checked){
547 prefer[e.children[0].id.replace("cookieadmin-","")] = 'true';
548 }
549 });
550
551 if(Object.keys(prefer).length !== 0){
552 var override_gpc = document.getElementById('cookieadmin-override_gpc');
553 var is_override_gpc = false;
554 if(override_gpc && override_gpc.checked){
555 is_override_gpc = true;
556 }
557
558 if(Object.keys(prefer).length === 3 && !is_override_gpc){
559 let accept_btn = document.querySelectorAll(".cookieadmin_accept_btn");
560
561 if(accept_btn.length > 0){
562 accept_btn[accept_btn.length-1].click();
563 }
564
565 return;
566 }
567 }else{
568 let reject_btn = document.querySelectorAll(".cookieadmin_reject_btn");
569
570 if(reject_btn.length > 0){
571 reject_btn[reject_btn.length-1].click();
572 }
573
574 return;
575 }
576
577 cookieadmin_toggle_overlay();
578
579 cookieadmin_set_consent(prefer, days);
580 });
581
582
583 //Accept or reject all cookies
584 cookieadmin_save_all_cookie_elemnts = document.querySelectorAll(".cookieadmin_accept_btn, .cookieadmin_reject_btn");
585
586 cookieadmin_save_all_cookie_elemnts.forEach(function(e){
587
588 e.addEventListener("click", function(){
589 // console.log(e);
590
591 document.getElementsByClassName("cookieadmin_cookie_modal")[0].style.display = "none";
592 var cookieadmin_law_container = document.getElementsByClassName("cookieadmin_law_container")[0];
593 if(cookieadmin_law_container){
594 cookieadmin_law_container.style.display = "none";
595 }
596
597 var cookieadmin_re_consent = document.getElementsByClassName("cookieadmin_re_consent")[0];
598 if(cookieadmin_re_consent){
599 cookieadmin_re_consent.style.display = "block";
600 }
601
602 if(e.id.includes("modal")){
603 cookieadmin_toggle_overlay();
604 }
605
606 var prefer2 = e.classList.contains("cookieadmin_reject_btn") ? {reject: "true"} : {accept: "true"};
607
608 cookieadmin_set_consent(prefer2, days);
609 });
610 });
611
612 document.querySelectorAll(".cookieadmin_show_pref_cookies").forEach(function(e){
613 e.addEventListener("click", function(el){
614
615 var tgt = el.target.id;
616 tgt = tgt.replace(/-container$/, "");
617
618 if(el.target.classList.contains("dwn")){
619 el.target.innerHTML = "&#9658;";
620 el.target.classList.remove("dwn");
621 document.querySelector("."+tgt).style.display = "none";
622 }else{
623 el.target.innerHTML = "&#9660;";
624 el.target.classList.add("dwn");
625 document.querySelector("."+tgt).style.display = "block";
626 }
627 });
628 });
629
630 document.getElementsByClassName("cookieadmin_close_pref")[0].addEventListener("click", function(e){
631 document.getElementsByClassName("cookieadmin_cookie_modal")[0].style.display = "none";
632 cookieadmin_toggle_overlay();
633 if(!cookieadmin_is_obj(cookieadmin_is_consent)){
634 var cookieadmin_law_container = document.getElementsByClassName("cookieadmin_law_container")[0];
635 if(cookieadmin_law_container){
636 cookieadmin_law_container.style.display = "block";
637 }
638 }else if(cookieadmin_show_reconsent){
639 var cookieadmin_re_consent = document.getElementsByClassName("cookieadmin_re_consent")[0];
640 if(cookieadmin_re_consent){
641 cookieadmin_re_consent.style.display = "block";
642 }
643 }
644 });
645
646 });
647
648 function cookieadmin_set_consent(prefrenc, days){
649
650 if (typeof cookieadmin_pro_set_consent === "function") {
651 return cookieadmin_pro_set_consent(prefrenc, days);
652 }else{
653 return cookieadmin_save_consent_cookie(prefrenc, days);
654 }
655 }
656
657 function cookieadmin_save_consent_cookie(prefrenc, days, consent_id){
658
659 var cookieadmin_consent = prefrenc;
660
661 if(consent_id){
662 cookieadmin_is_consent.consent = consent_id;
663 cookieadmin_consent['consent'] = consent_id;
664 }
665
666 if(!cookieadmin_is_consent.consent){
667 cookieadmin_is_consent.consent = "";
668 }
669
670 cookieadmin_is_consent["old_action"] = cookieadmin_is_consent.action ? cookieadmin_is_consent.action : {};
671 cookieadmin_is_consent.action = prefrenc;
672 cookieadmin_populate_preference();
673 cookieadmin_set_cookie('cookieadmin_consent', cookieadmin_consent, days);
674
675 if (typeof cookieadmin_update_gcm === "function") {
676 cookieadmin_update_gcm(1);
677 }
678
679 if (typeof cookieadmin_pro_update_clarity_cookie === "function") {
680 cookieadmin_pro_update_clarity_cookie();
681 }
682
683 if(!!cookieadmin_policy.reload_on_consent){
684 location.reload();
685 }else{
686 cookieadmin_restore_cookies(prefrenc);
687 }
688 }
689
690