PluginProbe
CookieAdmin – Cookie Consent Banner / 1.2.6
CookieAdmin – Cookie Consent Banner v1.2.6
1.2.6 1.2.5 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 All 26 releases
← All changes | assets/js/cookie.js +108 -45 1.1.6 → 1.2.6 View file →
@@ -4,32 +4,45 @@
4 4
5 5 var law = '';
6 6 var mediaUploader;
7 7
8 - function cookieadminSelectFooterLayout(){
9 - $("input[name=cookieadmin_position]").prop("checked", false);
10 - $(".consent-position").slideDown();
11 - $(".cookieadmin_foter_layout").fadeIn(800);
12 - $(".cookieadmin_box_layout").hide();
13 - $(".consent-modal-layout").show();
8 + // Handling the General Setting position toggles
9 + function toggle_type_options(){
10 + let jEle = $(this),
11 + type_value = $(this).val();
12 +
13 + if(!type_value){
14 + return;
15 + }
16 +
17 + let box_layout = $('.cookieadmin_box_layout').closest('label'),
18 + footer_layout = $('.cookieadmin_footer_layout').closest('label');
19 +
20 + $('input[name=cookieadmin_position]').prop('checked', false);
21 +
22 + switch(type_value){
23 + case 'footer':
24 + $('.consent-position').slideDown();
25 + $('.consent-modal-layout').slideDown();
26 + box_layout.hide();
27 + footer_layout.show();
28 + break;
29 +
30 + case 'popup':
31 + $('.consent-position').slideUp();
32 + $('.consent-modal-layout').slideUp();
33 + break;
34 +
35 + default:
36 + $('.consent-position').slideDown();
37 + $('.consent-modal-layout').slideDown();
38 + footer_layout.hide();
39 + box_layout.show();
40 + break;
41 + }
14 42 }
15 - $("#cookieadmin_layout_footer").on("change", cookieadminSelectFooterLayout);
16 -
17 - function cookieadminSelectBoxLayout(){
18 - $("input[name=cookieadmin_position]").prop("checked", false);
19 - $(".consent-position").slideDown();
20 - $(".cookieadmin_foter_layout").hide();
21 - $(".cookieadmin_box_layout").fadeIn(800);
22 - $(".consent-modal-layout").slideDown();
23 - }
24 - $("#cookieadmin_layout_box").on("change", cookieadminSelectBoxLayout);
25 43
26 - function cookieadminSelectPopLayout(){
27 - $("input[name=cookieadmin_position]").prop("checked", false);
28 - $(".consent-position").slideUp();
29 - $(".consent-modal-layout").slideUp();
30 - }
31 - $("#cookieadmin_layout_popup").on("change", cookieadminSelectPopLayout);
44 + $('input[name="cookieadmin_layout"]').on('change', toggle_type_options);
32 45
33 46 setTimeout( function(){
34 47 $('.updated, .error').not('.no-autohide').fadeOut('slow');
35 48 }, 5000);
@@ -182,9 +195,9 @@
182 195
183 196 if(!!law.cookieadmin_position){
184 197 $("#cookieadmin_position_"+law.cookieadmin_position).prop("checked", true);
185 198 }else{
186 - $(".consent-position").hide();
199 + $(".consent-position").closest('label').hide();
187 200 }
188 201 $("#cookieadmin_modal_" + law.cookieadmin_modal).prop("checked", true);
189 202 $(".cookieadmin_cookie_modal").addClass("cookieadmin_" + law.cookieadmin_modal);
190 203
@@ -260,17 +273,15 @@
260 273 }
261 274 }
262 275
263 276 function cookieadminShowPreview(){
264 - if($("#cookieadmin_layout_popup").prop("checked")){
265 - show_modal();
266 - }else{
267 - $(".cookieadmin_law_container").toggle();
268 - }
277 + $('#cookieadmin_show_preview').toggle();
278 + $('.cookieadmin_law_container').toggle();
279 + $('#cookieadmin_hide_preview').toggle();
269 280 }
270 - $("#cookieadmin_show_preview").on("click", cookieadminShowPreview);
281 + $('#cookieadmin_show_preview, #cookieadmin_hide_preview').on('click', cookieadminShowPreview);
271 282
272 - $(".cookieadmin_customize_btn").on("click", function(){
283 + $('.cookieadmin_customize_btn').on('click', function(){
273 284 show_modal();
274 285 });
275 286
276 287 $(".cookieadmin_close_pref").on("click", function(){
@@ -286,13 +297,13 @@
286 297 $("[id^=cookieadmin_layout_]").prop("checked", false);
287 298 $("#cookieadmin_layout_"+cookieadmin_policy[law].cookieadmin_layout).prop("checked", true);
288 299
289 300 if(cookieadmin_policy[law].cookieadmin_layout == "box"){
290 - $(".cookieadmin_foter_layout").hide();
291 - $(".cookieadmin_box_layout").show();
301 + $(".cookieadmin_footer_layout").closest('label').hide();
302 + $(".cookieadmin_box_layout").closest('label').show();
292 303 }else{
293 - $(".cookieadmin_foter_layout").show();
294 - $(".cookieadmin_box_layout").hide();
304 + $(".cookieadmin_footer_layout").closest('label').show();
305 + $(".cookieadmin_box_layout").closest('label').hide();
295 306 }
296 307
297 308 $("[id^=cookieadmin_position_]").prop("checked", false);
298 309 $("#cookieadmin_position_"+cookieadmin_policy[law].cookieadmin_position).prop("checked", true);
@@ -370,21 +381,21 @@
370 381 }
371 382 $("#consent_submenu").submit(cookieadminSubmitConsent);
372 383
373 384 function cookieadminPreloadCookies(){
374 -
375 - if(!($(".setting-prior").find("[id$=_preload]:checked").length - 1) && $(".cookieadmin-settings").find(".cookieadmin-collapsible-notice").length){
376 - $(".cookieadmin-settings").find(".cookieadmin-collapsible-notice").remove();
377 - return;
385 + let notice = $('.cookieadmin-collapsible-notice');
386 +
387 + if($('[name="cookieadmin_preload[]"]:checked').length > 1){
388 + if(notice.css('display') == 'none'){
389 + notice.show();
390 + }
391 + } else {
392 + if(notice.css('display') !== 'none'){
393 + notice.hide();
394 + }
378 395 }
379 -
380 - if(!$(".cookieadmin-settings").find(".cookieadmin-collapsible-notice").length){
381 - $(".setting-prior").after("<p class=\"cookieadmin-collapsible-notice\">Loading cookies prior to receiving user consent will make your website non-compliant with GDPR.</p>");
382 - $(".cookieadmin-collapsible-notice").show();
383 - }
384 -
385 396 }
386 - $("[id$=_preload]").on("click", cookieadminPreloadCookies);
397 + $('[name="cookieadmin_preload[]"]').on('click', cookieadminPreloadCookies);
387 398
388 399 function cookieadminScanCookies(){
389 400
390 401 let cookieadmin_btn_val = $(this).prop('value');
@@ -431,8 +442,10 @@
431 442 $(this).prop("disabled", true);
432 443
433 444 //set 0 to add real id to delete
434 445 cookie_id = $(this).attr("cookieadmin_cookie_id");
446 + // Get the patterns
447 + const patterns = $("#cookieadmin-dialog-cookie-patterns").val();
435 448
436 449 let cookie_info = {
437 450 name: $("#cookieadmin-dialog-cookie-name").val(),
438 451 id: cookie_id,
@@ -439,8 +452,12 @@
439 452 description: $("#cookieadmin-dialog-cookie-desc").val(),
440 453 duration: $("#cookieadmin-dialog-cookie-duration").val(),
441 454 type: $("#cookieadmin-dialog-cookie-category").val()
442 455 };
456 +
457 + if(patterns){
458 + cookie_info.patterns = patterns;
459 + }
443 460
444 461 $.each(cookie_info, function (i, val){
445 462 if(!val){
446 463 cookie_info = null;
@@ -554,8 +571,9 @@
554 571 $("#cookieadmin_dialog_save_btn").attr("cookieadmin_cookie_id", cookie_id);
555 572 $("#cookieadmin-dialog-cookie-name").val(categorized_cookies[cookie_id]['cookie_name']);
556 573 $("#cookieadmin-dialog-cookie-desc").val(categorized_cookies[cookie_id]['description']);
557 574 $("#cookieadmin-dialog-cookie-duration").val(categorized_cookies[cookie_id]['expires']);
575 + $("#cookieadmin-dialog-cookie-patterns").val(categorized_cookies[cookie_id]['patterns']);
558 576 if(!!categorized_cookies[cookie_id]['category']){
559 577 $("#cookieadmin-dialog-cookie-category").val(categorized_cookies[cookie_id]['category']);
560 578 }else{
561 579 $("#cookieadmin-dialog-cookie-category").val("unknown");
@@ -613,8 +631,17 @@
613 631
614 632 }
615 633 $('.cookieadmin-metabox-holder').on('click', '#cookieadmin_upload_icon_btn', cookieadminUploadReconsentIcon);
616 634
635 + // Content Blocking Toggle
636 + $("#cookieadmin_content_blocking").on("change", function(){
637 + if($(this).prop("checked")){
638 + $(".cookieadmin-content-blocking-options").fadeIn(250);
639 + }else{
640 + $(".cookieadmin-content-blocking-options").fadeOut(250);
641 + }
642 + });
643 +
617 644 // Tooltip
618 645 let cookieadminToolTip;
619 646
620 647 function cookieadminCreateTooltip(){
@@ -667,9 +694,44 @@
667 694
668 695 cookieadminToolTip.css('opacity', 0);
669 696 });
670 697
698 + // Recommended plugins install/activate handler
699 + $(document).on('click', '.cookieadmin-plugin-install-btn, .cookieadmin-plugin-activate-btn', function(e){
700 + e.preventDefault();
701 + var $btn = $(this);
702 + var slug = $btn.data('slug');
703 + var is_install = $btn.hasClass('cookieadmin-plugin-install-btn');
704 + var originalText = $btn.text();
705 +
706 + $btn.text(cookieadmin_policy.lang.processing).prop('disabled', true);
707 +
708 + $.ajax({
709 + url: ajaxurl,
710 + method: 'POST',
711 + data: {
712 + action: 'cookieadmin_ajax_handler',
713 + cookieadmin_act: is_install ? 'install_recommended_plugin' : 'activate_recommended_plugin',
714 + cookieadmin_security: cookieadmin_policy.cookieadmin_nonce,
715 + plugin: slug,
716 + },
717 + dataType: 'json',
718 + success: function(data){
719 + if(data.success){
720 + $btn.replaceWith('<span class="cookieadmin-badge cookieadmin-success">' + cookieadmin_policy.lang.active + '</span>');
721 + }else{
722 + $btn.text(originalText).prop('disabled', false);
723 + alert(data.data && data.data.message ? data.data.message : cookieadmin_policy.lang.install_failed);
724 + }
725 + },
726 + error: function(){
727 + $btn.text(originalText).prop('disabled', false);
728 + alert(cookieadmin_policy.lang.error_occurred);
729 + },
730 + });
731 + });
671 732
733 +
672 734 });
673 735
674 736 function cookieadminAddCookieToTable(cookie_info){
675 737
@@ -681,8 +743,9 @@
681 743 categorized_cookies[cookie_info.id]['cookie_name'] = cookie_info.name;
682 744 categorized_cookies[cookie_info.id]['description'] = cookie_info.description;
683 745 categorized_cookies[cookie_info.id]['expires'] = cookie_info.duration;
684 746 categorized_cookies[cookie_info.id]['category'] = cookie_info.type;
747 + categorized_cookies[cookie_info.id]['patterns'] = cookie_info.patterns;
685 748
686 749 if(cookie_info.duration > 0){
687 750 cookie_info.duration += ' ' + cookieadmin_policy.lang.days;
688 751 }else{