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;
|