Line 270... |
Line 270... |
270 |
|
270 |
|
Line 271... |
Line 271... |
271 |
public function taxonEstPresentDansDepartement($num_taxon,$code_departement) {
|
271 |
public function taxonEstPresentDansDepartement($num_taxon,$code_departement) {
|
272 |
|
272 |
|
273 |
$requete_presence_taxon = "SELECT ecd_ce_taxon FROM eflore_zg, eflore_chorologie_donnee ".
|
273 |
$requete_presence_taxon = "SELECT ecd_ce_taxon FROM eflore_zg, eflore_chorologie_donnee ".
|
274 |
"WHERE ecd_ce_taxon = ".$this->proteger($num_taxon)." ".
|
274 |
"WHERE ecd_ce_taxon = ".$this->proteger($num_taxon)." ".
|
275 |
"AND ezg_code=".$this->proteger($code_departement)." ".
|
275 |
"AND ezg_code = ".$this->proteger($code_departement)." ".
|
276 |
"AND ecd_ce_zone_geo = ezg_id_zone_geo ".
|
276 |
"AND ecd_ce_zone_geo = ezg_id_zone_geo ".
|
Line 277... |
Line 277... |
277 |
"AND ezg_id_projet_zg = ecd_ce_version_projet_zg ".
|
277 |
"AND ezg_id_projet_zg = ecd_ce_version_projet_zg ".
|
Line 285... |
Line 285... |
285 |
}
|
285 |
}
|
Line 286... |
Line 286... |
286 |
|
286 |
|
287 |
private function decouperNomEtRechercheEspeceOuSousEspece($identifiant_espece) {
|
287 |
private function decouperNomEtRechercheEspeceOuSousEspece($identifiant_espece) {
|
288 |
$nameparser=new NameParser();
|
288 |
$nameparser=new NameParser();
|
289 |
$nom_latin_decoupe=$nameparser->parse($identifiant_espece);
|
- |
|
290 |
|
289 |
$nom_latin_decoupe=$nameparser->parse($identifiant_espece);
|
291 |
// requete sous espece (on privilegie les noms retenu cf tri par esn_ce_statut)
|
290 |
// requete sous espece (on privilegie les noms retenu cf tri par esn_ce_statut)
|
292 |
if (isset($nom_latin_decoupe['infra']) && $nom_latin_decoupe['infra']!="") {
|
291 |
if (isset($nom_latin_decoupe['infra']) && $nom_latin_decoupe['infra']!="") {
|
293 |
$requete="SELECT DISTINCT en_id_nom, esn_ce_statut" .
|
292 |
$requete="SELECT DISTINCT en_id_nom, esn_ce_statut" .
|
294 |
" FROM eflore_nom, eflore_nom_rang, eflore_selection_nom " .
|
293 |
" FROM eflore_nom, eflore_nom_rang, eflore_selection_nom " .
|
295 |
" WHERE en_id_version_projet_nom = '25' AND en_nom_genre = '".$this->proteger($nom_latin_decoupe['genus'])."' " .
|
294 |
" WHERE en_id_version_projet_nom = '25' AND en_nom_genre = ".$this->proteger($nom_latin_decoupe['genus'])." " .
|
296 |
" AND enrg_abreviation_rang = '".$this->proteger($nom_latin_decoupe['infra_type'])."' " .
|
295 |
" AND enrg_abreviation_rang = ".$this->proteger($nom_latin_decoupe['infra_type'])." " .
|
297 |
" AND en_epithete_infra_specifique = '".$this->proteger($nom_latin_decoupe['infra'])."' " .
|
296 |
" AND en_epithete_infra_specifique = ".$this->proteger($nom_latin_decoupe['infra'])." " .
|
298 |
" AND esn_id_nom= en_id_nom ".
|
297 |
" AND esn_id_nom= en_id_nom ".
|
299 |
" AND esn_id_version_projet_taxon=en_id_version_projet_nom " .
|
298 |
" AND esn_id_version_projet_taxon=en_id_version_projet_nom " .
|
300 |
" AND en_epithete_espece = '".$this->proteger($nom_latin_decoupe['species'])."' AND en_ce_rang = enrg_id_rang " .
|
299 |
" AND en_epithete_espece = ".$this->proteger($nom_latin_decoupe['species'])." AND en_ce_rang = enrg_id_rang " .
|
301 |
" ORDER BY esn_ce_statut ".
|
300 |
" ORDER BY esn_ce_statut ".
|
302 |
" LIMIT 1";
|
301 |
" LIMIT 1";
|
303 |
}
|
302 |
}
|
304 |
else { // espece (on privilegie les noms retenu cf tri par esn_ce_statut)
|
303 |
else { // espece (on privilegie les noms retenu cf tri par esn_ce_statut)
|
305 |
$requete="SELECT DISTINCT en_id_nom, esn_ce_statut" .
|
304 |
$requete="SELECT DISTINCT en_id_nom, esn_ce_statut" .
|
306 |
" FROM eflore_nom, eflore_nom_rang, eflore_selection_nom " .
|
305 |
" FROM eflore_nom, eflore_nom_rang, eflore_selection_nom " .
|
307 |
" WHERE en_id_version_projet_nom = '25' AND en_nom_genre = '".$this->proteger($nom_latin_decoupe['genus'])."' " .
|
306 |
" WHERE en_id_version_projet_nom = '25' AND en_nom_genre = ".$this->proteger($nom_latin_decoupe['genus'])." " .
|
308 |
" AND enrg_abreviation_rang = 'sp.' " .
|
307 |
" AND enrg_abreviation_rang = 'sp.' " .
|
309 |
" AND esn_id_nom= en_id_nom ".
|
308 |
" AND esn_id_nom= en_id_nom ".
|
310 |
" AND esn_id_version_projet_taxon=en_id_version_projet_nom " .
|
309 |
" AND esn_id_version_projet_taxon=en_id_version_projet_nom " .
|
311 |
" AND en_epithete_espece = '".$this->proteger($nom_latin_decoupe['species'])."' AND en_ce_rang = enrg_id_rang " .
|
310 |
" AND en_epithete_espece = ".$this->proteger($nom_latin_decoupe['species'])." AND en_ce_rang = enrg_id_rang " .
|
312 |
" ORDER BY esn_ce_statut ".
|
311 |
" ORDER BY esn_ce_statut ".
|
Line 313... |
Line 312... |
313 |
" LIMIT 1";
|
312 |
" LIMIT 1";
|
Line 319... |
Line 318... |
319 |
$retour = array();
|
318 |
$retour = array();
|
320 |
if (is_array($resultat) && count($resultat) > 0) {
|
319 |
if (is_array($resultat) && count($resultat) > 0) {
|
321 |
$retour = $resultat[0];
|
320 |
$retour = $resultat[0];
|
322 |
}
|
321 |
}
|
Line 323... |
Line 322... |
323 |
|
322 |
|
324 |
return $resultat;
|
323 |
return $retour;
|
Line 325... |
Line 324... |
325 |
}
|
324 |
}
|
Line 326... |
Line 325... |
326 |
|
325 |
|
Line 401... |
Line 400... |
401 |
preg_match('/BDNFFnt([0-9][0-9]*)/', $identifiant_espece, $elements);
|
400 |
preg_match('/BDNFFnt([0-9][0-9]*)/', $identifiant_espece, $elements);
|
Line 402... |
Line 401... |
402 |
|
401 |
|
403 |
if (isset($elements[1])) {
|
402 |
if (isset($elements[1])) {
|
404 |
// Numero taxonomique
|
403 |
// Numero taxonomique
|
- |
|
404 |
$infos_taxon = $this->effectuerRequeteInfosComplementairesSurNumTax($elements[1]);
|
405 |
$infos_taxon = $this->effectuerRequeteInfosComplementairesSurNumTax($elements[1]);
|
405 |
$infos_taxon = $infos_taxon[0];
|
406 |
$retour = array("nom_sel" => $this->formaterNom($infos_taxon), "en_id_nom" => $infos_taxon['en_id_nom']);
|
406 |
$retour = array("nom_sel" => $this->formaterNom($infos_taxon), "en_id_nom" => $infos_taxon['en_id_nom']);
|
407 |
} else {
|
407 |
} else {
|
408 |
// Nom scientifique
|
408 |
// Nom scientifique
|
409 |
$id_nom = $this->decouperNomEtRechercheEspeceOuSousEspece($identifiant_espece);
|
409 |
$id_nom = $this->decouperNomEtRechercheEspeceOuSousEspece($identifiant_espece);
|
- |
|
410 |
// Recherche du nom associe
|
- |
|
411 |
$retour = array("nom_sel" => $identifiant_espece);
|
410 |
// Recherche du nom associe
|
412 |
if(is_array($id_nom && isset($id_nom['en_id_nom']))) {
|
411 |
$infos_nom = $this->effectuerRequeteInfosComplementairesSurNumNom($id_nom['en_id_nom']);
|
413 |
$infos_nom = $this->effectuerRequeteInfosComplementairesSurNumNom($id_nom['en_id_nom']);
|
- |
|
414 |
if (is_array($infos_nom) && !empty($infos_nom)) {
|
412 |
if (is_array($infos_nom) && !empty($infos_nom)) {
|
415 |
$infos_nom = $infos_nom[0];
|
413 |
$retour = array("nom_sel" => $this->formaterNom($infos_nom), "en_id_nom" => $id_nom['en_id_nom']);
|
416 |
$retour = array("nom_sel" => $this->formaterNom($infos_nom), "en_id_nom" => $id_nom['en_id_nom']);
|
414 |
} else {
|
- |
|
415 |
$retour = array("nom_sel" => $identifiant_espece);
|
417 |
}
|
416 |
}
|
418 |
}
|
417 |
}
|
419 |
}
|
- |
|
420 |
}
|
418 |
}
|
421 |
|
419 |
return $retour;
|
422 |
return $retour;
|
420 |
}
|
423 |
}
|
421 |
}
|
424 |
}
|
422 |
?>
|
425 |
?>
|