Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2564 Rev 2565
Line 21... Line 21...
21
 */
21
 */
22
class GestionObservation extends Cel {
22
class GestionObservation extends Cel {
Line 23... Line 23...
23
 
23
 
24
	static $cel_obs = ['id_observation', 'ordre', 'ce_utilisateur', 'prenom_utilisateur', 'nom_utilisateur',
24
	static $cel_obs = ['id_observation', 'ordre', 'ce_utilisateur', 'prenom_utilisateur', 'nom_utilisateur',
25
		'courriel_utilisateur', 'nom_sel', 'nom_sel_nn', 'nom_ret', 'nom_ret_nn', 'nt', 'famille',
25
		'courriel_utilisateur', 'nom_sel', 'nom_sel_nn', 'nom_ret', 'nom_ret_nn', 'nt', 'famille',
26
		'nom_referentiel', 'ce_zone_geo', 'zone_geo', 'lieudit', 'station', 'milieu', 'latitude', 'longitude',
26
		'nom_referentiel', 'pays', 'ce_zone_geo', 'zone_geo', 'lieudit', 'station', 'milieu', 'latitude', 'longitude',
27
		'altitude', 'geodatum', 'date_observation', 'mots_cles_texte', 'commentaire', 'transmission',
27
		'altitude', 'geodatum', 'date_observation', 'mots_cles_texte', 'commentaire', 'transmission',
28
		'date_creation', 'date_modification', 'date_transmission', 'abondance', 'certitude', 'phenologie',
28
		'date_creation', 'date_modification', 'date_transmission', 'abondance', 'certitude', 'phenologie',
Line 29... Line 29...
29
		'code_insee_calcul'];
29
		'code_insee_calcul'];
Line 460... Line 460...
460
	*
460
	*
461
	* @param array $parametres tableau indexé avec les mêmes noms de champs que la bdd
461
	* @param array $parametres tableau indexé avec les mêmes noms de champs que la bdd
462
	* @return $parametres le tableau modifié selon ce qu'il contenait
462
	* @return $parametres le tableau modifié selon ce qu'il contenait
463
	*/
463
	*/
464
	public function formaterParametresObservation(&$parametres) {
464
	public function formaterParametresObservation(&$parametres) {
465
		// Pour empecher que des numéros de département de 1 à 9 soient saisis sans 0
-
 
466
		// TODO: décider quoi faire pour les zones géo plus générales
-
 
-
 
465
 
467
		if (isset($parametres['ce_zone_geo'])) {
466
		if (isset($parametres['ce_zone_geo'])) {
468
			if ($parametres['ce_zone_geo'] == 'null' || trim($parametres['ce_zone_geo']) == "" || !is_numeric($parametres['ce_zone_geo'])) {
467
			if ($parametres['ce_zone_geo'] == 'null' || trim($parametres['ce_zone_geo']) == "" || !is_numeric($parametres['ce_zone_geo'])) {
469
				$parametres['ce_zone_geo'] = "";
468
				$parametres['ce_zone_geo'] = "";
470
			} else {
469
			} else {
-
 
470
				// Pour empecher que des numéros de département de 1 à 9 soient saisis sans 0
471
				if (strlen($parametres['ce_zone_geo']) == 4) {
471
				if (strlen($parametres['ce_zone_geo']) == 4) {
472
					$parametres['ce_zone_geo'] = '0'.$parametres['ce_zone_geo'];
472
					$parametres['ce_zone_geo'] = '0'.$parametres['ce_zone_geo'];
473
				}
473
				}
Line 474... Line 474...
474
 
474
 
Line 479... Line 479...
479
				}
479
				}
480
				$parametres['pays'] = 'FR';
480
				$parametres['pays'] = 'FR';
481
			}
481
			}
482
		}
482
		}
Line 483... Line -...
483
 
-
 
484
		// TODO: Fusionner cette partie et la partie du dessus en une fonction qui complete toutes les infos 
-
 
485
		// géo, quand on sera riche et qu'on aura du temps
483
 
486
		if(empty($parametres['pays']) && !empty($parametres['latitude']) && !empty($parametres['longitude'])) {
484
		if(empty($parametres['pays']) && !empty($parametres['latitude']) && !empty($parametres['longitude'])) {
-
 
485
			$recherche_pays = new RechercheInfosZoneGeo($this->config);
-
 
486
			
-
 
487
			// Dans le cas de l'insertion de l'obs, il serait déraisonnable d'attendre plus de 2 secondes
-
 
488
			// pour détecter le pays qui sera de toute façon retrouvé par le script lancé en cron
487
			$recherche_pays = new RechercheInfosZoneGeo($this->config);
489
			$recherche_pays->maxTimeoutRequeteMondiale = 2;
488
			$infos_pays = $recherche_pays->obtenirInfosPourCoordonnees($parametres);
490
			$infos_pays = $recherche_pays->obtenirInfosPourCoordonnees($parametres);
489
			if($infos_pays['type'] == 'france') {
491
			if($infos_pays['type'] == 'france') {
490
				$parametres['pays'] = 'FR';
492
				$parametres['pays'] = 'FR';
491
				// Ajout d'infos supplémentaires si jamais on a pas de ce zone geo ou de zone geo
493
				// Ajout d'infos supplémentaires si jamais on a pas de ce zone geo ou de zone geo