Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1750 → Rev 1751

/trunk/jrest/services/ImportXLS.php
445,13 → 445,14
*/
static function chargerLigne($ligne, $dernier_ordre, $cel) {
// en premier car le résultat est utile pour
// traiter longitude et latitude (traiterLonLat())
$referentiel = self::identReferentiel($ligne[C_NOM_REFERENTIEL]);
// * traiter espèce (traiterEspece())
// * traiter longitude et latitude (traiterLonLat())
$referentiel = self::identReferentiel(trim(strtolower($ligne[C_NOM_REFERENTIEL])));
 
// $espece est rempli de plusieurs informations
$espece = Array(C_NOM_SEL => NULL, C_NOM_SEL_NN => NULL, C_NOM_RET => NULL,
C_NOM_RET_NN => NULL, C_NT => NULL, C_FAMILLE => NULL);
self::traiterEspece($ligne, $espece, $cel);
self::traiterEspece($ligne, $espece, $referentiel, $cel);
 
// $localisation est rempli à partir de plusieurs champs: C_ZONE_GEO et C_CE_ZONE_GEO
$localisation = Array(C_ZONE_GEO => NULL, C_CE_ZONE_GEO => NULL);
593,10 → 594,11
 
static function identReferentiel($referentiel) {
// SELECT DISTINCT nom_referentiel, COUNT(id_observation) AS count FROM cel_obs GROUP BY nom_referentiel ORDER BY count DESC;
if(strpos(strtolower($referentiel), 'bdtfx') !== FALSE) return 'bdtfx:v1.01';
if(strpos(strtolower($referentiel), 'bdtxa') !== FALSE) return 'bdtxa:v1.00';
if(strpos(strtolower($referentiel), 'bdnff') !== FALSE) return 'bdnff:4.02';
if(strpos(strtolower($referentiel), 'isfan') !== FALSE) return 'isfan:v1.00';
if(strpos($referentiel, 'bdtfx') !== FALSE) return 'bdtfx:v1.01';
if(strpos($referentiel, 'bdtxa') !== FALSE) return 'bdtxa:v1.00';
if(strpos($referentiel, 'bdnff') !== FALSE) return 'bdnff:4.02';
if(strpos($referentiel, 'isfan') !== FALSE) return 'isfan:v1.00';
if(strpos($referentiel, 'autre') !== FALSE) return 'autre';
 
if($referentiel) {
trigger_error("ligne \"{$ligne[C_NOM_SEL]}\": Attention: référentiel inconnu", E_USER_NOTICE);
647,13 → 649,13
TODO: s'affranchir du webservice pour la détermination du nom scientifique en s'appuyant sur cel_references,
pour des questions de performances
*/
static function traiterEspece($ligne, Array &$espece, $cel) {
static function traiterEspece($ligne, Array &$espece, $referentiel, $cel) {
if(!$ligne[C_NOM_SEL]) return;
 
// nom_sel reste toujours celui de l'utilisateur
$espece[C_NOM_SEL] = trim($ligne[C_NOM_SEL]);
 
$taxon_info_webservice = new RechercheInfosTaxonBeta($cel->config);
$taxon_info_webservice = new RechercheInfosTaxonBeta($cel->config, $referentiel);
 
$ascii = iconv('UTF-8', 'ASCII//TRANSLIT', $ligne[C_NOM_SEL]);