PageSourceSearch

https://boutique.valeursactuelles.com/core/aboshop/config.factory.js?v=

js valeursactuelles.com collected 2026-09-24 17:40:06 UTC 6,393 bytes, 216 lines download raw bytes

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.