Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 415 → Rev 416

/trunk/jrest/services/CoordSearch.php
New file
0,0 → 1,63
<?php
// CRUD ligne d'inventaire :
// In get : utf8
// In post : utf8
// out : utf8
 
Class CoordSearch extends DBAccessor {
 
function Inventory($config) {
 
$this->config=$config;
}
 
 
function getElement($uid){
 
// Controle detournement utilisateur
session_start();
$value=array();
 
$lat = str_replace('"','',urldecode($uid[0]));
$lng = str_replace('"','',urldecode($uid[1]));
 
$commune = urldecode($uid[2]);
$code_postal = str_replace('"','',urldecode($uid[3]));
 
if(isset($uid[4]) && $uid[4] != "*" && $uid[4] != "?") {
$code_pays = urldecode($uid[4]);
} else {
$code_pays = 'FR';
}
 
if($lat != '*' && $lng != '*') {
 
$commune_json = file_get_contents("http://ws.geonames.org/findNearbyJSON?featureClass=ADM4&lat=".urlencode($lat)."&lng=".urlencode($lng)."&style=full") ;
header("Content-Type: text/html; charset=UTF-8");
$value = $commune_json ;
 
} elseif($commune != '*') {
 
$requete = "http://ws.geonames.org/postalCodeSearchJSON?placename_startsWith=".urlencode($commune);
 
if($code_postal != '*') {
$requete .= "&postalcode_startsWith=".urlencode($code_postal);
}
$requete .= "&country=".urlencode($code_pays)."&maxRows=10" ;
 
$coord_json = file_get_contents($requete);
 
header("Content-Type: text/html; charset=UTF-8");
$value = $coord_json ;
 
} else {
 
header('HTTP/1.0 400 Bad Request');
echo "Commune ou Coordonnées non spécifiées " ;
exit;
}
 
print $value;
}
}
?>