Line 137... |
Line 137... |
137 |
}
|
137 |
}
|
138 |
else {
|
138 |
else {
|
139 |
// uniquement en cas de nom_sel présent
|
139 |
// uniquement en cas de nom_sel présent
|
140 |
$this->traiterEspece($parametres);
|
140 |
$this->traiterEspece($parametres);
|
141 |
}
|
141 |
}
|
142 |
|
- |
|
143 |
$this->formaterParametresObservation($parametres);
|
142 |
$this->formaterParametresObservation($parametres);
|
Line 144... |
Line 143... |
144 |
|
143 |
|
145 |
$requete_modification .= $this->traiterParametresObservationEtConstruireSousRequeteMaj($parametres) .
|
144 |
$requete_modification .= $this->traiterParametresObservationEtConstruireSousRequeteMaj($parametres) .
|
Line 329... |
Line 328... |
329 |
|
328 |
|
330 |
return $migration_releve;
|
329 |
return $migration_releve;
|
Line 331... |
Line 330... |
331 |
}
|
330 |
}
|
332 |
|
- |
|
333 |
private function traiterEspece(&$parametres) {
|
331 |
|
334 |
$code_referentiel = 'bdtfx';
|
332 |
private function traiterEspece(&$parametres) {
|
335 |
if(!$parametres['nom_referentiel']) {
|
333 |
if(!$parametres['nom_referentiel']) {
|
336 |
$parametres['nom_referentiel'] = Cel::$default_referentiel;
|
334 |
$parametres['nom_referentiel'] = Cel::$default_referentiel;
|
Line 346... |
Line 344... |
346 |
1) référentiel bdtfx
|
344 |
1) référentiel bdtfx
|
347 |
1.1) trouvé par le webservice => ref = bdtfx
|
345 |
1.1) trouvé par le webservice => ref = bdtfx
|
348 |
1.2) pas trouvé par le webservice => ref = autre
|
346 |
1.2) pas trouvé par le webservice => ref = autre
|
349 |
2) si le référentiel est inconnu (explicitement mis à "autre"), alors pas d'appel au webservice => ref = autre */
|
347 |
2) si le référentiel est inconnu (explicitement mis à "autre"), alors pas d'appel au webservice => ref = autre */
|
350 |
if(in_array($code_referentiel, Cel::$referentiels_valides)) {
|
348 |
if(in_array($code_referentiel, Cel::$referentiels_valides)) {
|
- |
|
349 |
//
|
- |
|
350 |
$deuxieme_passe = true;
|
351 |
// nom saisi sans numéro
|
351 |
// nom saisi sans numéro
|
352 |
if ($parametres['nom_sel'] && !$parametres['nom_sel_nn']) {
|
352 |
if ($parametres['nom_sel'] && !$parametres['nom_sel_nn']) {
|
353 |
$chercheur_infos_complementaires = new RechercheInfosTaxonBeta($this->config, $code_referentiel);
|
353 |
$chercheur_infos_complementaires = new RechercheInfosTaxonBeta($this->config, $code_referentiel);
|
354 |
// Utilisation d'un nom sans numéro nomenclatural, recherche d'une correspondance sur le nom
|
354 |
// Utilisation d'un nom sans numéro nomenclatural, recherche d'une correspondance sur le nom
|
355 |
|
- |
|
356 |
$complement = $chercheur_infos_complementaires->rechercherInformationsComplementairesSurNom($parametres['nom_sel']);
|
355 |
$complement = $chercheur_infos_complementaires->rechercherInformationsComplementairesSurNom($parametres['nom_sel']);
|
357 |
// Si l'on a trouvé un résultat sur la recherche, il s'agit vraisemblablement d'un copié-collé
|
356 |
// Si l'on a trouvé un résultat sur la recherche, il s'agit vraisemblablement d'un copié-collé
|
358 |
// de nom de taxon qui n'a pas été validé par la selection
|
357 |
// de nom de taxon qui n'a pas été validé par la selection
|
359 |
if($complement) {
|
358 |
if($complement) {
|
- |
|
359 |
$parametres['nom_sel_nn'] = $complement->id;
|
- |
|
360 |
$parametres['nom_ret'] = RechercheInfosTaxonBeta::supprimerBiblio($complement->nom_retenu_complet);
|
360 |
$parametres['nom_sel_nn'] = $complement->{"nom_retenu.id"};
|
361 |
$parametres['nom_ret_nn'] = $complement->{"nom_retenu.id"};
|
- |
|
362 |
$parametres['nt'] = $complement->num_taxonomique;
|
- |
|
363 |
$parametres['famille'] = $complement->famille;
|
361 |
}
|
364 |
}
|
362 |
else {
|
365 |
else {
|
363 |
// pas de résultat de recherche sur le référentiel demandé, le webservice doit peut-être être corrigé
|
366 |
// pas de résultat de recherche sur le référentiel demandé, le webservice doit peut-être être corrigé
|
364 |
// mais en tout état de cause nous n'insérerons PAS de données incertaines associé à un référentiel !
|
367 |
// mais en tout état de cause nous n'insérerons PAS de données incertaines associées à un référentiel !
|
365 |
$code_referentiel = Cel::$fallback_referentiel;
|
368 |
$code_referentiel = Cel::$fallback_referentiel;
|
366 |
// note: 'nom_sel_nn' devrait être NULL, donc parametreNumNomEstPresent() ci-dessous ne devrait pas advenir
|
369 |
$parametres['nom_sel_nn'] = $parametres['nom_ret'] = $parametres['nom_ret_nn'] = $parametres['nt'] = $parametres['famille'] = NULL;
|
- |
|
370 |
// goto out;
|
- |
|
371 |
$deuxieme_passe = false;
|
367 |
}
|
372 |
}
|
368 |
}
|
373 |
}
|
Line -... |
Line 374... |
- |
|
374 |
|
- |
|
375 |
// XXX: ne devrait plus être nécessaire maintenant que rechercherInformationsComplementairesSurNom() [plus précisément effectuerRequeteUrlRecherche()]
|
369 |
|
376 |
// a été modifiée pour retourner tous les champs nécessaire.
|
370 |
if ($parametres['nom_sel_nn']) {
|
377 |
if ($deuxieme_passe && (!$parametres['nom_ret_nn'] || !$parametres['nt'])) {
|
371 |
// Utilisation d'un nom faisant parti du referentiel : recherche du nom valide correspondant
|
378 |
// Utilisation d'un nom faisant parti du referentiel : recherche du nom valide correspondant
|
372 |
$chercheur_infos_complementaires = new RechercheInfosTaxonBeta($this->config , $code_referentiel);
|
379 |
$chercheur_infos_complementaires = new RechercheInfosTaxonBeta($this->config , $code_referentiel);
|
- |
|
380 |
$complement = $chercheur_infos_complementaires->effectuerRequeteInfosComplementairesSurNumNom($parametres['nom_sel_nn']);
|
- |
|
381 |
// 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
|
- |
|
382 |
// la détection ne fonctionne plus : nous supprimons les données précédemment générées de la base !
|
- |
|
383 |
if(!$complement) {
|
- |
|
384 |
$parametres['nom_sel_nn'] = $parametres['nom_ret'] = $parametres['nom_ret_nn'] = $parametres['nt'] = $parametres['famille'] = NULL;
|
373 |
$complement = $chercheur_infos_complementaires->effectuerRequeteInfosComplementairesSurNumNom($parametres['nom_sel_nn']);
|
385 |
} else {
|
374 |
$parametres['nom_ret'] = RechercheInfosTaxonBeta::supprimerBiblio($complement->nom_retenu_complet);
|
386 |
$parametres['nom_ret'] = RechercheInfosTaxonBeta::supprimerBiblio($complement->nom_retenu_complet);
|
375 |
$parametres['nom_ret_nn'] = $complement->{"nom_retenu.id"};
|
387 |
$parametres['nom_ret_nn'] = $complement->{"nom_retenu.id"};
|
376 |
$parametres['nt'] = $complement->num_taxonomique;
|
388 |
$parametres['nt'] = $complement->num_taxonomique;
|
- |
|
389 |
$parametres['famille'] = $complement->famille;
|
377 |
$parametres['famille'] = $complement->famille;
|
390 |
}
|
378 |
}
|
391 |
}
|
Line 379... |
Line 392... |
379 |
}
|
392 |
}
|
380 |
|
393 |
|