Line 295... |
Line 295... |
295 |
* @param array $parametres tableau indexé avec les mêmes noms de champs que la bdd
|
295 |
* @param array $parametres tableau indexé avec les mêmes noms de champs que la bdd
|
296 |
*
|
296 |
*
|
297 |
* @return $parametres le tableau modifié selon ce qu'il contenait
|
297 |
* @return $parametres le tableau modifié selon ce qu'il contenait
|
298 |
*/
|
298 |
*/
|
299 |
private function formaterParametresObservation(&$parametres) {
|
299 |
private function formaterParametresObservation(&$parametres) {
|
300 |
|
300 |
|
301 |
$code_referentiel = 'bdtfx';
|
301 |
$code_referentiel = 'bdtfx';
|
302 |
if(!isset($parametres['nom_referentiel'])) {
|
302 |
if(!isset($parametres['nom_referentiel'])) {
|
303 |
$parametres['nom_referentiel'] = 'bdtfx:v1.01';
|
303 |
$parametres['nom_referentiel'] = Cel::$default_referentiel;
|
304 |
}
|
304 |
}
|
305 |
$code_referentiel = substr($parametres['nom_referentiel'], 0, 5);
|
305 |
$code_referentiel = substr(trim($parametres['nom_referentiel']), 0, 5);
|
306 |
|
306 |
|
307 |
if($this->estUnNomRetenuSansSaisi($parametres)) {
|
307 |
if($this->estUnNomRetenuSansSaisi($parametres)) {
|
308 |
echo $this->estUnNomRetenuSansSaisi($parametres, 'nom_ret_nn');exit;
|
308 |
echo $this->estUnNomRetenuSansSaisi($parametres, 'nom_ret_nn');exit;
|
309 |
$parametres['nom_ret']= "";
|
309 |
$parametres['nom_ret']= "";
|
310 |
$parametres['nom_ret_nn']= "";
|
310 |
$parametres['nom_ret_nn']= "";
|
311 |
$parametres['nt']= "";
|
311 |
$parametres['nt']= "";
|
312 |
$parametres['famille']= "";
|
312 |
$parametres['famille']= "";
|
313 |
}
|
313 |
}
|
314 |
|
314 |
|
- |
|
315 |
/* pour un nom saisi sans autocomplétion 3 cas de figure existent:
|
- |
|
316 |
1) référentiel bdtfx
|
- |
|
317 |
1.1) trouvé par le webservice => ref = bdtfx
|
- |
|
318 |
1.2) pas trouvé par le webservice => ref = autre
|
- |
|
319 |
2) si le référentiel est inconnu (explicitement mis à "autre"), alors pas d'appel au webservice => ref = autre */
|
- |
|
320 |
if(in_array($code_referentiel, Cel::$referentiels_valides)) {
|
315 |
if ($this->estUnNomSolitaire($parametres)) {
|
321 |
if ($this->estUnNomSolitaire($parametres)) {
|
316 |
|
- |
|
317 |
$chercheur_infos_complementaires = new RechercheInfosTaxonBeta($this->config, $code_referentiel);
|
322 |
$chercheur_infos_complementaires = new RechercheInfosTaxonBeta($this->config, $code_referentiel);
|
318 |
// Utilisation d'un nom sans numéro nomenclatural, recherche d'une correspondance sur le nom
|
323 |
// Utilisation d'un nom sans numéro nomenclatural, recherche d'une correspondance sur le nom
|
- |
|
324 |
|
319 |
$complement = $chercheur_infos_complementaires->rechercherInformationsComplementairesSurNom($parametres['nom_sel']);
|
325 |
$complement = $chercheur_infos_complementaires->rechercherInformationsComplementairesSurNom($parametres['nom_sel']);
|
320 |
|
326 |
|
321 |
// Si l'on a trouvé un résultat sur la recherche, il s'agit vraisemblablement d'un copié-collé
|
327 |
// Si l'on a trouvé un résultat sur la recherche, il s'agit vraisemblablement d'un copié-collé
|
322 |
// de nom de taxon qui n'a pas été validé par la selection
|
328 |
// de nom de taxon qui n'a pas été validé par la selection
|
323 |
if(count($complement) > 0) {
|
329 |
if(count($complement) > 0) {
|
324 |
$parametres['nom_sel_nn'] = $complement[0][0];
|
330 |
$parametres['nom_sel_nn'] = $complement[0][0];
|
- |
|
331 |
}
|
- |
|
332 |
else {
|
- |
|
333 |
// pas de résultat de recherche sur le référentiel demandé, le webservice doit peut-être être corrigé
|
- |
|
334 |
// mais en tout état de cause nous n'insérerons PAS de données incertaines associé à un référentiel !
|
- |
|
335 |
$code_referentiel = Cel::$fallback_referentiel;
|
- |
|
336 |
// note: 'nom_sel_nn' devrait être NULL, donc parametreNumNomEstPresent() ci-dessous ne devrait pas advenir
|
- |
|
337 |
}
|
325 |
}
|
338 |
}
|
326 |
}
|
- |
|
Line 327... |
Line 339... |
327 |
|
339 |
|
328 |
if ($this->parametreNumNomEstPresent($parametres)) {
|
340 |
if ($this->parametreNumNomEstPresent($parametres)) {
|
329 |
// Utilisation d'un nom faisant parti du referentiel : recherche du nom valide correspondant
|
341 |
// Utilisation d'un nom faisant parti du referentiel : recherche du nom valide correspondant
|
330 |
$chercheur_infos_complementaires = new RechercheInfosTaxonBeta($this->config , $code_referentiel);
|
342 |
$chercheur_infos_complementaires = new RechercheInfosTaxonBeta($this->config , $code_referentiel);
|
Line 331... |
Line 343... |
331 |
$complement = $chercheur_infos_complementaires->rechercherInformationsComplementairesSurNumNom($parametres['nom_sel_nn']);
|
343 |
$complement = $chercheur_infos_complementaires->rechercherInformationsComplementairesSurNumNom($parametres['nom_sel_nn']);
|
332 |
|
344 |
|
333 |
$parametres['nom_ret']=$complement['Nom_Retenu'];
|
345 |
$parametres['nom_ret']=$complement['Nom_Retenu'];
|
334 |
$parametres['nom_ret_nn']=$complement['Num_Nom_Retenu'];
|
346 |
$parametres['nom_ret_nn']=$complement['Num_Nom_Retenu'];
|
- |
|
347 |
$parametres['nt']=$complement['Num_Taxon'];
|
335 |
$parametres['nt']=$complement['Num_Taxon'];
|
348 |
$parametres['famille']=$complement['Famille'];
|
- |
|
349 |
}
|
- |
|
350 |
}
|
- |
|
351 |
|
Line 336... |
Line 352... |
336 |
$parametres['famille']=$complement['Famille'];
|
352 |
// mise à jour du référentiel utilisé, sans n° de version
|
Line 337... |
Line 353... |
337 |
}
|
353 |
$parametres['nom_referentiel'] = $code_referentiel;
|
Line 423... |
Line 439... |
423 |
private function traiterParametresObservationEtConstruireSousRequeteAjout($parametres) {
|
439 |
private function traiterParametresObservationEtConstruireSousRequeteAjout($parametres) {
|
Line 424... |
Line 440... |
424 |
|
440 |
|
Line 425... |
Line 441... |
425 |
$sous_requete = '';
|
441 |
$sous_requete = '';
|
426 |
|
442 |
|
427 |
$parametres = $this->formaterParametresObservation($parametres);
|
443 |
$parametres = $this->formaterParametresObservation($parametres);
|
428 |
|
444 |
|
Line 429... |
Line 445... |
429 |
$champs = '';
|
445 |
$champs = '';
|
430 |
$valeurs = '';
|
446 |
$valeurs = '';
|