Subversion Repositories eFlore/Projets.eflore-projets

Rev

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

Rev 328 Rev 700
Line 149... Line 149...
149
				case 'inferieurs' : 
149
				case 'inferieurs' : 
150
					$rel = 'recupererIdInf';
150
					$rel = 'recupererIdInf';
151
					$this->format_reponse .= '/inferieurs'; 	
151
					$this->format_reponse .= '/inferieurs'; 	
152
					$this->traiterRessourceIdRelationInfSup($rel); 				
152
					$this->traiterRessourceIdRelationInfSup($rel); 				
153
					break;
153
					break;
-
 
154
				case 'hierarchie' :
-
 
155
					$rel = 'recupererIdHierarchie';
-
 
156
					$this->format_reponse .= '/hierarchie';
-
 
157
					$this->traiterRessourceIdRelationHierarchie($rel);
-
 
158
					break;
154
				default : 
159
				default : 
155
					$e = 'Erreur dans votre requête </br> Ressources disponibles : <br/>
160
					$e = 'Erreur dans votre requête </br> Ressources disponibles : <br/>
156
						 <li> taxons/#id/relations </li><li> #id/relations/inferieurs </li>
161
						 <li> taxons/#id/relations </li><li> #id/relations/inferieurs </li>
157
						 <li> #id/relations/superieurs </li>';
162
						 <li> #id/relations/superieurs </li>';
158
					$this->renvoyerErreur(RestServeur::HTTP_CODE_MAUVAISE_REQUETE, $e); 
163
					$this->renvoyerErreur(RestServeur::HTTP_CODE_MAUVAISE_REQUETE, $e); 
Line 179... Line 184...
179
			$this->corps_http = json_encode($res);
184
			$this->corps_http = json_encode($res);
180
			$this->entete_http = RestServeur::HTTP_CODE_OK;
185
			$this->entete_http = RestServeur::HTTP_CODE_OK;
181
		}
186
		}
182
	}
187
	}
Line -... Line 188...
-
 
188
	
-
 
189
	public function traiterRessourceIdRelationHierarchie($rel) {
-
 
190
		//Appel de la fct récupérerIdSup ou recupererIdInf : retourne les num_nom des noms inferieurs ou superieurs
-
 
191
		$res_relation = $this->$rel();
-
 
192
		//analyse du résultat retourné par la requete de recherche des identifiants correspondant aux taxons inf|sup :
-
 
193
		if ($res_relation == '') {
-
 
194
			//dans le cas ou la requete comporte des erreurs
-
 
195
			$e = 'Fct traiterRessourceIdRelationInfSup : La requête forme comporte une erreur!';
-
 
196
			$this->renvoyerErreur(RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE, $e);
-
 
197
		} elseif ($res_relation) {
-
 
198
			//dans le cas ou une ou plusieurs relations est retournée, on récupère les identifiants ss la forme (id, id, id)
-
 
199
			foreach ($res_relation as $ligne) $res[] = $ligne['num_nom'];
-
 
200
			$res = implode(',',$res);
-
 
201
			$this->requete_condition[0] = "num_nom IN ($res)";
-
 
202
			$this->requete_champ 	 .=  ', rang, num_tax_sup ';
-
 
203
		} else { //dans le cas ou aucune relation n'existe
-
 
204
			$res = array($this->num_nom_taxon => null);
-
 
205
			$this->corps_http = json_encode($res);
-
 
206
			$this->entete_http = RestServeur::HTTP_CODE_OK;
-
 
207
		}
-
 
208
	}
-
 
209
	
-
 
210
	public function recupererIdHierarchie() {
-
 
211
		$req_relation = 'SELECT num_nom FROM '.$this->table.' '.
-
 
212
			' WHERE hierarchie LIKE CONCAT('.
-
 
213
				'(SELECT hierarchie FROM '.
-
 
214
					$this->table.' '.
-
 
215
					'WHERE num_nom = '.$this->getBdd()->proteger($this->num_nom_taxon).')'.
-
 
216
					', '.$this->getBdd()->proteger($this->num_nom_taxon.'-%').
-
 
217
				')';
-
 
218
		$res_relation = $this->getBdd()->recupererTous($req_relation);
-
 
219
		return $res_relation;
-
 
220
	}
183
	
221
	
184
	public function recupererIdInf() {
222
	public function recupererIdInf() {
185
		//SELECT num_nom FROM bfdtx_v2_00 WHERE num_tax_sup = (SELECT num_nom FROM bdtfx_v2_00 WHERE num_nom = X);
223
		//SELECT num_nom FROM bfdtx_v2_00 WHERE num_tax_sup = (SELECT num_nom FROM bdtfx_v2_00 WHERE num_nom = X);
186
		$req_relation = 'SELECT num_nom FROM '.$this->table
224
		$req_relation = 'SELECT num_nom FROM '.$this->table
187
							.' WHERE num_tax_sup = (SELECT num_nom FROM '
225
							.' WHERE num_tax_sup = (SELECT num_nom FROM '
Line 284... Line 322...
284
				$reponse = $this->formaterIdSuperieur($resultat, $version);
322
				$reponse = $this->formaterIdSuperieur($resultat, $version);
285
				break;
323
				break;
286
			case 'taxons/id/relations/inferieurs' :
324
			case 'taxons/id/relations/inferieurs' :
287
				$reponse = $this->formaterIdInferieur($resultat);
325
				$reponse = $this->formaterIdInferieur($resultat);
288
				break;
326
				break;
-
 
327
			case 'taxons/id/relations/hierarchie' :
-
 
328
				// le formatage de la hiérarchie est identique aux relations inférieures
-
 
329
				$reponse = $this->formaterIdInferieur($resultat);
-
 
330
				break;
289
			case 'taxons/stats/annees' :  //ds CommunNomsTaxons
331
			case 'taxons/stats/annees' :  //ds CommunNomsTaxons
290
				$reponse = $this->formaterStatsAnnee($resultat);
332
				$reponse = $this->formaterStatsAnnee($resultat);
291
				break;
333
				break;
292
			case 'taxons/stats/rangs' ://ds CommunNomsTaxons
334
			case 'taxons/stats/rangs' ://ds CommunNomsTaxons
293
				$reponse = $this->formaterStatsRang($resultat);
335
				$reponse = $this->formaterStatsRang($resultat);