1function getcontentcart(param) { 2 var cartLS = localStorage.getItem(param), 3 cart = []; 4 if (cartLS) 5 cart = JSON.parse(cartLS); 6 return cart; 7} 8 9function getallkeyscart() { 10 var cart_key = []; 11 for (var i = 0, len = localStorage.length; i < len; ++i) { 12 var key = localStorage.key(i); 13 if (key.indexOf('cart') !== -1) { 14 if (key !== 'cart_expires') 15 cart_key.push(key); 16 } 17 } 18 return cart_key; 19} 20 21function clearcart() { 22 var durationcart = document.querySelector('.durationcart'); 23 if (durationcart) 24 durationcart.style.display = "none"; 25 26 localStorage.setItem('cart_expires', ""); 27 jQuery('.cart_content').hide(); 28 jQuery('.subtitle').hide(); 29 jQuery('.loader').hide(); 30 jQuery('.cartItemShow #listImgCartDropdown.eng').html('<div class="alert_msg" role="alert">Your selection is empty, please select an item</div>'); 31 jQuery('.cartItemShow #listImgCartDropdown.nld').html('<div class="alert_msg" role="alert">Je selectie is leeg, selecteer een item</div>'); 32 jQuery('.cartItemShow #listImgCartDropdown.fra').html('<div class="alert_msg" role="alert">Votre sélection est vide, merci de choisir un article</div>'); 33 jQuery('.cartItemShow #listImgCartDropdown.deu').html('<div class="alert_msg" role="alert">Sie haben nichts ausgewählt. Bitte wählen Sie einen Artikel aus.</div>'); 34 jQuery('.cartLoad, .modal-header').css('display', 'none'); 35 jQuery("#countImg, .badge-selection").text('0').hide(); 36 jQuery(".addImageToCart").children('i').removeClass('fas').addClass('fal'); 37 jQuery('.cartItemShow').removeClass('cartload'); 38} 39 40function add_months(dt, n) 41{ 42 return new Date(dt.setMonth(dt.getMonth() + n)); 43} 44 45function returnverifyfunction(dateTimeA, dateTimeB) { 46 var momentA = moment(dateTimeA,"DD/MM/YYYY"); 47 var momentB = moment(dateTimeB,"DD/MM/YYYY"); 48 49 var time = datediff(momentA,momentB) 50 51 52 var resultdate = momentB - momentA; 53 54 55 56 if (momentA >= momentB) return -1; 57 else return time; 58} 59 60function countitemincart() { 61 var cart_key = getallkeyscart(); 62 var i = 0; 63 jQuery.each(cart_key, function(index, value) { 64 var mycart = getcontentcart(value); 65 if (mycart.length > 0) 66 i++; 67 }); 68 if (i === 0) { 69 clearcart(); 70 } 71} 72 73var body = jQuery("body"); 74 75 76body.on('click', '.addCart, #confirmClearCart', function () { 77 78 var d = new Date(); 79 var year = d.getFullYear(); 80 var month = d.getMonth()+1; 81 var add_month = d.getMonth()+2; 82 var day = d.getDate(); 83 84 var get_cart_expires = add_months(new Date(year,month,day),0); 85 var cart_expires = get_cart_expires.getTime() / 1000; 86 87 var ifExpire = localStorage.getItem('cart_expires'); 88 if (ifExpire) { 89 // do nothing 90 } else { 91 setTimeout(function () { 92 localStorage.setItem("cart_expires", cart_expires.toString()); 93 }, 1); 94 } 95 setTimeout(function () { 96 countitemincart(); 97 }, 20); 98}); 99 100body.on('click', '.imgDelete', function () { 101 countitemincart(); 102}); 103 104function datediff(date1, date2){ 105 var diff = {} // Initialisation du retour 106 var tmp = date2 - date1; 107 108 tmp = Math.floor(tmp/1000); // Nombre de secondes entre les 2 dates 109 diff.sec = tmp % 60; // Extraction du nombre de secondes 110 111 tmp = Math.floor((tmp-diff.sec)/60); // Nombre de minutes (partie entière) 112 diff.min = tmp % 60; // Extraction du nombre de minutes 113 114 tmp = Math.floor((tmp-diff.min)/60); // Nombre d'heures (entières) 115 diff.hour = tmp % 24; // Extraction du nombre d'heures 116 117 tmp = Math.floor((tmp-diff.hour)/24); // Nombre de jours restants 118 diff.day = tmp; 119 120 return diff; 121} 122 123 124function cleartcartfromdate(){ 125 var cart_key = getallkeyscart(); 126 var cartExpire = getcontentcart('cart_expires'); 127 var ifExpire = localStorage.getItem('cart_expires'); 128 if (ifExpire) { 129 //console.log('cart expires exist'); 130 if (cart_key.length > 0) { 131 var d = new Date(); 132 var year = d.getFullYear();
133 var month = d.getMonth()+1; 134 var day = d.getDate(); 135 136 var d_expires = new Date(cartExpire * 1000); 137 var year_expires = d_expires.getFullYear(); 138 var month_expires = d_expires.getMonth()+1; 139 var day_expires = d_expires.getDate(); 140 var today_date = day + '/' + month + '/' + year; 141 var expires_date = day_expires + '/' + month_expires + '/' + year_expires; 142 var check_expires_cart = returnverifyfunction(today_date, expires_date); 143 144 if (check_expires_cart === -1) { 145 jQuery.each(cart_key, function(index, value) { 146 localStorage.setItem(value, JSON.stringify([])); 147 }); 148 clearcart(); 149 } 150 else 151 return check_expires_cart; 152 } 153 } else { 154 jQuery.each(cart_key, function(index, value) { 155 localStorage.setItem(value, JSON.stringify([])); 156 }); 157 clearcart(); 158 } 159} 160 161function deleteimgcard() { 162 var tableinlocalstorage = getallkeyscart(); 163 if (tableinlocalstorage) { 164 for (let i = 0; i < tableinlocalstorage.length ; i++) { 165 var cartLS = localStorage.getItem(tableinlocalstorage[i]); 166 let array = JSON.parse(cartLS); 167 var request = jQuery.post({ 168 method: "POST", 169 url: ajaxurlCartExpire, 170 data: { 171 'action': 'checkIfAssetExist', 172 'id': array 173 } 174 }); 175 request.done(function (response) { 176 var parseReponse = JSON.parse(response); 177 if (parseReponse.todelete) { 178 for (let j = 0; j < parseReponse.todelete.length ; j++) { 179 var positionarray = array.indexOf(parseReponse.todelete[j]); 180 181 if (positionarray !== -1) { 182 array = jQuery.grep(array, function(value) { 183 return value != array[positionarray]; 184 }); 185 localStorage.setItem(tableinlocalstorage[i], JSON.stringify(array)); 186 } 187 } 188 } 189 }); 190 } 191 } 192} 193 194function showMessageReset() { 195 var resultreturnfunction = cleartcartfromdate(); 196 if(resultreturnfunction){ 197 var parsedUrl = new URL(window.location.href); 198 var sitelang = parsedUrl.searchParams.get("lang"); 199 var durationfinal = resultreturnfunction.day; 200 var textContentStart = "Your selection will be reset in "; 201 var textContentEnd = " day(s)."; 202 203 document.querySelectorAll(".durationcart").forEach(el => el.remove()); 204 205 if (sitelang === "nld") { 206 textContentStart = "Je selectie wordt over "; 207 textContentEnd = " dag(en) gereset."; 208 } else if (sitelang === "fra") { 209 textContentStart = "Votre selection sera réinitialisée dans "; 210 textContentEnd = " jour(s)."; 211 } 212 213 var parent = document.querySelector('.cart_content, #myCart'); 214 let newsP = document.createElement('p'); 215 newsP.className = "durationcart"; 216 newsP.textContent = textContentStart + durationfinal + textContentEnd; 217 if (parent) 218 parent.prepend(newsP); 219 } 220} 221 222jQuery(document).ready(function($) { 223 deleteimgcard(); 224 225 showMessageReset(); 226});
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.