Subversion Repositories eFlore/Applications.cel

Rev

Rev 1869 | Rev 1929 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1869 Rev 1927
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