const cookieDatabase = [{ "UserPrivacy": "https://privacy.google.com/take-control.html", "DataController": "Google", "CookieName": "_ga", "Platform": "Google Analytics", "Description": "ID used to identify users", "Domain": "google-analytics.com (3rd party) or advertiser's website domain (1st party)", "RetentionPeriod": "2 years", "ID": "256c18e8-d881-11e9-8a34-2a2ae2dbcce4", "Category": "Analytics" }, { "UserPrivacy": "https://www.php.net/privacy.php", "DataController": "PHP.net", "CookieName": "PHPSESSID", "Platform": "PHP.net", "Description": "Cookie generated by applications based on the PHP language. This is a general purpose identifier used to maintain user session variables. It is normally a random generated number, how it is used can be specific to the site, but a good example is maintaining a logged-in status for a user between pages.", "Domain": "Advertiser's website domain (1st party)", "RetentionPeriod": "Sessions", "ID": "87742550-35d9-4f2d-980c-d421f3f5bc97", "Category": "Default" },{ "UserPrivacy": "https://privacy.google.com/take-control.html", "DataController": "Google", "CookieName": "_ga_1E76NZM16Y", "Platform": "Google Analytics", "Description": "ID used to identify users", "Domain": "google-analytics.com (3rd party) or advertiser's website domain (1st party)", "RetentionPeriod": "2 years", "ID": "256c18e8-d881-11e9-8a34-2a2ae2dbcce4", "Category": "Analytics" }, ]; function setCookie(cname, cvalue, exdays) { const d = new Date(); d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); let expires = "expires=" + d.toUTCString(); document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; } function getCookie(cname) { let name = cname + "="; let decodedCookie = decodeURIComponent(document.cookie); let ca = decodedCookie.split(';'); for (let i = 0; i < ca.length; i++) { // console.log(ca[i]); let c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ""; } $(document).ready(function () { $('[data-toggle="tab"]').on('shown.bs.tab', function (event) { $(this).removeClass('active'); // event.target // event.relatedTarget }) $("#checkboxCookieDefault").click(function () { if ($('#checkboxCookieDefault').is(":checked")) { setCookie('cookieDefault', true, 30); } else { setCookie('cookieDefault', true, 30); } }); $("#checkboxCookieAnalytics").click(function () { if ($('#checkboxCookieAnalytics').is(":checked")) { setCookie('cookieAnalytics', true, 30); } else { setCookie('cookieAnalytics', false, 30); } }); $("#checkboxCookieMaketing").click(function () { if ($('#checkboxCookieMaketing').is(":checked")) { setCookie('cookieMaketing', true, 30); } else { setCookie('cookieMaketing', false, 30); } }); // accept all $(".btnAcceptAll").click(function () { $('#checkboxCookieAnalytics').is(":checked") ? $("#checkboxCookieAnalytics").prop("checked", true) : $("#checkboxCookieAnalytics").prop("checked", true); $('#checkboxCookieMaketing').is(":checked") ? $("#checkboxCookieMaketing").prop("checked", true) : $("#checkboxCookieMaketing").prop("checked", true); setCookie('cookieDefault', true, 30); setCookie('cookieAnalytics', true, 30); setCookie('cookieMaketing', true, 30); // $("#cookieModal").modal({show: true}); $("#cookieModal").modal('hide'); }); $(".btnUnAcceptAll").click(function () { $('#checkboxCookieAnalytics').is(":checked") ? $("#checkboxCookieAnalytics").prop("checked", false) : $("#checkboxCookieAnalytics").prop("checked", false); $('#checkboxCookieMaketing').is(":checked") ? $("#checkboxCookieMaketing").prop("checked", false) : $("#checkboxCookieMaketing").prop("checked", false); setCookie('cookieDefault', true, 30); setCookie('cookieAnalytics', false, 30); setCookie('cookieMaketing', false, 30); }); setCookielist(); function setCookielist() { let htmlDefault = ``; let htmlAnalytics = ``; let htmlMaketing = ``; let decodedCookie = decodeURIComponent(document.cookie); let ca = decodedCookie.split(';'); for (let i = 0; i < ca.length; i++) { let c = ca[i]; const myArray = c.split("="); let category = ''; console.log(myArray[0]); // console.log(cookieDatabase); const result = cookieDatabase.find(({ CookieName }) => CookieName === myArray[0].replace(" ", "")); console.log(result); if (typeof result !== 'undefined' && result != null) { switch (result.Category) { case 'Default': category == '' ? htmlDefault += setListCategory(result) : ''; break; case 'Analytics': category == '' ? htmlAnalytics += setListCategory(result) : ''; break; case 'Maketing': category == '' ? htmlMaketing += setListCategory(result) : ''; break; default: category == '' ? htmlDefault += setListCategory(result) : ''; } } } let textDefault = document.getElementById("cookie-body-default").innerHTML = htmlDefault ? htmlDefault : setNoCookie(); let textAnalytics = document.getElementById("cookie-body-analytics").innerHTML = htmlAnalytics ? htmlAnalytics : setNoCookie(); let textMaketing = document.getElementById("cookie-body-maketing").innerHTML = htmlMaketing ? htmlMaketing : setNoCookie(); } function setListCategory(result) { var html = ``; return html; } function setNoCookie() { var html = ``; return html; } // Cookie information not found cookieProcess(); function cookieProcess() { console.log('cookieProcess'); document.getElementById("checkboxCookieDefault").disabled = true; let cookieDefault = getCookie('cookieDefault'); let cookieAnalytics = getCookie('cookieAnalytics'); let cookieMaketing = getCookie('cookieMaketing'); if (cookieDefault == 'true') { cookieAnalytics == 'true' ? $("#checkboxCookieAnalytics").prop("checked", true) : $("#checkboxCookieAnalytics").prop("checked", false); cookieMaketing == 'true' ? $("#checkboxCookieMaketing").prop("checked", true) : $("#checkboxCookieMaketing").prop("checked", false); } else { $("#cookieModal").modal({show: true}); } } });