1'use strict'; // 2 3// **************************************************** 4// Donnee de test 5// **************************************************** 6angular.module('AboShopApp').factory('configManager', ['commonConfig','$q','TbsWS',function (commonConfig,$q,TbsWS) { 7 var factory = {}, headerIsLoaded=false, footerIsLoaded=false, formulaireIsLoaded=false; 8 9 function loadHeaderFromJson(deferred){ 10 //On charge la conf du header 11 $.getJSON( "structure/header.json?v="+commonConfig.forceversion, function(confCommon) { 12 commonConfig.headerconf = confCommon; 13 console.log("conf header ok"); 14 prepareHeader(); 15 headerIsLoaded=true; 16 tryEndLoadConf(deferred); 17 }) 18 .fail(function() { 19 20 $("body").html("<h1>Error when load shop</h1><p>The header configuration not found</p>"); 21 22 }); 23 } 24 25 function loadFooterFromJson(deferred){ 26 //On charge la conf du header 27 $.getJSON( "structure/footer.json?v="+CONFIG_ABOSHOP.forceversion, function(confCommon) { 28 commonConfig.footerconf = confCommon; 29 console.log("conf footer ok"); 30 prepareFooter(); 31 footerIsLoaded=true; 32 tryEndLoadConf(deferred); 33 }) 34 .fail(function() { 35 36 $("body").html("<h1>Error when load shop</h1><p>The footer configuration not found</p>"); 37 38 }); 39 } 40 41 function loadFormulaireFromJson(deferred){ 42 //On charge la conf du header 43 $.getJSON( "structure/formulaire.json?v="+CONFIG_ABOSHOP.forceversion, function(confCommon) { 44 commonConfig.formulaireconf = confCommon; 45 console.log("conf formulaire ok"); 46 prepareFormulaire(); 47 formulaireIsLoaded=true; 48 tryEndLoadConf(deferred); 49 }) 50 .fail(function() { 51 52 $("body").html("<h1>Error when load shop</h1><p>The form configuration not found</p>"); 53 }); 54 } 55 56 function tryEndLoadConf(deferred){ 57 if(headerIsLoaded && footerIsLoaded && formulaireIsLoaded) { 58 prepareHeader(); 59 prepareFooter(); 60 prepareFormulaire(); 61 62 63 console.log("conf ok"); 64 65 deferred.resolve(); 66 } 67 } 68 69 function prepareHeader() { 70 if(commonConfig.headerconf === undefined){ 71 commonConfig.headerconf = {}; 72 } 73 if(commonConfig.headerconf.block === undefined){ 74 commonConfig.headerconf.block = {}; 75 } 76 if(commonConfig.headerconf.block.onlycategoriesinmenu === undefined){ 77 commonConfig.headerconf.block.onlycategoriesinmenu = false; 78 } 79 if(commonConfig.headerconf.block.recherchelangueright === undefined){ 80 commonConfig.headerconf.block.recherchelangueright = false; 81 } 82 if(commonConfig.headerconf.block.recherchefitre === undefined){ 83 commonConfig.headerconf.block.recherchefitre = false; 84 } 85 if(commonConfig.headerconf.block.recherchefiltre === undefined){ 86 commonConfig.headerconf.block.recherchefiltre = true; 87 } 88 } 89 90 function prepareFooter() { 91 92 } 93 94 function prepareFormulaire() { 95 96 } 97 98 function prepareGlobal(data){ 99 function isValidConf(conf){ 100 let valid = false; 101 if(conf !== undefined && conf !== null){ 102 switch(conf){ 103 case "removediese": 104 case "useRewriteUrl": 105 case "throwerror": 106 case "saveCurrentUrl": 107 case "currentInstance": 108 case "forceversion": 109 case "commonroot": 110 case "baseurl": 111 case "profilDefault": 112 case "dico": 113 case "target": 114 case "idShop": 115 case "clientshop": 116 case "clientroot": 117 case "clientDir": 118 case "editorAboweb": 119 case "companyAboweb": 120 case "paramFirst": 121 case "paramSecond": 122 case "modeConnexion": 123 console.error("Error config, "+conf + " can't be override"); 124 valid = false; 125 break; 126 default: 127 valid = true; 128 break; 129 } 130 } 131 return valid; 132 } 133 var conftest = commonConfig; 134 for(var p in data){ 135 if(typeof data[p] != "boolean" && typeof data[p] != "number" && typeof data[p] != "object" && data[p].contains(".")) { 136 const obArray = data[p].split('.'); 137 if(isValidConf(obArray[0])){ 138 let ob1 = conftest; 139 for(var i = 0 ; i < obArray.length -1 ; i++){ 140 if(ob1[obArray[i]] === undefined){ 141 ob1[obArray[i]] = {}; 142 } 143 ob1 = ob1[obArray[i]]; 144 } 145 ob1[obArray[i]] = data[p]; 146 } 147 } else { 148 if(isValidConf(data[p])){ 149 conftest[p] = data[p]; 150 } 151 } 152 } 153 } 154 155 factory.loadConf = function loadConf(){ 156 var deferred = $q.defer(); 157 if(commonConfig.currentInstance.idshop === undefined) { 158 loadHeaderFromJson(deferred); 159 loadFooterFromJson(deferred); 160 loadFormulaireFromJson(deferred); 161 } else { 162 163 TbsWS.refreshConnexion().then( 164 function(data){ 165 TbsWS.call('loadconfig/'+commonConfig.currentInstance.idshop,'public').then( 166 function(data){ 167 if(data['global'] !== undefined) { 168 prepareGlobal(JSON.parse(data['global'][0])); 169 } 170 171 if(data['header'] !== undefined){ 172 commonConfig.headerconf = JSON.parse(data['header'][0]); 173 } else { 174 loadHeaderFromJson(deferred); 175 } 176 177 if(data['footer'] !== undefined){ 178 commonConfig.footerconf = JSON.parse(data['footer'][0]); 179 } else { 180 loadFooterFromJson(deferred); 181 } 182 183 if(data['formulaire'] !== undefined){ 184 commonConfig.formulaireconf = JSON.parse(data['formulaire'][0]); 185 } else { 186 loadFormulaireFromJson(deferred); 187 } 188 189 headerIsLoaded=true; 190 footerIsLoaded=true; 191 formulaireIsLoaded=true; 192 193 prepareHeader(); 194 prepareFooter(); 195 prepareFormulaire(); 196 197 deferred.resolve(); 198 } 199 ,function(error) { 200 console.error('Chargement de la conf distante impossible'); 201 deferred.reject(); 202 } 203 ); 204 }, 205 function(error) { 206 deferred.reject(); 207 } 208 ); 209 210 } 211 212 return deferred.promise; 213 }; 214 215 return factory; 216}]);
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.