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