1CONFIG_ABOSHOP.baseClientUrl=(document.getElementsByTagName('base')[0] || {}).href; 2var compteurErreur=0; 3 4encodePlus = function(str){ 5 if(str !== null && str !== undefined){ 6 return str.replaceAll('%20', '+'); 7 } 8 return str; 9} 10 11serialize = function(obj, prefix) { 12 let str = [], 13 p; 14 for (p in obj) { 15 if (obj.hasOwnProperty(p)) { 16 let k = prefix ? prefix + "[" + p + "]" : p, 17 v = obj[p]; 18 str.push((v !== null && typeof v === "object") ? 19 serialize(v, k) : 20 encodePlus(encodeURIComponent(k)) + "=" + encodePlus(encodeURIComponent(v))); 21 } 22 } 23 return str.join("&"); 24} 25 26window.onerror = function(msg, url, line) 27{ 28 compteurErreur++; 29 if(compteurErreur>20){ 30 return; 31 } 32 if(CONFIG_ABOSHOP !== null && CONFIG_ABOSHOP !== undefined && 33 CONFIG_ABOSHOP.url !== null && CONFIG_ABOSHOP.url !== undefined && 34 CONFIG_ABOSHOP.target !== null && CONFIG_ABOSHOP.target !== undefined && 35 CONFIG_ABOSHOP.contenttype !== null && CONFIG_ABOSHOP.contenttype !== undefined) { 36 let data = { 37 message: msg, 38 compteurErreur: compteurErreur, 39 stack: url + ':' + line, 40 target : CONFIG_ABOSHOP.target, 41 scope : (CONFIG_ABOSHOP.scope === undefined ? 'aboweb' : 'mahalo' ), 42 url : document.location.href, 43 userAgent: navigator.userAgent, 44 ip : "#IP#", 45 editor: CONFIG_ABOSHOP.editorAboweb 46 }; 47 48 let params = { 49 "datas": { 50 "target": CONFIG_ABOSHOP.target, 51 "scope" : (CONFIG_ABOSHOP.scope === undefined ? 'aboweb' : 'mahalo' ), 52 "service": "logopen", 53 "oauth": {"scope": "open"}, 54 "message": JSON.stringify(data) 55 } 56 }; 57 58 let xmlhttp = new XMLHttpRequest(); // new HttpRequest instance 59 let theUrl = CONFIG_ABOSHOP.url; 60 61 //console.log($.param(params)); 62 //console.log(serialize(params)); 63 64 xmlhttp.open("POST", theUrl); 65 xmlhttp.setRequestHeader("Content-Type", CONFIG_ABOSHOP.contenttype); 66 xmlhttp.setRequestHeader('Cache-Control', 'no-cache'); 67 xmlhttp.setRequestHeader('Accept', 'application/json; charset=utf-8'); 68 xmlhttp.send(serialize(params)); 69 70 let divMessage = $("#loadMessage"); 71 if (divMessage && !CONFIG_ABOSHOP.target.match(/^prod/i)) { 72 divMessage.append('<h2 style="text-align: center;font-size: 15px;">Erreur: </h2>'); 73 divMessage.append('<p style="text-align: center;font-size: 10px;">Msg: '+msg+'</p>'); 74 divMessage.append('<p style="text-align: center;font-size: 10px;">Stack: '+url + ':' + line+'</p>'); 75 } else { 76 divMessage.append('<div id="adblock-warning">'+ 77 '<p><strong>Il semble que vous utilisiez un bloqueur de publicité ou que lâexécution du JavaScript soit désactivée.</strong></p>'+ 78 '<p id="adblock-reco">Pour accéder à tout le contenu de notre site, nous vous invitons à :</p>'+ 79 '<ul>'+ 80 '<li>Désactiver votre bloqueur de publicités, ou</li>'+ 81 '<li>Ajouter une exception pour ce site, ou</li>'+ 82 '<li>Autoriser lâexécution du JavaScript.</li>'+ 83 '</ul>'+ 84 '<p>Nous nâaffichons pas de publicités intrusives â ces éléments nous aident simplement à maintenir le site en ligne et à améliorer votre expérience.</p>'+ 85 '<p>Merci pour votre compréhension !<p>'); 86 } 87 } 88}; 89 90if (!String.prototype.endsWith) { 91 String.prototype.endsWith = function(search, this_len) { 92 if (this_len === undefined || this_len > this.length) { 93 this_len = this.length; 94 } 95 return this.substring(this_len - search.length, this_len) === search; 96 }; 97} 98 99Number.isInteger = Number.isInteger || function(value) { 100 return typeof value === "number" && 101 isFinite(value) && 102 Math.floor(value) === value; 103}; 104 105if (typeof Object.assign != 'function') { 106 // Must be writable: true, enumerable: false, configurable: true 107 Object.defineProperty(Object, "assign", { 108 value: function assign(target, varArgs) { // .length of function is 2 109 'use strict'; 110 if (target == null) { // TypeError if undefined or null 111 throw new TypeError('Cannot convert undefined or null to object'); 112 } 113 114 let to = Object(target); 115 116 for (let index = 1; index < arguments.length; index++) { 117 let nextSource = arguments[index]; 118 119 if (nextSource != null) { // Skip over if undefined or null 120 for (let nextKey in nextSource) { 121 // Avoid bugs when hasOwnProperty is shadowed 122 if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) { 123 to[nextKey] = nextSource[nextKey]; 124 } 125 } 126 } 127 } 128 return to; 129 }, 130 writable: true, 131 configurable: true 132 }); 133} 134 135if(CONFIG_ABOSHOP.baseClientUrl.endsWith("/")){ 136 CONFIG_ABOSHOP.baseClientUrl=CONFIG_ABOSHOP.baseClientUrl.slice(0, -1); 137} 138 139const index = CONFIG_ABOSHOP.baseClientUrl.indexOf("/clients/"); 140const indexAccount = CONFIG_ABOSHOP.baseClientUrl.indexOf("/account/"); 141if(index>-1){ 142 CONFIG_ABOSHOP.baseUrl = CONFIG_ABOSHOP.baseClientUrl.substring(0,index); 143} else if(indexAccount>-1){ 144 CONFIG_ABOSHOP.baseUrl = CONFIG_ABOSHOP.baseClientUrl.substring(0,indexAccount); 145} else { 146 CONFIG_ABOSHOP.baseUrl = CONFIG_ABOSHOP.baseClientUrl; 147} 148//console.log("baseUrl="+CONFIG_ABOSHOP.baseUrl); 149//console.log("baseClientUrl="+CONFIG_ABOSHOP.baseClientUrl); 150 151var initAppIsAvailable=false,domIsReady=false; 152 153$(function() { 154 $("div[ui-view='error']").hide(); 155 setTimeout(function(){domIsReady=true;tryInitApp();},10); 156}); 157 158$.getJSON( "config.json?v="+CONFIG_ABOSHOP.forceversion, function(confClient) { 159 //console.log(JSON.stringify(confClient)); 160 confClient.forceversion = CONFIG_ABOSHOP.forceversion; 161 confClient.baseUrl = CONFIG_ABOSHOP.baseUrl; 162 confClient.baseClientUrl = CONFIG_ABOSHOP.baseClientUrl; 163 CONFIG_ABOSHOP = confClient; 164 165 if(CONFIG_ABOSHOP.addPrefixPath === undefined){ 166 CONFIG_ABOSHOP.addPrefixPath = ""; 167 } 168 169 //On charge la conf client 170 if(confCustomerOnError()){ 171 $("body").html("<h1>Error when load shop</h1><p>The customer configuration is not load</p>"); 172 173 } else { 174 //On charge la conf common et on complete la conf client uniquement pour les cles qui nexistent pas 175 $.getJSON( CONFIG_ABOSHOP.baseUrl+"/core/config.json?v="+CONFIG_ABOSHOP.forceversion, function(confCommon) { 176 //console.log(JSON.stringify(confCommon)); 177 for(let p in confCommon){ 178 if(CONFIG_ABOSHOP[p] === undefined){ 179 CONFIG_ABOSHOP[p] = confCommon[p]; 180 } 181 } 182 183 if(CONFIG_ABOSHOP.headerroot === undefined){ 184 CONFIG_ABOSHOP.headerroot = CONFIG_ABOSHOP.baseUrl+"/core/content/header/"; 185 } 186 187 if(CONFIG_ABOSHOP.footerroot === undefined){ 188 CONFIG_ABOSHOP.footerroot = CONFIG_ABOSHOP.baseUrl+"/core/content/footer"; 189 } 190 191 if(CONFIG_ABOSHOP.url === undefined){ 192 CONFIG_ABOSHOP.url = CONFIG_ABOSHOP.baseUrl+"/core/getapi.php"; 193 } 194 195 if(confCommonOnError()){ 196 $("body").html("<h1>Error when load shop</h1><p>The common configuration is not load</p>"); 197 } else { 198 if(CONFIG_ABOSHOP.forcelog === undefined){ 199 CONFIG_ABOSHOP.forcelog = false; 200 } 201 if(CONFIG_ABOSHOP.target.startsWith("prod") && CONFIG_ABOSHOP.forcelog === false) { 202 logger.disableLogger(); 203 } 204 if(CONFIG_ABOSHOP.scope === undefined){ 205 CONFIG_ABOSHOP.scope = 'mahalo'; 206 } 207 if (CONFIG_ABOSHOP.usegetapi === undefined) { 208 CONFIG_ABOSHOP.usegetapi = true; 209 } 210 211 if (CONFIG_ABOSHOP.usegetapi) { 212 //ancien mode on utilise aboweb via getapi.php 213 CONFIG_ABOSHOP.contenttype = 'application/x-www-form-urlencoded'; 214 CONFIG_ABOSHOP.authentificationheader = "X-Tbs-Authorization"; 215 } else { 216 //nouveau mode on utilise aboweb en direct sans passer par getapi.php 217 CONFIG_ABOSHOP.url = CONFIG_ABOSHOP[CONFIG_ABOSHOP.scope + "ws" + CONFIG_ABOSHOP.target]; 218 CONFIG_ABOSHOP.contenttype = 'application/json'; 219 CONFIG_ABOSHOP.authentificationheader = "Authorization"; 220 } 221 222 //On charge la boutique 223 setTimeout(function(){initAppIsAvailable=true;tryInitApp();},10); 224 } 225 }) 226 .fail(function() { 227 $("body").html("<h1>Error when load shop</h1><p>The common configuration not found</p>"); 228 }); 229 } 230}) 231 .fail(function(error) { 232 $("body").html("<h1>Error when load shop</h1><p>The customer configuration not found</p>"); 233 }); 234 235function tryInitApp(){ 236 if(initAppIsAvailable && domIsReady) { 237 console.log("tryInitApp"); 238 initApp(); 239 } 240} 241 242var myTimerCheckLoading; 243 244function startTimerCheck() { 245 myTimerCheckLoading = setTimeout(function(){checkAllScriptsLoaded();},10000); 246} 247 248function resetTimerCheck() { 249 stopTimerCheck(); 250 startTimerCheck(); 251} 252 253function stopTimerCheck() { 254 clearTimeout(myTimerCheckLoading); 255} 256 257var myTimerCheckMessage; 258var currentMessage = 0; 259function startTimerMessage() { 260 if(CONFIG_ABOSHOP.waitingMessages !== undefined && CONFIG_ABOSHOP.waitingMessages.length > 0) { 261 currentMessage = Math.floor(Math.random() * CONFIG_ABOSHOP.waitingMessages.length); 262 addMessageLoading(CONFIG_ABOSHOP.waitingMessages[currentMessage], 2); 263 myTimerCheckMessage = setInterval(function() { 264 changeMessage(); 265 },10000); 266 } 267} 268 269function changeMessage() { 270 currentMessage = (currentMessage+1) % CONFIG_ABOSHOP.waitingMessages.length; 271 addMessageLoading(CONFIG_ABOSHOP.waitingMessages[currentMessage], 2); 272} 273 274function stopTimerMessage() { 275 if(myTimerCheckMessage) { 276 clearTimeout(myTimerCheckMessage); 277 } 278} 279 280function initMessageLoading(){
281 if(CONFIG_ABOSHOP.displayLoadingMessage !== undefined && CONFIG_ABOSHOP.displayLoadingMessage) { 282 let divMessage = $("#loadMessage .loaders"); 283 if (divMessage) { 284 divMessage.prepend('<p id="message1" style="text-align: center;font-size: 12px;"></p>'); 285 divMessage.append('<p id="message2" style="text-align: center;font-size: 12px;"></p>'); 286 } 287 } 288} 289 290function addMessageLoading(message, id){ 291 if(CONFIG_ABOSHOP.displayLoadingMessage !== undefined && CONFIG_ABOSHOP.displayLoadingMessage) { 292 let divMessageLoading = $("#message"+id); 293 if (divMessageLoading) { 294 if (divMessageLoading.is(":visible")) { 295 divMessageLoading.html(message); 296 } else { 297 stopTimerMessage(); 298 } 299 } 300 } 301} 302 303function checkAllScriptsLoaded() { 304 displayNotLoadedChildren(treeJs); 305} 306 307function displayNotLoadedChildren(tree){ 308 let urlObj; 309 for(let i=0;i < tree.scripts.length;i++){ 310 urlObj = tree.scripts[i]; 311 if (urlObj.loaded === false){ 312 throw new Error("Erreur : script not loaded : "+urlObj.url); 313 } 314 } 315 if (tree !== undefined && tree.children !== undefined) { 316 displayNotLoadedChildren(tree.children); 317 } 318} 319 320function endLoad(){ 321 stopTimerCheck(); 322 startTimerMessage(); 323 t1 = performance.now(); 324 console.log("Load js took " + (t1 - t0) + " milliseconds."); 325 326 let html = document.getElementsByTagName("html")[0] || document.documentElement,divLoadMessage = document.getElementById("loadMessage"); 327 /*if (divLoadMessage) { 328 divLoadMessage.parentNode.removeChild(divLoadMessage); 329 }*/ 330 html.setAttribute("ng-app", "AboShopApp"); 331 332 angular.bootstrap(html, ['AboShopApp']); 333} 334 335//async function loadChildren(tree){ 336function loadChildren(tree){ 337 for(let i=0;i < tree.scripts.length;i++){ 338 //await new Promise(r => setTimeout(r, 2000)); 339 loadScript(tree.scripts[i], tree); 340 } 341} 342 343function countAllChildren(tree){ 344 return countChildren(tree); 345} 346 347function countChildren(tree){ 348 let c = 0; 349 if (tree !== undefined && tree.children !== undefined) { 350 c = countChildren(tree.children); 351 } 352 c += tree.scripts.length; 353 return c; 354} 355 356var treeJs = {}; 357var t0 = 0; 358var t1 = 0; 359var totalScript = 0; 360var currentTotalLoadedScript = 0; 361 362function loadScript(urlOb,tree) 363{ 364 var head = document.getElementsByTagName("head")[0] || document.documentElement; 365 366 var script = document.createElement("script"); 367 script.charset = 'utf-8'; 368 script.src = urlOb.url; 369 370 // Handle Script loading 371 let done = false; 372 373 // Attach handlers for all browsers 374 script.onload = script.onreadystatechange = function afterLoad() { 375 if ( !done && (!this.readyState || 376 this.readyState === "loaded" || this.readyState === "complete") ) { 377 done = true; 378 379 let src = script.getAttribute('src'); 380 if (src !== 'undefined' && src !== undefined){ 381 // console.log(src); 382 urlOb.loaded = true; 383 resetTimerCheck(); 384 currentTotalLoadedScript++; 385 addMessageLoading('Chargement de la boutique en cours : ' + (currentTotalLoadedScript*100/totalScript) + '%', 1); 386 387 let allLoaded = true; 388 let i = 0; 389 while(i < tree.scripts.length && allLoaded) { 390 allLoaded = tree.scripts[i].loaded; 391 i++; 392 } 393 if (allLoaded) { 394 if(tree.children !== undefined){ 395 loadChildren(tree.children); 396 } else { 397 endLoad(); 398 } 399 } 400 401 // Handle memory leak in IE 402 script.onload = script.onreadystatechange = null; 403 if ( head && script.parentNode ) { 404 head.removeChild( script ); 405 } 406 } 407 } 408 }; 409 410 // Use insertBefore instead of appendChild to circumvent an IE6 bug. 411 // This arises when a base node is used (#2709 and #4378). 412 head.insertBefore( script, head.firstChild ); 413} 414 415function initApp(){ 416 startTimerCheck(); 417 treeJs = { 418 scripts : [ 419 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/spin.min.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 420 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/scripts.min.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 421 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/angular/angular.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 422 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/crypto-js.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false} 423 ], 424 children : { 425 scripts : [ 426 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/angular/angular-ui-router.min.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 427 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/angular/angular-translate.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 428 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/aes.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 429 ], 430 children : { 431 scripts : [ 432 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/angular/angular-translate-handler-log.min.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 433 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/angular/angular-recaptcha.min.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 434 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/angular/angulartics.min.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 435 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/angular/angulartics-ga.min.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 436 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/suivi.conf.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 437 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/angular/tbs-ng-storage.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 438 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/angular/angular-filter-0.5.2.min.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 439 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/angular/underscore-min.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 440 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/angular/angulike.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false} 441 ], 442 children : { 443 scripts : [ 444 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/app.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false} 445 ], 446 children : { 447 scripts : [ 448 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/app.controller.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 449 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/app.config.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 450 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/auth.factory.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 451 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/ws.factory.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 452 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/seo.provider.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 453 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/app.routing.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 454 {url: "angular/customer.controller.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 455 {url: "angular/customer.routing.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 456 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/app.directives.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 457 {url: CONFIG_ABOSHOP.headerroot+"/header.directives.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 458 {url: CONFIG_ABOSHOP.footerroot+"/footer.directives.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 459 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/init.factory.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 460 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/dico.factory.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 461 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/wishlist.factory.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 462 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/product.factory.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 463 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/category.factory.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 464 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/formulaire.factory.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 465 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/cart.factory.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 466 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/data.factory.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 467 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/config.factory.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 468 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/customer.factory.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 469 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/payment.factory.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 470 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/contact.factory.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 471 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/menu.factory.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 472 {url: CONFIG_ABOSHOP.baseUrl+"/core/aboshop/cms.factory.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 473 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/angular/poool.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 474 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/angular/pixelfacebook.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 475 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/angular/tbsgtag.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 476 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/angular/linkedintag.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 477 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/angular/tbs-atinternet.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 478 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/angular/tbs-didomee.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 479 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/angular/tbs-piano.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false}, 480 {url: CONFIG_ABOSHOP.baseUrl+"/core/js/angular/tbs-marfeel.js?v="+CONFIG_ABOSHOP.forceversion, loaded : false} 481 ] 482 } 483 } 484 } 485 } 486 }; 487 488 if(CONFIG_ABOSHOP.tokenqiota !== undefined){ 489 if(CONFIG_ABOSHOP.urlqiota !== undefined){ 490 treeJs.scripts.push({url: CONFIG_ABOSHOP.urlqiota, loaded : false}); 491 } else { 492 treeJs.scripts.push({url: "https://www.qiota.com/assets/getQiotaPay.js", loaded : false}); 493 } 494 if(CONFIG_ABOSHOP.urlQiotaStats !== undefined){ 495 treeJs.scripts.push({url: CONFIG_ABOSHOP.urlQiotaStats, loaded : false}); 496 } else { 497 treeJs.scripts.push({url: "https://www.qiota.com/assets/getQiota.js", loaded : false}); 498 } 499 } 500 501 t0 = performance.now(); 502 totalScript = countAllChildren(treeJs); 503 currentTotalLoadedScript = 0; 504 initMessageLoading(); 505 addMessageLoading('Chargement de la boutique en cours : ' + (currentTotalLoadedScript*100/totalScript) + '%', 1); 506 //('Encore quelques petits instants et nous sommes à vous !', 2); 507 loadChildren(treeJs); 508} 509 510function confCommonOnError(){ 511 return (confCustomerOnError()|| 512 CONFIG_ABOSHOP.headerroot === undefined|| 513 CONFIG_ABOSHOP.footerroot === undefined|| 514 CONFIG_ABOSHOP.abowebwsprod === undefined|| 515 CONFIG_ABOSHOP.abowebwspreprod === undefined|| 516 CONFIG_ABOSHOP.abowebwsrecette === undefined|| 517 CONFIG_ABOSHOP.abowebwsdev === undefined||
518 CONFIG_ABOSHOP.abowebwsvalidation === undefined|| 519 CONFIG_ABOSHOP.url === undefined); 520} 521 522function confCustomerOnError(){ 523 return (!CONFIG_ABOSHOP || 524 CONFIG_ABOSHOP == undefined || 525 CONFIG_ABOSHOP.clientDir === undefined|| 526 CONFIG_ABOSHOP.editorAboweb === undefined|| 527 CONFIG_ABOSHOP.companyAboweb === undefined|| 528 CONFIG_ABOSHOP.paramFirst === undefined|| 529 CONFIG_ABOSHOP.paramSecond === undefined|| 530 CONFIG_ABOSHOP.modeConnexion === undefined|| 531 CONFIG_ABOSHOP.codeIsoDefaut === undefined|| 532 CONFIG_ABOSHOP.enTest === undefined|| 533 CONFIG_ABOSHOP.captchaPublicKey === undefined|| 534 CONFIG_ABOSHOP.target === undefined); 535} 536 537var logger = function() 538{ 539 let oldConsoleLog = null; 540 let pub = {}; 541 542 pub.enableLogger = function enableLogger() 543 { 544 if(oldConsoleLog == null) 545 return; 546 547 window['console']['log'] = oldConsoleLog; 548 }; 549 550 pub.disableLogger = function disableLogger() 551 { 552 oldConsoleLog = console.log; 553 window['console']['log'] = function() {}; 554 }; 555 556 return pub; 557}();
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.