Line 259... |
Line 259... |
259 |
|
259 |
|
260 |
// ici on appel la fonction qui fera effectivement l'insertion multiple
|
260 |
// ici on appel la fonction qui fera effectivement l'insertion multiple
|
Line 261... |
Line 261... |
261 |
// à partir des (au plus) NB_LIRE_LIGNE_SIMUL lignes
|
261 |
// à partir des (au plus) NB_LIRE_LIGNE_SIMUL lignes
|
262 |
|
262 |
|
263 |
// TODO: passer $this, ne sert que pour appeler des méthodes publiques qui pourraient être statiques
|
263 |
// TODO: passer $this, ne sert que pour appeler des méthodes publiques qui pourraient être statiques
|
264 |
// notamment dans RechercheInfosTaxonBeta.php
|
264 |
$this->taxon_info_webservice = new RechercheInfosTaxonBeta($this->config, NULL);
|
265 |
list($enregistrements, $images, $mots_cle) =
|
265 |
list($enregistrements, $images, $mots_cle) =
|
Line 266... |
Line 266... |
266 |
self::chargerLignes($this, $donnees, $this->colonnes_statiques, $dernier_ordre);
|
266 |
self::chargerLignes($this, $donnees, $this->colonnes_statiques, $dernier_ordre);
|
Line 478... |
Line 478... |
478 |
$referentiel = self::identReferentiel(trim(strtolower(@$ligne[C_NOM_REFERENTIEL])), $ligne, $ref_ligne);
|
478 |
$referentiel = self::identReferentiel(trim(strtolower(@$ligne[C_NOM_REFERENTIEL])), $ligne, $ref_ligne);
|
Line 479... |
Line 479... |
479 |
|
479 |
|
480 |
// $espece est rempli de plusieurs informations
|
480 |
// $espece est rempli de plusieurs informations
|
481 |
$espece = Array(C_NOM_SEL => NULL, C_NOM_SEL_NN => NULL, C_NOM_RET => NULL,
|
481 |
$espece = Array(C_NOM_SEL => NULL, C_NOM_SEL_NN => NULL, C_NOM_RET => NULL,
|
482 |
C_NOM_RET_NN => NULL, C_NT => NULL, C_FAMILLE => NULL);
|
482 |
C_NOM_RET_NN => NULL, C_NT => NULL, C_FAMILLE => NULL);
|
Line 483... |
Line 483... |
483 |
self::traiterEspece($ligne, $espece, $referentiel, $cel);
|
483 |
self::traiterEspece($ligne, $espece, $referentiel, $cel->taxon_info_webservice);
|
484 |
|
484 |
|
Line 485... |
Line 485... |
485 |
if(!$espece[C_NOM_SEL]) $referentiel = Cel::$fallback_referentiel;
|
485 |
if(!$espece[C_NOM_SEL]) $referentiel = Cel::$fallback_referentiel;
|
Line 688... |
Line 688... |
688 |
|
688 |
|
689 |
/*
|
689 |
/*
|
690 |
TODO: s'affranchir du webservice pour la détermination du nom scientifique en s'appuyant sur cel_references,
|
690 |
TODO: s'affranchir du webservice pour la détermination du nom scientifique en s'appuyant sur cel_references,
|
691 |
pour des questions de performances
|
691 |
pour des questions de performances
|
692 |
*/
|
692 |
*/
|
693 |
static function traiterEspece($ligne, Array &$espece, &$referentiel, $cel) {
|
693 |
static function traiterEspece($ligne, Array &$espece, &$referentiel, $taxon_info_webservice) {
|
694 |
if(empty($ligne[C_NOM_SEL])) {
|
694 |
if(empty($ligne[C_NOM_SEL])) {
|
695 |
// TODO: nous ne déclarons pas "Numéro nomenclatural" comme colonne importable
|
695 |
// TODO: nous ne déclarons pas "Numéro nomenclatural" comme colonne importable
|
696 |
// Nous ne pouvons donc pas tenter d'être sympa sur la détermination par num_nom
|
696 |
// Nous ne pouvons donc pas tenter d'être sympa sur la détermination par num_nom
|
697 |
/* if(!empty($ligne[C_NOM_SEL_NN]) && $referentiel != Cel::$fallback_referentiel)
|
697 |
/* if(!empty($ligne[C_NOM_SEL_NN]) && $referentiel != Cel::$fallback_referentiel)
|
Line 703... |
Line 703... |
703 |
// nom_sel reste toujours celui de l'utilisateur
|
703 |
// nom_sel reste toujours celui de l'utilisateur
|
704 |
$espece[C_NOM_SEL] = trim($ligne[C_NOM_SEL]);
|
704 |
$espece[C_NOM_SEL] = trim($ligne[C_NOM_SEL]);
|
Line 705... |
Line 705... |
705 |
|
705 |
|
706 |
// XXX/attention, nous ne devrions pas accepter un référentiel absent !
|
706 |
// XXX/attention, nous ne devrions pas accepter un référentiel absent !
|
707 |
if(!$referentiel) $referentiel = 'bdtfx';
|
707 |
if(!$referentiel) $referentiel = 'bdtfx';
|
708 |
$taxon_info_webservice = new RechercheInfosTaxonBeta($cel->config, $referentiel);
|
708 |
$taxon_info_webservice->setReferentiel($referentiel);
|
Line 709... |
Line 709... |
709 |
$ascii = iconv('UTF-8', 'ASCII//TRANSLIT', $ligne[C_NOM_SEL]);
|
709 |
$ascii = iconv('UTF-8', 'ASCII//TRANSLIT', $ligne[C_NOM_SEL]);
|
710 |
|
710 |
|
711 |
// TODO: si empty(C_NOM_SEL) et !empty(C_NOM_SEL_NN) : recherche info à partir de C_NOM_SEL_NN
|
711 |
// TODO: si empty(C_NOM_SEL) et !empty(C_NOM_SEL_NN) : recherche info à partir de C_NOM_SEL_NN
|