Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2792 → Rev 2793

/trunk/jrest/services/CelObs.php
205,12 → 205,8
$donneesAModifier = array(
'certitude' => 'Certaine',
'nom_referentiel' => $donnees['nom_referentiel'],
'nom_sel_nn' => $donnees['nom_sel_nn'],
);
// TODO : la récupération des infos du nom est aussi effectué par la suite voir ce qu'il faut garder
$infosNoms = $this->getNomInfos($donnees['nom_sel_nn'], $donnees['nom_referentiel']);
if ($infosNoms) {
$donneesAModifier = array_merge($donneesAModifier, $infosNoms);
}
 
$modification = $gestion_observation->modifierObservationPublique($idObs, $donneesAModifier);
 
227,81 → 223,4
$this->envoyerMessageErreur(500, $msg);// Internal Server Error
}
}
 
// TODO : cette méthode et celles qui en dépendent sont peut être inutiles au vue de la méthode traiterEspece() de GestionObservation
private function getNomInfos($id_nom, $code_referentiel) {
$retour = false;
if ($id_nom && $code_referentiel) {
switch ($code_referentiel) {
case 'bdtfx' :
$retour = $this->getInfosBdtfx($id_nom);
break;
case 'bdtxa' :
$retour = $this->getInfosBdtxa($id_nom);
break;
case 'isfan' :
$retour = $this->getInfosIsfan($id_nom);
break;
case 'apd' :
$retour = $this->getInfosApd($id_nom);
break;
}
}
return $retour;
}
 
private function getInfosBdtfx($id_nom) {
$idNomP = CEL::db()->proteger($id_nom);
$requete = "SELECT o.num_nom_retenu AS nom_ret_nn, o.num_taxonomique AS nt, o.famille, ".
" CONCAT(o.nom_sci, ' ', o.auteur) AS nom_sel, ".
" CONCAT(ret.nom_sci, ' ', ret.auteur) AS nom_ret ".
"FROM {$this->bdtfx} AS o ".
" LEFT JOIN {$this->bdtfx} AS ret ON (o.num_nom_retenu != 0 AND o.num_nom_retenu = ret.num_nom) ".
"WHERE o.num_nom = $idNomP ".
' -- '.__FILE__.' : '.__LINE__;
$resultat = Cel::db()->requeterLigne($requete);
return $resultat;
}
 
private function getInfosBdtxa($id_nom) {
$idNomP = CEL::db()->proteger($id_nom);
// Champ "num_tax" au lieu de "num_taxonomique"
$requete = "SELECT o.num_nom_retenu AS nom_ret_nn, o.num_tax AS nt, o.famille, ".
" CONCAT(o.nom_sci, ' ', o.auteur) AS nom_sel, ".
" CONCAT(ret.nom_sci, ' ', ret.auteur) AS nom_ret ".
"FROM {$this->bdtxa} AS o ".
" LEFT JOIN {$this->bdtxa} AS ret ON (o.num_nom_retenu != 0 AND o.num_nom_retenu = ret.num_nom) ".
"WHERE o.num_nom = $idNomP ".
' -- '.__FILE__.' : '.__LINE__;
$resultat = Cel::db()->requeterLigne($requete);
return $resultat;
}
 
private function getInfosIsfan($id_nom) {
$idNomP = CEL::db()->proteger($id_nom);
// Champ "num_tax" au lieu de "num_taxonomique"
$requete = "SELECT o.num_nom_retenu AS nom_ret_nn, o.num_taxonomique AS nt, o.famille, ".
" CONCAT(o.nom_sci, ' ', o.auteur) AS nom_sel, ".
" CONCAT(ret.nom_sci, ' ', ret.auteur) AS nom_ret ".
"FROM {$this->isfan} AS o ".
" LEFT JOIN {$this->isfan} AS ret ON (o.num_nom_retenu != 0 AND o.num_nom_retenu = ret.num_nom) ".
"WHERE o.num_nom = $idNomP ".
' -- '.__FILE__.' : '.__LINE__;
$resultat = Cel::db()->requeterLigne($requete);
return $resultat;
}
 
private function getInfosApd($id_nom) {
$idNomP = CEL::db()->proteger($id_nom);
// Champ "num_tax" au lieu de "num_taxonomique"
$requete = "SELECT o.num_nom_retenu AS nom_ret_nn, o.num_taxonomique AS nt, o.famille, ".
" CONCAT(o.nom_sci, ' ', o.auteur) AS nom_sel, ".
" CONCAT(ret.nom_sci, ' ', ret.auteur) AS nom_ret ".
"FROM {$this->apd} AS o ".
" LEFT JOIN {$this->apd} AS ret ON (o.num_nom_retenu != 0 AND o.num_nom_retenu = ret.num_nom) ".
"WHERE o.num_nom = $idNomP ".
' -- '.__FILE__.' : '.__LINE__;
$resultat = Cel::db()->requeterLigne($requete);
return $resultat;
}
}
/trunk/jrest/bibliotheque/GestionObservation.php
430,7 → 430,7
if ($deuxieme_passe && (! array_key_exists('nom_ret_nn', $parametres) || ! array_key_exists('nt', $parametres))) {
// Utilisation d'un nom faisant parti du referentiel : recherche du nom valide correspondant
$chercheur_infos_complementaires = new RechercheInfosTaxonBeta($this->config , $code_referentiel);
$complement = $chercheur_infos_complementaires->effectuerRequeteInfosComplementairesSurNumNom($parametres['nom_sel_nn']);
$complement = $chercheur_infos_complementaires->effectuerRequeteInfosComplementairesSurNumNom($parametres['nom_sel_nn'], $code_referentiel);
// les paramètres passés datait peut-être d'une précédente autocomplétion, mais le référentiel ayant été changé par l'utilisateur
// la détection ne fonctionne plus : nous supprimons les données précédemment générées de la base !
if (!$complement) {
437,6 → 437,7
$parametres['nom_sel_nn'] = $parametres['nom_ret'] = $parametres['nom_ret_nn'] = $parametres['nt'] = $parametres['famille'] = NULL;
} else {
$parametres['nom_ret'] = RechercheInfosTaxonBeta::supprimerBiblio($complement->nom_retenu_complet);
$parametres['nom_sel'] = empty($parametres['nom_sel']) ? $complement->nom_sci : $parametres['nom_sel'];
$parametres['nom_ret_nn'] = $complement->{"nom_retenu.id"};
$parametres['nt'] = $complement->num_taxonomique;
$parametres['famille'] = $complement->famille;