Subversion Repositories eFlore/Applications.cel

Rev

Rev 1833 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1833 Rev 1852
Line 38... Line 38...
38
	
38
	
39
	private function formaterUrlsServices($config) {
39
	private function formaterUrlsServices($config) {
40
		$this->url_service_nom = str_replace('{referentiel}', $this->code_referentiel ,$config['eflore']['url_service_nom']);
40
		$this->url_service_nom = str_replace('{referentiel}', $this->code_referentiel ,$config['eflore']['url_service_nom']);
41
		$this->url_service_taxon = str_replace('{referentiel}', $this->code_referentiel ,$config['eflore']['url_service_taxon']);
41
		$this->url_service_taxon = str_replace('{referentiel}', $this->code_referentiel ,$config['eflore']['url_service_taxon']);
-
 
42
		$this->url_service_chorologie_obs = $config['eflore']['url_service_chorologie_obs'];
42
		$this->url_service_chorologie_obs = $config['eflore']['url_service_chorologie_obs'];
43
		$this->config = $config;
Line 43... Line 44...
43
	}
44
	}
Line 44... Line 45...
44
	
45
	
Line 134... Line 135...
134
	
135
	
135
	static function estUnHybride($nom_saisi) {
136
	static function estUnHybride($nom_saisi) {
136
		return strpos($nom_saisi,'x ') === 0;
137
		return strpos($nom_saisi,'x ') === 0;
Line 137... Line 138...
137
	}
138
	}
-
 
139
	
-
 
140
	public function effectuerRequeteInfosComplementairesSurNumNom($num_nom, $ref = NULL) {
-
 
141
		if($ref && isset($this->config['eflore']['api_host'])) {
-
 
142
			return @json_decode(file_get_contents($this->config['eflore']['api_host'] . '/' .
-
 
143
												  $ref . '/' .
-
 
144
												  'noms' . '/' .
-
 
145
												  $num_nom .
-
 
146
												  '?retour.champs=' . implode(',', array('nom_sci,auteur',
-
 
147
																								  'id',
-
 
148
																								  'nom_retenu_complet',
-
 
149
																								  'nom_retenu.id',
-
 
150
																								  'num_taxonomique',
-
 
151
																								  'famille'))));
138
	
152
		}
139
	public function effectuerRequeteInfosComplementairesSurNumNom($num_nom) {
153
		// XXX: compat
Line 140... Line 154...
140
		return @json_decode(file_get_contents($this->url_service_nom.'/'.$num_nom.'?retour.champs=nom_sci,auteur,id,nom_retenu_complet,nom_retenu.id,num_taxonomique,famille'));
154
		return @json_decode(file_get_contents($this->url_service_nom.'/'.$num_nom.'?retour.champs=nom_sci,auteur,id,nom_retenu_complet,nom_retenu.id,num_taxonomique,famille'));
141
	}
155
	}
Line 181... Line 195...
181
 
195
 
182
			if($ref != $this->code_referentiel) {
196
			if($ref != $this->code_referentiel) {
183
				// TODO: ignorer la colonne référentiel, et utiliser le référentiel donné
197
				// TODO: ignorer la colonne référentiel, et utiliser le référentiel donné
184
				// mais il faut alors avertir le service (d'import/modif) d'utiliser le référentiel
198
				// mais il faut alors avertir le service (d'import/modif) d'utiliser le référentiel
-
 
199
				// passé au nom d'espèce
-
 
200
				// Seul le effectuerRequeteInfosComplementairesSurNumNom() le supporte, car c'est encore
185
				// passé au nom d'espèce
201
				// un peu complexe à implémenter proprement pour cause d'attributs de classes.
186
			}
202
			}
187
			// Numero nomenclatural
203
			// Numero nomenclatural
188
			if ($type == 'nn') {
204
			if ($type == 'nn') {
189
				$obj = $this->effectuerRequeteInfosComplementairesSurNumNom($num);
205
				$obj = $this->effectuerRequeteInfosComplementairesSurNumNom($num, $ref);
190
			}
206
			}
191
			// Numero taxonomique
207
			// Numero taxonomique
192
			else {
208
			else {
193
				//TODO: retourner moins de champs grâce au paramètre retour.champs
209
				//TODO: retourner moins de champs grâce au paramètre retour.champs