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