Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1779 Rev 1781
Line 292... Line 292...
292
		}
292
		}
Line 293... Line 293...
293
 
293
 
Line 294... Line 294...
294
		restore_error_handler();
294
		restore_error_handler();
295
 
295
 
296
		if($this->bilan) echo implode("\n", $this->bilan) . "\n";
296
		if($this->bilan) echo implode("\n", $this->bilan) . "\n";
297
 		$summary = sprintf('%1$d observation%2$c ajoutée%2$c' . "\n" .
297
 		printf('%1$d observation%2$c ajoutée%2$c' . "\n" .
298
						   '%3$d image%4$c attachée%4$c' . "\n" . 
298
			   '%3$d image%4$c attachée%4$c' . "\n" .
299
						   // '%5$d mot%6$c-clef ajouté%6$c [TODO]' . "\n" . // TODO
299
			   // '%5$d mot%6$c-clef ajouté%6$c [TODO]' . "\n" . // TODO
300
						   count($filtre->exclues) > 0 ? 'colonnes non-traitées: %7$s' . "\n" : '',
300
			   (count($filtre->exclues) > 0 ? 'colonnes non-traitées: %7$s' . "\n" : ''),
301
 
301
			   
302
						   $obs_ajouts,
302
			   $obs_ajouts,
303
						   count($obs_ajouts) > 1 ? 's' : '',
303
			   count($obs_ajouts) > 1 ? 's' : '',
304
						   $nb_images_ajoutees,
304
			   $nb_images_ajoutees,
305
						   count($nb_images_ajoutees) > 1 ? 's' : '',
305
			   count($nb_images_ajoutees) > 1 ? 's' : '',
306
						   $nb_mots_cle_ajoutes,
306
			   $nb_mots_cle_ajoutes,
307
						   count($nb_mots_cle_ajoutes) > 1 ? 's' : '',
-
 
308
						   implode(', ', $filtre->exclues));
307
			   count($nb_mots_cle_ajoutes) > 1 ? 's' : '',
309
 
308
			   implode(', ', $filtre->exclues));
Line 310... Line 309...
310
		die("$summary");
309
		die();
311
	}
310
	}
312
 
311
 
313
	static function detectionEntete($entete) {
312
	static function detectionEntete($entete) {
-
 
313
		$colonnes_reconnues = Array();
314
		$colonnes_reconnues = Array();
314
		$cols = FormateurGroupeColonne::nomEnsembleVersListeColonnes('standard,avance');
315
		$cols = FormateurGroupeColonne::nomEnsembleVersListeColonnes('standard,avance');
315
		foreach($entete as $k => $v) {
316
		foreach($entete as $k => $v) {
316
			// traite les colonnes en faisant fi de la casse et des accents
317
			$entete_simple = iconv('UTF-8', 'ASCII//TRANSLIT', strtolower(trim($v)));
317
			$entete_simple = iconv('UTF-8', 'ASCII//TRANSLIT', strtolower(trim($v)));
318
			foreach($cols as $col) {
318
			foreach($cols as $col) {
Line 681... Line 681...
681
		$espece[C_NOM_SEL] = trim($ligne[C_NOM_SEL]);
681
		$espece[C_NOM_SEL] = trim($ligne[C_NOM_SEL]);
Line 682... Line 682...
682
 
682
 
683
		// XXX/attention, nous ne devrions pas accepter un référentiel absent !
683
		// XXX/attention, nous ne devrions pas accepter un référentiel absent !
684
		if(!$referentiel) $referentiel = 'bdtfx';
684
		if(!$referentiel) $referentiel = 'bdtfx';
685
		$taxon_info_webservice = new RechercheInfosTaxonBeta($cel->config, $referentiel);
-
 
686
 
685
		$taxon_info_webservice = new RechercheInfosTaxonBeta($cel->config, $referentiel);
Line 687... Line 686...
687
		$ascii = iconv('UTF-8', 'ASCII//TRANSLIT', $ligne[C_NOM_SEL]);
686
		$ascii = iconv('UTF-8', 'ASCII//TRANSLIT', $ligne[C_NOM_SEL]);
688
 
687
 
689
		// TODO: si empty(C_NOM_SEL) et !empty(C_NOM_SEL_NN) : recherche info à partir de C_NOM_SEL_NN
688
		// TODO: si empty(C_NOM_SEL) et !empty(C_NOM_SEL_NN) : recherche info à partir de C_NOM_SEL_NN
Line 696... Line 695...
696
		  SELECT num_nom, nom_sci, num_nom_retenu ,auteur, annee, biblio_origine, nom_sci,auteur  FROM bdtfx_v1_01  WHERE (nom_sci LIKE 'eliotropium% euro%')  ORDER BY nom_sci ASC   LIMIT 0, 1
695
		  SELECT num_nom, nom_sci, num_nom_retenu ,auteur, annee, biblio_origine, nom_sci,auteur  FROM bdtfx_v1_01  WHERE (nom_sci LIKE 'eliotropium% euro%')  ORDER BY nom_sci ASC   LIMIT 0, 1
697
		  #
696
		  #
Line 698... Line 697...
698
 
697
 
699
		  SELECT nom_sci, num_nom_retenu, nom_sci_html, auteur, annee, biblio_origine FROM bdtfx_v1_01 WHERE num_nom = 31468
698
		  SELECT nom_sci, num_nom_retenu, nom_sci_html, auteur, annee, biblio_origine FROM bdtfx_v1_01 WHERE num_nom = 31468
700
		*/
699
		*/
701
		// $resultat_recherche_espece = $taxon_info_webservice->rechercherInformationsComplementairesSurNom($ligne[C_NOM_SEL]);
700
		// $determ = $taxon_info_webservice->rechercherInformationsComplementairesSurNom($ligne[C_NOM_SEL]);
702
		// permet une reconnaissance de BDNFFnnXXXX
701
		// permet une reconnaissance de BDNFFnnXXXX
Line 703... Line 702...
703
		$resultat_recherche_espece = $taxon_info_webservice->rechercherInfosSurTexteCodeOuNumTax(trim($ligne[C_NOM_SEL]));
702
		$determ = $taxon_info_webservice->rechercherInfosSurTexteCodeOuNumTax(trim($ligne[C_NOM_SEL]));
704
 
703
 
705
		// note: rechercherInfosSurTexteCodeOuNumTax peut ne retourner qu'une seule clef "nom_sel"
704
		// note: rechercherInfosSurTexteCodeOuNumTax peut ne retourner qu'une seule clef "nom_sel"
706
		if (! $resultat_recherche_espece || !isset($resultat_recherche_espece['en_id_nom'])) {
705
		if (! $determ) {
707
			// on supprime les noms retenus et renvoi tel quel
706
			// on supprime les noms retenus et renvoi tel quel
708
			// on réutilise les define pour les noms d'indexes, tant qu'à faire
707
			// on réutilise les define pour les noms d'indexes, tant qu'à faire
709
			// XXX; tout à NULL sauf C_NOM_SEL ci-dessus ?
708
			// XXX; tout à NULL sauf C_NOM_SEL ci-dessus ?
Line 714... Line 713...
714
			$espece[C_FAMILLE] = @$ligne[C_FAMILLE];
713
			$espece[C_FAMILLE] = @$ligne[C_FAMILLE];
Line 715... Line 714...
715
 
714
 
716
			return;
715
			return;
Line -... Line 716...
-
 
716
		}
-
 
717
 
-
 
718
		// succès de la détection, mais résultat partiel
-
 
719
		if(!isset($determ->id)) 
-
 
720
			$determ = $taxon_info_webservice->effectuerRequeteInfosComplementairesSurNumNom($determ->{"nom_retenu.id"});
-
 
721
 
-
 
722
		// ne devrait jamais arriver !
717
		}
723
		if(!$determ) die("erreur critique: " . __FILE__ . ':' . __LINE__);
-
 
724
 
-
 
725
		// succès de la détection = écrasement du numéro nomenclatural saisi...
-
 
726
		$espece[C_NOM_SEL] = $determ->nom_sci;
718
 
727
		$espece[C_NOM_SEL_NN] = $determ->id;
-
 
728
		$espece[C_NOM_RET] = RechercheInfosTaxonBeta::supprimerBiblio($determ->nom_retenu_complet);
-
 
729
		$espece[C_NOM_RET_NN] = $determ->{"nom_retenu.id"};
-
 
730
		$espece[C_NT] = $determ->num_taxonomique;
719
		// succès de la détection = écrasement du numéro nomenclatural saisi...
731
		$espece[C_FAMILLE] = $determ->famille;
Line 720... Line -...
720
		$espece[C_NOM_SEL_NN] = $resultat_recherche_espece['en_id_nom'];
-
 
721
		// et des info complémentaires
-
 
722
 
732
		return;
723
		// echo "rechercherInformationsComplementairesSurNumNom()\n";
733
		// et des info complémentaires
724
		$complement = $taxon_info_webservice->rechercherInformationsComplementairesSurNumNom($resultat_recherche_espece['en_id_nom']);
734
 
725
		/*
735
		/*
726
		  // GET /service:eflore:0.1/bdtfx/noms/31468?retour.champs=nom_sci,auteur,id,nom_retenu_complet,nom_retenu.id,num_taxonomique,famille
736
		  // GET /service:eflore:0.1/bdtfx/noms/31468?retour.champs=nom_sci,auteur,id,nom_retenu_complet,nom_retenu.id,num_taxonomique,famille
727
		  /home/raphael/eflore/projets/services/modules/0.1/bdtfx/Noms.php:280
737
		  /home/raphael/eflore/projets/services/modules/0.1/bdtfx/Noms.php:280
728
		  SELECT  *, nom_sci   FROM bdtfx_v1_01  WHERE num_nom = '31468' 
738
		  SELECT  *, nom_sci   FROM bdtfx_v1_01  WHERE num_nom = '31468' 
729
		  SELECT nom_sci, num_nom_retenu, nom_sci_html, auteur, annee, biblio_origine FROM bdtfx_v1_01 WHERE num_nom = 31468
-
 
730
		  SELECT nom_sci, num_nom_retenu, nom_sci_html, auteur, annee, biblio_origine FROM bdtfx_v1_01 WHERE num_nom = 86535
-
 
731
		*/
-
 
732
		$espece[C_NOM_RET] = $complement['Nom_Retenu'];
-
 
-
 
739
		  SELECT nom_sci, num_nom_retenu, nom_sci_html, auteur, annee, biblio_origine FROM bdtfx_v1_01 WHERE num_nom = 31468
-
 
740
		  SELECT nom_sci, num_nom_retenu, nom_sci_html, auteur, annee, biblio_origine FROM bdtfx_v1_01 WHERE num_nom = 86535
733
		$espece[C_NOM_RET_NN] = $complement['Num_Nom_Retenu'];
741
		*/
734
		$espece[C_NT] = $complement['Num_Taxon'];
742
 
Line 735... Line 743...
735
		$espece[C_FAMILLE] = $complement['Famille'];
743
 
736
		//var_dump($complement, $espece);die;
744
		//var_dump($complement, $espece);die;