Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1743 Rev 1747
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