code uutilisé par:
LoGsmHtml
ce code a été massacré, il existe en accès réservé personnalisé pour son auteur:
LoGsmHtmlCodePhpPo
code php intégral:
<?php
// changer mailto:nobody@utopie.po par votre email!
// éventuellement introduisez votre id comme key par défaut (au lieu de: abcdefghijk )
// converti en PHP5 le 20081003
$lastmaj="20081005-1850";
$auteur="flavigny@free.fr";
$ip=$_SERVER['REMOTE_ADDR'];
$access_key=$_GET['key'];
if ("$access_key" == "") {
$access_key="abcdefghijk";
}
$zoom="14";
$num=$_GET['num'];
$zoom=$_GET['zoom'];
$type="num";
// si NUM localisation seulement (pas openstreetmap)
if ( "$num" == "" ) {
$num=$_GET['map'];
$type="NUM";
}
// si sil une ligne seulement
if ( "$num" == "" ) {
$num=$_GET['xy'];
$type="xy";
}
if ( "$num" == "" ) {
echo "Démonstration de l'Api de localisation de mobile Orange (en France), version du $lastmaj par mailto:$auteur<br>";
echo "Appel: {num|map|xy}=0612345678[&key=apiaccesscode][&zoom=nn] <br>";
echo "num=numéro de téléphone Orange (France) à 10 chiffres (affichage page et lien vers OpenStreetMap)<br>";
echo "map=numéro de téléphone Orange (France) à 10 chiffres (avec affichage automatique de OpenStreetmap) <br>";
echo "xy=numéro de téléphone Orange (France) à 10 chiffres (une ligne de résultat laconique) <br>";
echo "key=clé d'accès aux Api d'Orange (lire <a href=\"http://antiguide.free.fr/wiki/wakka.php?wiki=ApiLocalisationOrange\"> http://antiguide.free.fr/wiki/wakka.php?wiki=ApiLocalisationOrange</a> ) <br>";
echo "zoom=puissance de zoom de 1 à 16 <br>";
// mail info
$contenu= " #:$phone_number zoom=$zoom $type=$num";
$envoi_mail = mail("flavigny@free.fr","LoGsm demande info par $ip $lastmaj", $contenu);
}
else {
$phone_number = "33" . substr("$num",1);
// Get the mobile location
$url_geo="http://location.alpha.orange-api.net/location/getLocation.xml?id=$access_key&number=$phone_number";
$response=file_get_contents($url_geo);
// parse XML
$xml=simplexml_load_string($response);
// check if authorized location
if ($xml->status->status_code == 450) {
// unauthorised number
// create authorisation
$url_aut="http://location.alpha.orange-api.net/location/createAuthorization.xml?id=$access_key&number=$phone_number";
file_get_contents($url_aut);
echo "Authorization process is on going, wait SMS, reply, wait second one, reply again, then reload the page";
// mail new zombie
$contenu= " #:$phone_number zoom=$zoom $type=$num";
$envoi_mail = mail("flavigny@free.fr","LoGsm autorisation demandée par $ip pour $num. $lastmaj", $contenu);
}
elseif ($xml->status->status_code == 200) {
// Get latitude & longitude
$dateheure=$xml->location->time;
$lat=$xml->location->X;
$long=$xml->location->Y;
$rad=$xml->location->radius;
// envoyer mail
$contenu= "$dateheure #:$phone_number X:$long Y:$lat R:$rad $type ";
$envoi_mail = mail("flavigny@free.fr","LoGsm localisation par $ip $lastmaj", $contenu);
// Construct OpenStreetMap url [center map to (lat,lon), add a marquer to (lat,lon), zoom to 12}]
$openStreetMap_url="http://www.openstreetmap.org/?lat=$lat&lon=$long&mlat=$lat&mlon=$long&zoom=$zoom&layers=B0TT";
if ("$type" === "num") {
if ("$type" != "xy") echo "LoGsm. Localisation d'un mobile orange, mailto:flavigny@free.fr <br>";
echo "#:$phone_number le:$dateheure X:$long Y:$lat R:$rad <br>";
if ("$type" != "xy") echo "clic : <a href=\"http://www.openstreetmap.org/?lat=$lat&lon=$long&mlat=$lat&mlon=$long&zoom=$zoom&layers=B0TT\" >ici pour obtenir la présentation sur OpenStreetmap. </a><br>";
if ("$type" != "xy") echo "(pour obtenir directement la présentation sur OpenStreetMap, rédigez l'url avec NUM en majuscule.) <br>";
}
else
{
// display position
header("Location:".$openStreetMap_url);
}
}
else {
if ("$type" != "xy") echo "loGsm Localisation d'un mobile orange, mailto:nobody@utopie.po <br>";
echo "#:$phone_number status: ".$xml->status->status_code . " " . $xml->status->status_msg .".<br>";
// mail erreur
$contenu= " #:$phone_number $type:$num code:" .$xml->status->status_code . " msg:" . $xml->status->status_msg ;
$envoi_mail = mail("flavigny@free.fr","LoGsm Erreur par $ip $lastmaj", $contenu);
if ($xml->status->status_code == 420) {
if ("$type" != "xy") echo "Sorry, too many requests today, wait midnight and try again. <br>";
}
}
}
?>