Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2925 Rev 3422
Line 100... Line 100...
100
		}
100
		}
Line 101... Line 101...
101
		
101
		
102
		return $retour;
102
		return $retour;
Line -... Line 103...
-
 
103
	}
-
 
104
 
-
 
105
	public function obtenirInfosPourCodeInseeCommune($code_insee) {
-
 
106
		$code_insee = trim($code_insee);
-
 
107
 
-
 
108
		$retour = $this->chercherCentroideCommuneInseeBdd($code_insee);
-
 
109
 
-
 
110
		return $retour;
103
	}
111
	}
104
 
112
 
105
	/**
113
	/**
106
	 * Renvoie tous les codes de zones pour le groupe $groupe
114
	 * Renvoie tous les codes de zones pour le groupe $groupe
107
	 */
115
	 */
Line 350... Line 358...
350
					'type' => 'france'
358
					'type' => 'france'
351
			);
359
			);
352
		}
360
		}
353
		return $retour;
361
		return $retour;
354
	}
362
	}
355
	
363
 
-
 
364
	/**
-
 
365
	 * Renvoie les infos d'une commune, incluant les coordonnées du centroïde,
-
 
366
 	 * en fonction du code insee (plus fiable)
-
 
367
 	 */
-
 
368
 	protected function chercherCentroideCommuneInseeBdd($code_insee) {
-
 
369
		$code_insee = trim($code_insee);
-
 
370
		$commune_coordonnees = array();
-
 
371
		if ($code_insee != null) {
-
 
372
			$requete = 'SELECT `wgs84_latitude`, `wgs84_longitude`, `nom` FROM `cel_zones_geo` '
-
 
373
				. 'WHERE `code`=' .Cel::db()->proteger($code_insee)
-
 
374
				. ' -- '.__FILE__.':'.__LINE__;
-
 
375
 
-
 
376
			$commune_coordonnees = Cel::db()->requeter($requete);
-
 
377
		}
-
 
378
 
-
 
379
		$retour = false;
-
 
380
		if ($commune_coordonnees && is_array($commune_coordonnees) && count($commune_coordonnees) > 0) {
-
 
381
			$retour = array(
-
 
382
				'lat' => (float) $commune_coordonnees[0]['wgs84_latitude'],
-
 
383
				'lng' => (float) $commune_coordonnees[0]['wgs84_longitude'],
-
 
384
				'nom' => $commune_coordonnees[0]['nom'],
-
 
385
				'code_zone' => $code_insee,
-
 
386
				'code_pays' => 'FR',
-
 
387
				'type' => 'france'
-
 
388
			);
-
 
389
		}
-
 
390
 
-
 
391
		return $retour;
-
 
392
	}																																												
356
	public function obtenirListeInfosPourNom($lieu) {		
393
	public function obtenirListeInfosPourNom($lieu) {		
357
		$lieux_retour = $this->obtenirListeCommunes($lieu);
394
		$lieux_retour = $this->obtenirListeCommunes($lieu);
Line 358... Line 395...
358
		
395
		
359
		// S'il y a moins de 50 résultats on tente des les fusionner avec une recherche mondiale
396
		// S'il y a moins de 50 résultats on tente des les fusionner avec une recherche mondiale
Line 512... Line 549...
512
		$lieu = ltrim($lieu);
549
		$lieu = ltrim($lieu);
513
		$lieu = preg_replace('/\*+/', '%', $lieu);
550
		$lieu = preg_replace('/\*+/', '%', $lieu);
514
		$lieu = str_replace(['+', ' ', '-'], '_', $lieu);
551
		$lieu = str_replace(['+', ' ', '-'], '_', $lieu);
515
		return $lieu;
552
		return $lieu;
516
	}
553
	}
517
}
-
 
518
554
}
-
 
555