Line 194... |
Line 194... |
194 |
// renomme le fichier pour lui ajouter son extension initiale, ce qui
|
194 |
// renomme le fichier pour lui ajouter son extension initiale, ce qui
|
195 |
// permet (une sorte) d'autodétection du format.
|
195 |
// permet (une sorte) d'autodétection du format.
|
196 |
$fichier = $infos_fichier['tmp_name'];
|
196 |
$fichier = $infos_fichier['tmp_name'];
|
197 |
$extension = pathinfo($infos_fichier['name'], PATHINFO_EXTENSION);
|
197 |
$extension = pathinfo($infos_fichier['name'], PATHINFO_EXTENSION);
|
198 |
if( (strlen($extension) == 3 || strlen($extension) == 4) &&
|
198 |
if( (strlen($extension) == 3 || strlen($extension) == 4) &&
|
199 |
(@rename($fichier, $fichier . '.' . $extension))) {
|
199 |
(@rename($fichier, $fichier . '.' . $extension))) { // XXX: @ safe-mode
|
200 |
$fichier = $fichier . '.' . $extension;
|
200 |
$fichier = $fichier . '.' . $extension;
|
201 |
}
|
201 |
}
|
Line 202... |
Line 202... |
202 |
|
202 |
|
203 |
$objReader = PHPExcel_IOFactory::createReaderForFile($fichier);
|
203 |
$objReader = PHPExcel_IOFactory::createReaderForFile($fichier);
|
Line 293... |
Line 293... |
293 |
}
|
293 |
}
|
Line 294... |
Line 294... |
294 |
|
294 |
|
Line 295... |
Line 295... |
295 |
restore_error_handler();
|
295 |
restore_error_handler();
|
296 |
|
296 |
|
297 |
if($this->bilan) echo implode("\n", $this->bilan) . "\n";
|
297 |
if($this->bilan) echo implode("\n", $this->bilan) . "\n";
|
298 |
$summary = sprintf("%d observation(s) ajoutée(s)\n%d image(s) attachée(s)\n%d mot(s)-clé ajouté(s) [TODO]\n",
|
298 |
$summary = sprintf("%d observation(s) ajoutée(s)\n%d image(s) attachée(s)\n%d mot(s)-clé ajouté(s) [TODO]\ncolonnes non-traitées: %s\n",
|
299 |
$obs_ajouts,
|
299 |
$obs_ajouts,
|
- |
|
300 |
$nb_images_ajoutees,
|
Line 300... |
Line 301... |
300 |
$nb_images_ajoutees,
|
301 |
$nb_mots_cle_ajoutes,
|
301 |
$nb_mots_cle_ajoutes);
|
302 |
implode(', ', $filtre->exclues));
|
Line 302... |
Line 303... |
302 |
|
303 |
|
Line 479... |
Line 480... |
479 |
"ce_zone_geo" => $localisation[C_CE_ZONE_GEO],
|
480 |
"ce_zone_geo" => $localisation[C_CE_ZONE_GEO],
|
Line 480... |
Line 481... |
480 |
|
481 |
|
481 |
// $ligne: uniquement pour les infos en cas de gestion d'erreurs (date incompréhensible)
|
482 |
// $ligne: uniquement pour les infos en cas de gestion d'erreurs (date incompréhensible)
|
Line 482... |
Line 483... |
482 |
"date_observation" => self::traiterDateObs($ligne[C_DATE_OBSERVATION], $ligne),
|
483 |
"date_observation" => self::traiterDateObs($ligne[C_DATE_OBSERVATION], $ligne),
|
483 |
|
484 |
|
484 |
"lieudit" => trim($ligne[C_LIEUDIT]),
|
485 |
"lieudit" => isset($ligne[C_LIEUDIT]) ? trim($ligne[C_LIEUDIT]) : NULL,
|
Line 485... |
Line 486... |
485 |
"station" => trim($ligne[C_STATION]),
|
486 |
"station" => isset($ligne[C_STATION]) ? trim($ligne[C_STATION]) : NULL,
|
486 |
"milieu" => trim($ligne[C_MILIEU]),
|
487 |
"milieu" => isset($ligne[C_MILIEU]) ? trim($ligne[C_MILIEU]) : NULL,
|
487 |
|
488 |
|
Line 488... |
Line 489... |
488 |
"mots_cles_texte" => NULL, // TODO: foreign-key
|
489 |
"mots_cles_texte" => NULL, // TODO: foreign-key
|
489 |
// XXX: @ contre "Undefined index"
|
490 |
// XXX: @ contre "Undefined index"
|
Line 490... |
Line 491... |
490 |
"commentaire" => @trim($ligne[C_COMMENTAIRE]),
|
491 |
"commentaire" => isset($ligne[C_COMMENTAIRE]) ? trim($ligne[C_COMMENTAIRE]) : NULL,
|
491 |
|
492 |
|
492 |
"transmission" => $transmission,
|
493 |
"transmission" => $transmission,
|
493 |
"date_transmission" => $transmission ? date("Y-m-d H:i:s") : NULL, // pas de fonction SQL dans un PDO statement, <=> now()
|
494 |
"date_transmission" => $transmission ? date("Y-m-d H:i:s") : NULL, // pas de fonction SQL dans un PDO statement, <=> now()
|
Line 494... |
Line 495... |
494 |
|
495 |
|
495 |
// $ligne: uniquement pour les infos en cas de gestion d'erreurs (lon/lat incompréhensible)
|
496 |
// $ligne: uniquement pour les infos en cas de gestion d'erreurs (lon/lat incompréhensible)
|
496 |
"latitude" => self::traiterLonLat(NULL, $ligne[C_LATITUDE], $referentiel, $ligne),
|
497 |
"latitude" => isset($ligne[C_LATITUDE]) ? self::traiterLonLat(NULL, $ligne[C_LATITUDE], $referentiel, $ligne) : NULL,
|
497 |
"longitude" => self::traiterLonLat($ligne[C_LONGITUDE], NULL, $referentiel, $ligne),
|
498 |
"longitude" => isset($ligne[C_LONGITUDE]) ? self::traiterLonLat($ligne[C_LONGITUDE], NULL, $referentiel, $ligne) : NULL,
|
Line 668... |
Line 669... |
668 |
|
669 |
|
669 |
SELECT nom_sci, num_nom_retenu, nom_sci_html, auteur, annee, biblio_origine FROM bdtfx_v1_01 WHERE num_nom = 31468
|
670 |
SELECT nom_sci, num_nom_retenu, nom_sci_html, auteur, annee, biblio_origine FROM bdtfx_v1_01 WHERE num_nom = 31468
|
670 |
*/
|
671 |
*/
|
671 |
// $resultat_recherche_espece = $taxon_info_webservice->rechercherInformationsComplementairesSurNom($ligne[C_NOM_SEL]);
|
672 |
// $resultat_recherche_espece = $taxon_info_webservice->rechercherInformationsComplementairesSurNom($ligne[C_NOM_SEL]);
|
672 |
// permet une reconnaissance de BDNFFnnXXXX
|
673 |
// permet une reconnaissance de BDNFFnnXXXX
|
Line -... |
Line 674... |
- |
|
674 |
$resultat_recherche_espece = $taxon_info_webservice->rechercherInfosSurTexteCodeOuNumTax(trim($ligne[C_NOM_SEL]));
|
- |
|
675 |
|
673 |
$resultat_recherche_espece = $taxon_info_webservice->rechercherInfosSurTexteCodeOuNumTax($ligne[C_NOM_SEL]);
|
676 |
// note: rechercherInfosSurTexteCodeOuNumTax peut ne retourner qu'une seule clef "nom_sel"
|
674 |
|
677 |
if (! $resultat_recherche_espece || !isset($resultat_recherche_espece['en_id_nom'])) {
|
675 |
// on supprime les noms retenus et renvoi tel quel
|
- |
|
676 |
// on réutilise les define pour les noms d'indexes, tant qu'à faire
|
678 |
// on supprime les noms retenus et renvoi tel quel
|
677 |
if (! $resultat_recherche_espece) {
|
679 |
// on réutilise les define pour les noms d'indexes, tant qu'à faire
|
678 |
// XXX; tout à NULL sauf C_NOM_SEL ci-dessus ?
|
680 |
// XXX; tout à NULL sauf C_NOM_SEL ci-dessus ?
|
679 |
$espece[C_NOM_SEL_NN] = $ligne[C_NOM_SEL_NN];
|
681 |
$espece[C_NOM_SEL_NN] = $ligne[C_NOM_SEL_NN];
|
680 |
$espece[C_NOM_RET] = $ligne[C_NOM_RET];
|
682 |
$espece[C_NOM_RET] = $ligne[C_NOM_RET];
|
Line 684... |
Line 686... |
684 |
|
686 |
|
685 |
return;
|
687 |
return;
|
Line 686... |
Line 688... |
686 |
}
|
688 |
}
|
687 |
|
689 |
|
688 |
// succès de la détection = écrasement du numéro nomenclatural saisi...
|
690 |
// succès de la détection = écrasement du numéro nomenclatural saisi...
|
Line 689... |
Line 691... |
689 |
$espece[C_NOM_SEL_NN] = $resultat_recherche_espece[0][0];
|
691 |
$espece[C_NOM_SEL_NN] = $resultat_recherche_espece['en_id_nom'];
|
690 |
// et des info complémentaires
|
692 |
// et des info complémentaires
|
691 |
|
693 |
|
692 |
// echo "rechercherInformationsComplementairesSurNumNom()\n";
|
694 |
// echo "rechercherInformationsComplementairesSurNumNom()\n";
|
693 |
$complement = $taxon_info_webservice->rechercherInformationsComplementairesSurNumNom($resultat_recherche_espece[0][0]);
|
695 |
$complement = $taxon_info_webservice->rechercherInformationsComplementairesSurNumNom($resultat_recherche_espece['en_id_nom']);
|
694 |
/*
|
696 |
/*
|
695 |
// GET /service:eflore:0.1/bdtfx/noms/31468?retour.champs=nom_sci,auteur,id,nom_retenu_complet,nom_retenu.id,num_taxonomique,famille
|
697 |
// GET /service:eflore:0.1/bdtfx/noms/31468?retour.champs=nom_sci,auteur,id,nom_retenu_complet,nom_retenu.id,num_taxonomique,famille
|