297,13 → 297,13 |
* @return $parametres le tableau modifié selon ce qu'il contenait |
*/ |
private function formaterParametresObservation(&$parametres) { |
|
|
$code_referentiel = 'bdtfx'; |
if(!isset($parametres['nom_referentiel'])) { |
$parametres['nom_referentiel'] = 'bdtfx:v1.01'; |
$parametres['nom_referentiel'] = Cel::$default_referentiel; |
} |
$code_referentiel = substr($parametres['nom_referentiel'], 0, 5); |
|
$code_referentiel = substr(trim($parametres['nom_referentiel']), 0, 5); |
|
if($this->estUnNomRetenuSansSaisi($parametres)) { |
echo $this->estUnNomRetenuSansSaisi($parametres, 'nom_ret_nn');exit; |
$parametres['nom_ret']= ""; |
311,30 → 311,46 |
$parametres['nt']= ""; |
$parametres['famille']= ""; |
} |
|
if ($this->estUnNomSolitaire($parametres)) { |
|
$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(count($complement) > 0) { |
$parametres['nom_sel_nn'] = $complement[0][0]; |
/* pour un nom saisi sans autocomplétion 3 cas de figure existent: |
1) référentiel bdtfx |
1.1) trouvé par le webservice => ref = bdtfx |
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)) { |
if ($this->estUnNomSolitaire($parametres)) { |
$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(count($complement) > 0) { |
$parametres['nom_sel_nn'] = $complement[0][0]; |
} |
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 ! |
$code_referentiel = Cel::$fallback_referentiel; |
// note: 'nom_sel_nn' devrait être NULL, donc parametreNumNomEstPresent() ci-dessous ne devrait pas advenir |
} |
} |
} |
|
if ($this->parametreNumNomEstPresent($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->rechercherInformationsComplementairesSurNumNom($parametres['nom_sel_nn']); |
if ($this->parametreNumNomEstPresent($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->rechercherInformationsComplementairesSurNumNom($parametres['nom_sel_nn']); |
|
$parametres['nom_ret']=$complement['Nom_Retenu']; |
$parametres['nom_ret_nn']=$complement['Num_Nom_Retenu']; |
$parametres['nt']=$complement['Num_Taxon']; |
$parametres['famille']=$complement['Famille']; |
$parametres['nom_ret']=$complement['Nom_Retenu']; |
$parametres['nom_ret_nn']=$complement['Num_Nom_Retenu']; |
$parametres['nt']=$complement['Num_Taxon']; |
$parametres['famille']=$complement['Famille']; |
} |
} |
|
// mise à jour du référentiel utilisé, sans n° de version |
$parametres['nom_referentiel'] = $code_referentiel; |
|
if(isset($parametres['ce_utilisateur'])) { |
|
425,7 → 441,7 |
$sous_requete = ''; |
|
$parametres = $this->formaterParametresObservation($parametres); |
|
|
$champs = ''; |
$valeurs = ''; |
|