Rev 662 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?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]));
$coord_json = json_encode(array());
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;
}
}
?>