139,7 → 139,6 |
// uniquement en cas de nom_sel présent |
$this->traiterEspece($parametres); |
} |
|
$this->formaterParametresObservation($parametres); |
|
$requete_modification .= $this->traiterParametresObservationEtConstruireSousRequeteMaj($parametres) . |
331,7 → 330,6 |
} |
|
private function traiterEspece(&$parametres) { |
$code_referentiel = 'bdtfx'; |
if(!$parametres['nom_referentiel']) { |
$parametres['nom_referentiel'] = Cel::$default_referentiel; |
} |
348,33 → 346,48 |
1.2) pas trouvé par le webservice => ref = autre |
2) si le référentiel est inconnu (explicitement mis à "autre"), alors pas d'appel au webservice => ref = autre */ |
if(in_array($code_referentiel, Cel::$referentiels_valides)) { |
// |
$deuxieme_passe = true; |
// nom saisi sans numéro |
if ($parametres['nom_sel'] && !$parametres['nom_sel_nn']) { |
$chercheur_infos_complementaires = new RechercheInfosTaxonBeta($this->config, $code_referentiel); |
// Utilisation d'un nom sans numéro nomenclatural, recherche d'une correspondance sur le nom |
|
$complement = $chercheur_infos_complementaires->rechercherInformationsComplementairesSurNom($parametres['nom_sel']); |
// Si l'on a trouvé un résultat sur la recherche, il s'agit vraisemblablement d'un copié-collé |
// de nom de taxon qui n'a pas été validé par la selection |
if($complement) { |
$parametres['nom_sel_nn'] = $complement->{"nom_retenu.id"}; |
$parametres['nom_sel_nn'] = $complement->id; |
$parametres['nom_ret'] = RechercheInfosTaxonBeta::supprimerBiblio($complement->nom_retenu_complet); |
$parametres['nom_ret_nn'] = $complement->{"nom_retenu.id"}; |
$parametres['nt'] = $complement->num_taxonomique; |
$parametres['famille'] = $complement->famille; |
} |
else { |
// pas de résultat de recherche sur le référentiel demandé, le webservice doit peut-être être corrigé |
// mais en tout état de cause nous n'insérerons PAS de données incertaines associé à un référentiel ! |
// mais en tout état de cause nous n'insérerons PAS de données incertaines associées à un référentiel ! |
$code_referentiel = Cel::$fallback_referentiel; |
// note: 'nom_sel_nn' devrait être NULL, donc parametreNumNomEstPresent() ci-dessous ne devrait pas advenir |
$parametres['nom_sel_nn'] = $parametres['nom_ret'] = $parametres['nom_ret_nn'] = $parametres['nt'] = $parametres['famille'] = NULL; |
// goto out; |
$deuxieme_passe = false; |
} |
} |
|
if ($parametres['nom_sel_nn']) { |
// XXX: ne devrait plus être nécessaire maintenant que rechercherInformationsComplementairesSurNom() [plus précisément effectuerRequeteUrlRecherche()] |
// a été modifiée pour retourner tous les champs nécessaire. |
if ($deuxieme_passe && (!$parametres['nom_ret_nn'] || !$parametres['nt'])) { |
// 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']); |
$parametres['nom_ret'] = RechercheInfosTaxonBeta::supprimerBiblio($complement->nom_retenu_complet); |
$parametres['nom_ret_nn'] = $complement->{"nom_retenu.id"}; |
$parametres['nt'] = $complement->num_taxonomique; |
$parametres['famille'] = $complement->famille; |
// 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) { |
$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_ret_nn'] = $complement->{"nom_retenu.id"}; |
$parametres['nt'] = $complement->num_taxonomique; |
$parametres['famille'] = $complement->famille; |
} |
} |
} |
|