1(function( $ ) { 2 'use strict'; 3 4 // Create the defaults once 5 var pluginName = "gdpr", 6 defaults = { 7 bla: "", 8 }; 9 10 // The actual plugin constructor 11 function Plugin ( element, options ) { 12 this.element = element; 13 this.settings = $.extend( {}, defaults, options ); 14 this._defaults = defaults; 15 16 this._name = pluginName; 17 this.init(); 18 } 19 20 // Avoid Plugin.prototype conflicts 21 $.extend( Plugin.prototype, { 22 init: function() { 23 var that = this; 24 this.window = $(window); 25 this.documentHeight = $( document ).height(); 26 this.windowHeight = this.window.height(); 27 this.privacySettingsCheckPerformed = false; 28 29 this.elements = {}; 30 this.elements.popUp = $('.wordpress-gdpr-popup-container'); 31 this.elements.popUpAgreeLink = $('.wordpress-gdpr-popup-agree'); 32 this.elements.popUpDeclineLink = $('.wordpress-gdpr-popup-decline'); 33 this.elements.popUpCloseLink = $('.wordpress-gdpr-popup-close'); 34 this.elements.popUpBackdrop = $('.wordpress-gdpr-popup-overlay-backdrop'); 35 36 this.privacySettingsLoaded = {}; 37 this.elements.privacySettingsPopupTrigger = $('.wordpress-gdpr-privacy-settings-trigger-container'); 38 this.elements.privacySettingsPopup = $('.wordpress-gdpr-privacy-settings-popup'); 39 this.elements.privacySettingsPopupPrivacySettings = $('.wordpress-gdpr-privacy-settings-popup-privacy-settings-modal'); 40 this.elements.privacySettingsPopupAgreeLink = $('.wordpress-gdpr-privacy-settings-popup-agree'); 41 this.elements.privacySettingsPopupDeclineLink = $('.wordpress-gdpr-privacy-settings-popup-decline'); 42 this.elements.privacySettingsPopupCloseLink = $('.wordpress-gdpr-privacy-settings-popup-close'); 43 this.elements.privacySettingsPopupSaveLink = $('.wordpress-gdpr-privacy-settings-popup-services-save'); 44 45 this.elements.privacySettingsPopupBackdrop = $('.wordpress-gdpr-privacy-settings-popup-backdrop'); 46 47 if(this.settings.geoIP == "1") { 48 this.getUsersCountry(function(country) { 49 50 var euCountries = ['AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', '
50SE', 'GB', 'NO', 'LI', 'IS']; 51 var isEU = that.isInArray(country, euCountries); 52 if(isEU) { 53 that.popUp(); 54 } else { 55 $('.wordpress-gdpr-popup-actions-buttons .wordpress-gdpr-popup-agree').trigger('click'); 56 that.elements.privacySettingsPopupTrigger.remove(); 57 } 58 }); 59 60 } else { 61 this.popUp(); 62 } 63 64 this.popUpAgree(); 65 this.popUpClose(); 66 this.popUpDecline(); 67 68 this.popUpPrivacySettings(); 69 this.popUpPrivacySettingsOpen(); 70 this.popUpPrivacySettingsClose(); 71 72 this.privacyPolicyTermsAcceptance(); 73 this.commentFormprivacyPolicyTermsAcceptance(); 74 }, 75 popUp : function() { 76 77 var botPattern = "(craw|googlebot\/|bot|Googlebot-Mobile|Googlebot-Image|Google favicon|Mediapartners-Google|bingbot|Slurp|Java|wget|curl|Commons-HttpClient|Python-urllib|libwww|httpunit|nutch|phpcrawl|msnbot|jyxobot|FAST-WebCrawler|FAST Enterprise Crawler|biglotron|teoma|convera|seekbot|gigablast|exabot|ngbot|ia_archiver|GingerCrawler|webmon |httrack|webcrawler|grub.org|UsineNouvelleCrawler|antibot|netresearchserver|speedy|fluffy|bibnum.bnf|findlink|msrbot|panscient|yacybot|AISearchBot|IOI|ips-agent|tagoobot|MJ12bot|dotbot|woriobot|yanga|buzzbot|mlbot|yandexbot|purebot|Linguee Bot|Voyager|CyberPatrol|voilabot|baiduspider|citeseerxbot|spbot|twengabot|postrank|turnitinbot|scribdbot|page2rss|sitebot|linkdex|Adidxbot|blekkobot|ezooms|dotbot|Mail.RU_Bot|discobot|heritrix|findthatfile|europarchive.org|NerdByNature.Bot|sistrix crawler|ahrefsbot|Aboundex|domaincrawler|wbsearchbot|summify|ccbot|edisterbot|seznambot|ec2linkfinder|gslfbot|aihitbot|intelium_bot|facebookexternalhit|yeti|RetrevoPageAnalyzer|lb-spider|sogou|lssbot|careerbot|wotbox|wocbot|ichiro|DuckDuckBot|lssrocketcrawler|drupact|webcompanycrawler|acoonbot|openindexspider|gnam gnam spider|web-archive-net.com.bot|backlinkcrawler|coccoc|integromedb|content crawler spider|toplistbot|seokicks-robot|it2media-domain-crawler|ip-web-crawler.com|lighthouse|siteexplorer.info|elisabot|proximic|changedetection|blexbot|arabot|WeSEE:Search|niki-bot|CrystalSemanticsBot|rogerbot|360Spider|psbot|InterfaxScanBot|Lipperhey SEO Service|CC Metadata Scaper|g00g1e.net|GrapeshotCrawler|urlappendbot|brainobot|fr-crawler|binlar|SimpleCrawler|Livelapbot|Twitterbot|cXensebot|smtbot|bnf.fr_bot|A6-Indexer|ADmantX|Facebot|Twitterbot|OrangeBot|memorybot|AdvBot|MegaIndex|SemanticScholarBot|ltx71|nerdybot|xovibot|BUbiNG|Qwantify|archive.org_bot|Applebot|TweetmemeBot|crawler4j|findxbot|SemrushBot|yoozBot|lipperhey|y!j-asr|Domain Re-Animator Bot|AddThis|bot|googlebot|crawler|spider|robot|crawling)"; 78 var re = new RegExp(botPattern, 'i'); 79 if (re.test(navigator.userAgent)) { 80 return false; 81 } 82 83 var that = this; 84 var cookiesAllowed = false; 85 86 87 if(localStorage && that.getParameterByName('gdpr') !== "debug" && ( that.getCookie('wordpress_gdpr_cookies_allowed') || that.getCookie('wordpress_gdpr_cookies_declined') ) ) { 88 89 var retrievedObject = localStorage.getItem('wordpress_gdpr_services_allowed_temp'); 90 if(retrievedObject) { 91 var services = JSON.parse(retrievedObject); 92 if(services) { 93 if(services.version == that.settings.version) { 94 that.executeServices(services); 95 return; 96 } else { 97 98 if(that.elements.popUpBackdrop.length > 0) { 99 that.elements.popUpBackdrop.show(); 100 } 101 that.elements.popUp.show(); 102 that.checkPrivacySettings(); 103 return; 104 } 105 } else { 106 107 if(that.elements.popUpBackdrop.length > 0) { 108 that.elements.popUpBackdrop.show(); 109 } 110 that.elements.popUp.show(); 111 that.checkPrivacySettings(); 112 return; 113 } 114 115 } 116 } 117 118 $.ajax({ 119 type : 'post', 120 url : that.settings.ajaxURL, 121 dataType : 'json', 122 data : { 123 action : 'check_privacy_setting',
124 setting : 'wordpress_gdpr_cookies_allowed', 125 current_page_id : that.get_current_page_id() 126 }, 127 success : function( response ) { 128 129 var popupExcludePages = that.settings.popupExcludePages; 130 var exclude = false; 131 if(!that.isEmpty(popupExcludePages)) { 132 var currentPage, matches = document.body.className.match(/(^|\s)post-id-(\d+)(\s|$)/); 133 if (matches) { 134 currentPage = matches[2]; 135 } else { 136 matches = document.body.className.match(/(^|\s)page-id-(\d+)(\s|$)/); 137 if (matches) { 138 currentPage = matches[2]; 139 } 140 } 141 if(currentPage !== "" && that.isInArray(currentPage, popupExcludePages)) { 142 exclude = true; 143 } 144 } 145 146 if(!exclude) { 147 if(response.firstTime) { 148 if(that.elements.popUpBackdrop.length > 0) { 149 that.elements.popUpBackdrop.show(); 150 } 151 $.each($('.gdpr-service-switch:not(:disabled)'), function(i, index) { 152 $(this).prop('checked', true); 153 }); 154 that.elements.popUp.show(); 155 } 156 else if((!response.allowed && !response.declined) || that.getParameterByName('gdpr') === "debug") { 157 if(that.elements.popUpBackdrop.length > 0) { 158 that.elements.popUpBackdrop.show(); 159 } 160 that.elements.popUp.show(); 161 } else { 162 if(that.elements.popUpBackdrop.length > 0) { 163 that.elements.popUpBackdrop.hide(); 164 } 165 that.elements.popUp.hide(); 166 } 167 } 168 169 //if(response.declined == true) { 170 // return; 171 //} 172 that.checkPrivacySettings(); 173 }, 174 error: function (xhr, ajaxOptions, thrownError) { 175 console.log(xhr); 176 console.log(ajaxOptions); 177 console.log(thrownError); 178 } 179 }); 180 }, 181 popUpClose : function() { 182 183 var that = this; 184 185 $(that.elements.popUpCloseLink).on('click', function(e) { 186 e.preventDefault(); 187 if(that.elements.popUpBackdrop.length > 0) { 188 that.elements.popUpBackdrop.fadeOut(); 189 } 190 that.elements.popUp.fadeOut(); 191 }); 192 }, 193 popUpDecline : function() { 194 195 var that = this; 196 197 that.elements.popUpDeclineLink.on('click', function(e) { 198 199 e.preventDefault(); 200 201 var $this = $(this); 202 var text = $this.text(); 203 $this.html('<i class="fa fa-spinner fa-spin"></i>'); 204 205 $.ajax({ 206 type : 'post', 207 url : that.settings.ajaxURL, 208 dataType : 'json', 209 data : { 210 action : 'wordpress_gdpr_decline_cookies' 211 }, 212 success : function( response ) { 213 214 if(localStorage) { 215 localStorage.removeItem('wordpress_gdpr_services_allowed_temp'); 216 } 217 218 if(that.elements.popUpBackdrop.length > 0) { 219 that.elements.popUpBackdrop.fadeOut(); 220 } 221 $('.wordpress-gdpr-privacy-settings-popup, .wordpress-gdpr-privacy-settings-popup-backdrop').fadeOut(); 222 that.elements.popUp.fadeOut(); 223 $.each($('.gdpr-service-switch:not(:disabled)'), function(i, index) { 224 $(this).prop('checked', false); 225 }); 226 $this.text(text); 227 228 }, 229 error: function (xhr, ajaxOptions, thrownError) { 230 console.log(xhr); 231 console.log(ajaxOptions); 232 console.log(thrownError); 233 } 234 }); 235 }); 236 }, 237 popUpAgree : function() { 238 239 var that = this; 240 241 that.elements.popUpAgreeLink.on('click', function(e) { 242 e.preventDefault(); 243 244 var $this = $(this); 245 var text = $this.text(); 246 $this.html('<i class="fa fa-spinner fa-spin"></i>'); 247 248 $.ajax({ 249 type : 'post', 250 url : that.settings.ajaxURL, 251 dataType : 'json', 252 data : {
253 action : 'wordpress_gdpr_allow_cookies' 254 }, 255 success : function( response ) { 256 257 if(localStorage) { 258 localStorage.removeItem('wordpress_gdpr_services_allowed_temp'); 259 } 260 261 if(that.elements.popUpBackdrop.length > 0) { 262 that.elements.popUpBackdrop.fadeOut(); 263 } 264 $('.wordpress-gdpr-privacy-settings-popup, .wordpress-gdpr-privacy-settings-popup-backdrop').fadeOut(); 265 that.elements.popUp.fadeOut(); 266 $.each($('.gdpr-service-switch:not(:disabled)'), function(i, index) { 267 $(this).prop('checked', true); 268 }); 269 270 that.checkPrivacySettings(); 271 $this.text(text); 272 }, 273 error: function (xhr, ajaxOptions, thrownError) { 274 console.log(xhr); 275 console.log(ajaxOptions); 276 console.log(thrownError); 277 } 278 }); 279 }); 280 }, 281 popUpPrivacySettingsOpen : function () { 282 283 var that = this; 284 285 $('.wordpress-gdpr-open-privacy-settings-modal').on('click', function(e) { 286 e.preventDefault(); 287 288 if(($('.wordpress-gdpr-privacy-settings-popup-services-container').length < 1)) { 289 alert('No GDPR Service Categories / Services created yet. Remove the trigger or create services and attach them to service categories first.'); 290 return false; 291 } 292 293 if($('.wordpress-gdpr-popup').length > 0) { 294 $('.wordpress-gdpr-popup').hide(0, function() { 295 $('.wordpress-gdpr-privacy-settings-popup, .wordpress-gdpr-privacy-settings-popup-backdrop').fadeIn(); 296 }); 297 } else { 298 $('.wordpress-gdpr-privacy-settings-popup, .wordpress-gdpr-privacy-settings-popup-backdrop').fadeIn(); 299 } 300 }); 301 }, 302 popUpPrivacySettingsClose : function () { 303 304 var that = this; 305 306 $(that.elements.privacySettingsPopupCloseLink).on('click', function(e) { 307 e.preventDefault(); 308 if(that.elements.privacySettingsPopupBackdrop.length > 0) { 309 that.elements.privacySettingsPopupBackdrop.fadeOut(); 310 } 311 that.elements.privacySettingsPopup.fadeOut(); 312 }); 313 314 $(that.elements.privacySettingsPopupSaveLink).on('click', function(e) { 315 e.preventDefault(); 316 if(that.elements.privacySettingsPopupBackdrop.length > 0) { 317 that.elements.privacySettingsPopupBackdrop.fadeOut(); 318 } 319 that.checkPrivacySettings(); 320 that.elements.privacySettingsPopup.fadeOut(); 321 }); 322 323 if(that.settings.privacySettingsPopupBackdropDisableClick == "0") { 324 $(that.elements.privacySettingsPopupBackdrop).on('click', function(e) { 325 e.preventDefault(); 326 if(that.elements.privacySettingsPopupBackdrop.length > 0) { 327 that.elements.privacySettingsPopupBackdrop.fadeOut(); 328 } 329 that.elements.privacySettingsPopup.fadeOut(); 330 }); 331 } 332 }, 333 popUpPrivacySettings : function() { 334 335 $('.wordpress-gdpr-popup-privacy-settings-open-service-category').on('click', function(e) { 336 e.preventDefault(); 337 338 $('.wordpress-gdpr-popup-privacy-settings-open-service-category').removeClass('wordpress-gdpr-popup-privacy-settings-service-category-active'); 339 340 $(this).addClass('wordpress-gdpr-popup-privacy-settings-service-category-active'); 341 342 var id = $(this).data('id'); 343 $('.wordpress-gdpr-popup-privacy-settings-services-content:not(#wordpress-gdpr-popup-privacy-settings-services-content-' + id + ')').hide(0, function() { 344 $('#wordpress-gdpr-popup-privacy-settings-services-content-' + id).show(); 345 }); 346 }); 347 348 $('.wordpress-gdpr-popup-privacy-settings-services-content-title').on('click', function(e) { 349 e.preventDefault(); 350 351 var $this = $(this); 352 var id= $(this).data('id'); 353 var fa = $this.find('.fa'); 354 355 var description = $('#wordpress-gdpr-popup-privacy-settings-services-content-description-' + id); 356 if (description.css('display') == 'none') { 357 description.slideDown(); 358 fa.removeClass('fa-caret-right').addClass('fa-caret-down'); 359 } else {
360 description.slideUp(); 361 fa.removeClass('fa-caret-down').addClass('fa-caret-right'); 362 } 363 }); 364 }, 365 checkPrivacySettings : function() { 366 367 var that = this; 368 var settings = {}; 369 var switches = $('.gdpr-service-switch'); 370 371 $.each(switches, function() { 372 var serviceID = $(this).data('id'); 373 settings[serviceID] = serviceID; 374 }); 375 376 $.ajax({ 377 type : 'post', 378 url : that.settings.ajaxURL, 379 dataType : 'json', 380 data : { 381 action : 'check_privacy_settings', 382 settings : settings, 383 }, 384 success : function( response ) { 385 386 if(localStorage && response !== 0) { 387 response.version = that.settings.version; 388 localStorage.setItem('wordpress_gdpr_services_allowed_temp', JSON.stringify(response)); 389 } 390 391 that.executeServices(response); 392 }, 393 error: function (xhr, ajaxOptions, thrownError) { 394 console.log(xhr); 395 console.log(ajaxOptions); 396 console.log(thrownError); 397 } 398 }); 399 }, 400 executeServices : function(services) { 401 402 var that = this; 403 404 if(!services) { 405 return; 406 } 407 408 window.dataLayer = window.dataLayer || []; 409 410 if(that.settings.consentModeV2 == "1") { 411 window.gtag = function() { dataLayer.push(arguments); } 412 window.gtag('consent', 'default', { 413 ad_storage: 'denied', 414 analytics_storage: 'denied', 415 ad_user_data: 'denied', 416 ad_personalization: 'denied', 417 wait_for_update: 500 418 }); 419 } 420 421 var that = this; 422 var obj = {'event' : 'consent_status'}; 423 $.each(services, function(i, index) { 424 425 if(index.allowed && !that.privacySettingsLoaded[i]) { 426 427 if(index.head !== "") { 428 $("head").append(index.head); 429 } 430 431 if(index.body !== "") { 432 $(index.body).prependTo($('body')); 433 } 434 } 435 436 if(index.adsense == "1" && !index.allowed && that.privacySettingsLoaded[i]) { 437 438 var adsExists = $(".adsbygoogle"); 439 if(adsExists.length > 0 && that.getCookie('wordpress_gdpr_adsense_allowed') !== "true") { 440 adsExists.remove(); 441 } 442 } 443 444 if(index.adwords == "1" && index.allowed && that.settings.consentModeV2 == "1") { 445 window.gtag('consent', 'update', { 446 'ad_storage': 'granted', 447 'ad_user_data': 'granted', 448 'ad_personalization': 'granted', 449 }); 450 } 451 452 if(index.analytics == "1" && index.allowed && that.settings.consentModeV2 == "1") { 453 window.gtag('consent', 'update', { 454 'analytics_storage': 'granted', 455 }); 456 } 457 458 var checkbox_exists = $('input[name="' + i + '"]') ; 459 if(checkbox_exists.length > 0) { 460 if(index.allowed) { 461 checkbox_exists.prop('checked', true); 462 that.privacySettingsLoaded[i] = true; 463 } else { 464 checkbox_exists.prop('checked', false); 465 that.privacySettingsLoaded[i] = false; 466 } 467 } 468 469 obj[index.name] = index.allowed; 470 471 if(checkbox_exists.length > 0 && !that.privacySettingsCheckPerformed) { 472 473 checkbox_exists.on('change', function(e) { 474 475 var checked = $(this).prop('checked'); 476 var name = $(this).prop('name'); 477 478 $('.wordpress-gdpr-privacy-settings-popup-message').fadeIn(); 479 480 $.ajax({ 481 type : 'post', 482 url : that.settings.ajaxURL, 483 dataType : 'json', 484 data : { 485 action : 'update_privacy_setting', 486 setting : name, 487 checked : checked, 488 }, 489 success : function( response ) { 490 491 if(localStorage) { 492 localStorage.removeItem('wordpress_gd
492pr_services_allowed_temp'); 493 } 494 495 setTimeout(function(){ $('.wordpress-gdpr-privacy-settings-popup-message').fadeOut(); }, 1500); 496 497 var index = response[name]; 498 if(index.head !== "" && index.allowed && !that.privacySettingsLoaded[name]) { 499 $("head").append(index.head); 500 } 501 if(index.body !== "" && index.allowed && !that.privacySettingsLoaded[name]) { 502 $(index.body).prependTo($('body')); 503 } 504 505 if(index.adsense == "1" && !index.allowed && !that.privacySettingsLoaded[name]) { 506 var adsExists = $(".adsbygoogle"); 507 508 if(adsExists.length > 0 && that.getCookie('wordpress_gdpr_adsense_allowed') !== "true") { 509 adsExists.remove(); 510 } 511 } 512 513 var obj = {}; 514 obj[index.name] = index.allowed; 515 window.dataLayer.push( { 'event' : 'consent_status', 'consents': obj } ); 516 517 if(index.analytics == "1" && index.allowed && that.settings.consentModeV2 == "1") { 518 window.gtag('consent', 'update', { 519 'analytics_storage': 'granted', 520 }); 521 } 522 523 if(index.adwords == "1" && index.allowed && that.settings.consentModeV2 == "1") { 524 window.gtag('consent', 'update', { 525 'ad_storage': 'granted', 526 'ad_user_data': 'granted', 527 'ad_personalization': 'granted', 528 }); 529 } 530 531 var checkbox_exists = $('input[name="' + name + '"]') ; 532 if(checkbox_exists.length > 0) { 533 if(index.allowed) { 534 checkbox_exists.prop('checked', true); 535 that.privacySettingsLoaded[name] = true; 536 } else { 537 checkbox_exists.prop('checked', false); 538 } 539 } 540 } 541 }); 542 }); 543 } 544 }); 545 546 that.privacySettingsCheckPerformed = true; 547 548 if(that.settings.consentModeV2 == "1") { 549 window.dataLayer.push( { 'event' : 'consent_status', 'consents': obj } ); 550 } 551 }, 552 get_current_page_id : function() { 553 var page_body = $('body.page'); 554 555 var id = 0; 556 557 if(page_body) { 558 var page_body_class = page_body.attr('class') 559 560 if(page_body_class || page_body_class != null) { 561 if(page_body_class.length > 1) { 562 var page_body_class_list = page_body_class.split(/\s+/); 563 564 $.each(page_body_class_list, function(index, item) { 565 if (item.indexOf('page-id') >= 0) { 566 var item_arr = item.split('-'); 567 id = item_arr[item_arr.length -1]; 568 return false; 569 } 570 }); 571 } 572 } 573 } 574 return id; 575 }, 576 getUsersCountry : function(callback) { 577 var that = this; 578 579 $.ajax({ 580 url: "https://get.geojs.io/v1/ip/geo.json", 581 type: 'get', 582 dataType: 'json', 583 success : function( response ) { 584 callback(response.country_code); 585 }, 586 error: function(jqXHR, textStatus, errorThrown) { 587 console.log(jqXHR); 588 console.log(textStatus); 589 console.log(errorThrown); 590 } 591 }); 592 }, 593 commentFormprivacyPolicyTermsAcceptance : function() { 594 var that = this; 595 596 var submit = $('#commentform input[type="submit"]'); 597 if(submit.length < 1) { 598 return false;
599 } 600 601 var checkbox = $('#commentform #privacy_policy'); 602 if(checkbox.length < 1) { 603 return false; 604 } 605 606 submit.on('click', function(e) { 607 var checkboxChecked = checkbox.is(':checked'); 608 if(!checkboxChecked) { 609 e.preventDefault(); 610 alert(that.settings.acceptanceText); 611 return false; 612 } 613 614 $.ajax({ 615 type : 'post', 616 url : that.settings.ajaxURL, 617 dataType : 'json', 618 data : { 619 action : 'wordpress_gdpr_update_privacy_policy_terms', 620 setting : 'wordpress_gdpr_privacy_policy_accepted', 621 checked : checkboxChecked, 622 } 623 }); 624 return true; 625 }); 626 }, 627 privacyPolicyTermsAcceptance : function() { 628 var that = this; 629 630 if($('#accept-privacy-policy-checkbox').length < 1 && $('#accept-terms-conditions-checkbox').length < 1) { 631 return false; 632 } 633 634 $('#accept-privacy-policy-checkbox').on('click', function(e) { 635 var name = $(this).prop('name'); 636 var checked = $(this).prop('checked'); 637 638 if(!checked) { 639 alert(that.settings.acceptanceText); 640 return false; 641 } 642 643 $.ajax({ 644 type : 'post', 645 url : that.settings.ajaxURL, 646 dataType : 'json', 647 data : { 648 action : 'wordpress_gdpr_update_privacy_policy_terms', 649 setting : name, 650 checked : checked, 651 }, 652 }); 653 }); 654 655 $('#accept-terms-conditions-checkbox').on('click', function(e) { 656 var name = $(this).prop('name'); 657 var checked = $(this).prop('checked'); 658 659 // if(!checked) { 660 // alert(that.settings.termsAcceptanceText); 661 // return false; 662 // } 663 664 $.ajax({ 665 type : 'post', 666 url : that.settings.ajaxURL, 667 dataType : 'json', 668 data : { 669 action : 'wordpress_gdpr_update_privacy_policy_terms', 670 setting : name, 671 checked : checked, 672 }, 673 }); 674 }); 675 },
676 ////////////////////// 677 ///Helper Functions/// 678 ////////////////////// 679 deleteAllCookies : function() { 680 var cookies = document.cookie.split(";"); 681 for (var i = 0; i < cookies.length; i++) { 682 var cookie = cookies[i]; 683 var eqPos = cookie.indexOf("="); 684 var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie; 685 document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT"; 686 } 687 688 }, 689 isEmpty: function(obj) { 690 691 if (obj == null) return true; 692 if (obj.length > 0) return false; 693 if (obj.length === 0) return true; 694 695 for (var key in obj) { 696 if (hasOwnProperty.call(obj, key)) return false; 697 } 698 699 return true; 700 }, 701 sprintf: function parse(str) { 702 var args = [].slice.call(arguments, 1), 703 i = 0; 704 705 return str.replace(/%s/g, function() { 706 return args[i++]; 707 708 }); 709 }, 710 getCookie: function(cname) { 711 var name = cname + "="; 712 var ca = document.cookie.split(';'); 713 for(var i=0; i<ca.length; i++) { 714 var c = ca[i]; 715 while (c.charAt(0)==' ') c = c.substring(1); 716 if (c.indexOf(name) === 0) return c.substring(name.length, c.length); 717 } 718 return ""; 719 }, 720 createCookie: function(name, value, days) { 721 var expires = ""; 722 723 if (days) { 724 var date = new Date(); 725 date.setTime(date.getTime() + (days*24*60*60*1000)); 726 var expires = "; expires="+date.toGMTString(); 727 } 728 729 document.cookie = name + "=" + value+expires + "; path=/"; 730 }, 731 deleteCookie: function(name) { 732 this.createCookie(name, '', -10); 733 }, 734 getParameterByName: function(name, url) { 735 if (!url) url = window.location.href; 736 name = name.replace(/[\[\]]/g, "\\$&"); 737 var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)", "i"), 738 results = regex.exec(url); 739 if (!results) return null; 740 if (!results[2]) return ''; 741 return decodeURIComponent(results[2].replace(/\+/g, " ")); 742 }, 743 isInArray : function (value, array) { 744 return array.indexOf(value) > -1; 745 } 746 } ); 747 748 // Constructor wrapper 749 $.fn[ pluginName ] = function( options ) { 750 return this.each( function() { 751 if ( !$.data( this, "plugin_" + pluginName ) ) { 752 $.data( this, "plugin_" + 753 pluginName, new Plugin( this, options ) ); 754 } 755 } ); 756 }; 757 758 $(document).ready(function() { 759 760 $( "body" ).gdpr( 761 gdpr_options 762 ); 763 764 } ); 765 766})( 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.