Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1747 Rev 1751
Line 443... Line 443...
443
	  car ce tableau est passé à un PDO::preparedStatement() qui applique
443
	  car ce tableau est passé à un PDO::preparedStatement() qui applique
444
	  proprement les règle d'échappement.
444
	  proprement les règle d'échappement.
445
	 */
445
	 */
446
	static function chargerLigne($ligne, $dernier_ordre, $cel) {
446
	static function chargerLigne($ligne, $dernier_ordre, $cel) {
447
		// en premier car le résultat est utile pour
447
		// en premier car le résultat est utile pour
-
 
448
		// * traiter espèce (traiterEspece())
448
		// traiter longitude et latitude (traiterLonLat())
449
		// * traiter longitude et latitude (traiterLonLat())
449
		$referentiel = self::identReferentiel($ligne[C_NOM_REFERENTIEL]);
450
		$referentiel = self::identReferentiel(trim(strtolower($ligne[C_NOM_REFERENTIEL])));
Line 450... Line 451...
450
 
451
 
451
		// $espece est rempli de plusieurs informations
452
		// $espece est rempli de plusieurs informations
452
		$espece = Array(C_NOM_SEL => NULL, C_NOM_SEL_NN => NULL, C_NOM_RET => NULL,
453
		$espece = Array(C_NOM_SEL => NULL, C_NOM_SEL_NN => NULL, C_NOM_RET => NULL,
453
						C_NOM_RET_NN => NULL, C_NT => NULL, C_FAMILLE => NULL);
454
						C_NOM_RET_NN => NULL, C_NT => NULL, C_FAMILLE => NULL);
Line 454... Line 455...
454
		self::traiterEspece($ligne, $espece, $cel);
455
		self::traiterEspece($ligne, $espece, $referentiel, $cel);
455
 
456
 
456
		// $localisation est rempli à partir de plusieurs champs: C_ZONE_GEO et C_CE_ZONE_GEO
457
		// $localisation est rempli à partir de plusieurs champs: C_ZONE_GEO et C_CE_ZONE_GEO
Line 591... Line 592...
591
		}
592
		}
592
	}
593
	}
Line 593... Line 594...
593
 
594
 
594
	static function identReferentiel($referentiel) {
595
	static function identReferentiel($referentiel) {
595
		// SELECT DISTINCT nom_referentiel, COUNT(id_observation) AS count FROM cel_obs GROUP BY nom_referentiel ORDER BY count DESC;
596
		// SELECT DISTINCT nom_referentiel, COUNT(id_observation) AS count FROM cel_obs GROUP BY nom_referentiel ORDER BY count DESC;
596
		if(strpos(strtolower($referentiel), 'bdtfx') !== FALSE) return 'bdtfx:v1.01';
597
		if(strpos($referentiel, 'bdtfx') !== FALSE) return 'bdtfx:v1.01';
597
		if(strpos(strtolower($referentiel), 'bdtxa') !== FALSE) return 'bdtxa:v1.00';
598
		if(strpos($referentiel, 'bdtxa') !== FALSE) return 'bdtxa:v1.00';
598
		if(strpos(strtolower($referentiel), 'bdnff') !== FALSE) return 'bdnff:4.02';
599
		if(strpos($referentiel, 'bdnff') !== FALSE) return 'bdnff:4.02';
-
 
600
		if(strpos($referentiel, 'isfan') !== FALSE) return 'isfan:v1.00';
Line 599... Line 601...
599
		if(strpos(strtolower($referentiel), 'isfan') !== FALSE) return 'isfan:v1.00';
601
		if(strpos($referentiel, 'autre') !== FALSE) return 'autre';
600
 
602
 
601
		if($referentiel) {
603
		if($referentiel) {
602
			trigger_error("ligne \"{$ligne[C_NOM_SEL]}\": Attention: référentiel inconnu", E_USER_NOTICE);
604
			trigger_error("ligne \"{$ligne[C_NOM_SEL]}\": Attention: référentiel inconnu", E_USER_NOTICE);
Line 645... Line 647...
645
 
647
 
646
	/*
648
	/*
647
	  TODO: s'affranchir du webservice pour la détermination du nom scientifique en s'appuyant sur cel_references,
649
	  TODO: s'affranchir du webservice pour la détermination du nom scientifique en s'appuyant sur cel_references,
648
	  pour des questions de performances
650
	  pour des questions de performances
649
	*/
651
	*/
650
	static function traiterEspece($ligne, Array &$espece, $cel) {
652
	static function traiterEspece($ligne, Array &$espece, $referentiel, $cel) {
Line 651... Line 653...
651
		if(!$ligne[C_NOM_SEL]) return;
653
		if(!$ligne[C_NOM_SEL]) return;
652
 
654
 
Line 653... Line 655...
653
		// nom_sel reste toujours celui de l'utilisateur
655
		// nom_sel reste toujours celui de l'utilisateur
Line 654... Line 656...
654
		$espece[C_NOM_SEL] = trim($ligne[C_NOM_SEL]);
656
		$espece[C_NOM_SEL] = trim($ligne[C_NOM_SEL]);
Line 655... Line 657...
655
 
657
 
656
		$taxon_info_webservice = new RechercheInfosTaxonBeta($cel->config);
658
		$taxon_info_webservice = new RechercheInfosTaxonBeta($cel->config, $referentiel);