$email=$_POST["email"];//on recupere la valeur du champs email
$MAIL='';//on initialise la variable à "vide"
$db=mysql_connect('localhost', 'rfid', 'xxx') or die ('Erreur de connection');//Connection à la base de donnée
mysql_select_db('rfid',$db) or die ('Base inexistante');
$sql="SELECT f.identifiant, f.email FROM formulaire f WHERE f.email='$email'";//Requete sur la table formulaire
$query = mysql_query($sql) or die( 'Erreur' );
while ( $list = mysql_fetch_array( $query ) ) //on recupere les resultats de la requete dans des variables Php
{
$identifiant=$list['identifiant'];
$MAIL=$list['email'];
}
mysql_close($db);
if ($MAIL != '' )
{
$lecteur = imagecreatefromjpeg("lecteur.JPG");//image de la borne
$plateau= imagecreatefromjpeg("plateau.jpg");//image de fond
$lecteur_width = imagesx($lecteur);//longueur de l'image
$lecteur_height = imagesy($lecteur);//hauteur de l'image
$plateau_width = imagesx($plateau);//longueur de l'image
$plateau_height = imagesy($plateau);//hauteur de l'image
$largeur = $plateau_width;
$hauteur = $plateau_height;
$image = imagecreate($largeur,$hauteur) or die ("Erreur lors de la création de l'image");//creation de l'image
$blanc=imageColorAllocate($image,255,255,255);//couleur de fond
$bleu=imageColorAllocate($image,0,0,255);
$noir=imageColorAllocate($image,0,0,0);
$vert=imageColorAllocate($image,0,157,160);
$jaune=imageColorAllocate($image,220,232,29);
$rouge=imageColorAllocate($image,255,0,0);
$date=date("Y-m-d ");//date du jour
$db=mysql_connect('localhost', 'rfid', 'xxx') or die ('Erreur de connection');
mysql_select_db('rfid',$db) or die ('Base inexistante');
$sql="SELECT p.id_user, p.date_passage,p.heure_passage, p.id_borne,b.position_X, b.position_Y from passages p, borne b WHERE p.id_user='$identifiant' and p.id_borne = b.id_borne and p.date_passage='$date' order by p.heure_passage";
$query = mysql_query($sql) or die( 'Erreur insertion passage '.mysql_error() );
$res = array();
$j=0;
imagecopy($image, $plateau, 0, 0, 0, 0, $plateau_width, $plateau_height);//dessin du plateau
imagestring ($image, 5, ($largeur/2)-80, 10, "Parcours des bornes RFID", $noir);
$chemins = array();
$lastseen='';
$count = 1;
while ( $list = mysql_fetch_array( $query ) )
{
//echo "traitement de ". $list['id_borne'] . "
";
if ($lastseen == '') { $lastseen = $list; /*echo "premier lastseen : ".$lastseen['id_borne']."
";*/ continue; }
if ($lastseen['id_borne'] == $list['id_borne']) { /*echo "station deja vue : ".$lastseen['id_borne']."
";*/ continue; }
$nb = $chemins[$lastseen['id_borne']."-".$list['id_borne']]++;
//echo "chemin : " . $lastseen['id_borne'] . "-" . $list['id_borne']." a la valeur " . $chemins[$lastseen['id_borne']."-".$list['id_borne']] . "
";
$posXend=$list['position_X'];//position X de fin de la borne actuelle
$posYend=$list['position_Y'];//position Y de fin de la borne actuelle
$posXstart=$lastseen['position_X'];//position X de debut de la derniere borne
$posYstart=$lastseen['position_Y'];//position Y de debut de la derniere borne
$heure_passage=$list['heure_passage'];
//echo "$heure_passage";
$deltax = $posXend - $posXstart;
$x2 = $deltax * $deltax;
$deltay = $posYend - $posYstart;
$y2 = $deltay * $deltay;
$length = sqrt($x2 + $y2);//longueur du trajet entre les deux bornes
if($deltax != 0) {
$deltax /= $length;
}
if($deltay != 0) {
$deltay /= $length;
}
$deltaxorto = -$deltay;
$deltayorto = $deltax;
$deltaXway = (10 * $deltaxorto * $nb) + $deltaxorto * 10;
$deltaYway = (10 * $deltayorto * $nb) + $deltayorto * 10;
imageLine ($image, $posXstart + $deltaXway, $posYstart + $deltaYway, $posXend + $deltaXway, $posYend + $deltaYway, $rouge);//tracé du trajet décalé de $deltaXway $deltaYway
$midX = ($posXend + $posXstart)/2 + $deltaXway;//milieu X du trajet
$midY = ($posYend + $posYstart)/2 + $deltaYway;//milieu Y du trajet
$distx = 8 * $deltaxorto;
$disty = 8 * $deltayorto;
$values = array(
$midX + $deltax*16, $midY + $deltay*16, // Point 1 (x, y)
($midX - $deltax*7) + $distx, ($midY - $deltay*7) + $disty, // Point 2 (x, y)
($midX - $deltax*7) - $distx, ($midY - $deltay*7) - $disty, // Point 3 (x, y)
);//tableau des trois sommet des triangles des flèches
imagefilledpolygon($image, $values, 3, $rouge); //Tracage des fleches
imagestring ($image, 3, $midX-3, $midY-6, $count, $blanc);//nombres de trajets tracés
// dessin de la borne
imagecopy($image, $lecteur, $posXstart-($lecteur_width/2), $posYstart-($lecteur_height/2), 0, 0, $lecteur_width, $lecteur_height);//dessin du lecteur
imagestring ($image, 3, $posXstart-45, $posYstart + ($lecteur_height/2) + 5, $lastseen['id_borne'], $rouge);//afiche l'id de la borne traversée
imagecopy($image, $lecteur, $posXend-($lecteur_width/2), $posYend-($lecteur_height/2), 0, 0, $lecteur_width, $lecteur_height);//dessin du lecteur
imagestring ($image, 3, $posXend - 45, $posYend + ($lecteur_height/2) + 5, $list['id_borne'], $rouge);//afiche l'id de la borne traversée
$lastseen = $list;//on reinitialise la derniere borne visitée
$count++;//conteur pour le nombre de trajets
}
mysql_close($db);//on ferme la connection SQL
Header( "Content-type: image/png");
imagePng($image);//on creer l'image PNG
imageDestroy($image);//on detruit l'image a la fermeture de la fenetre
}
else
{
header ("Location: http://rfid.erasme.org/dessin.html");//on rappel la page si l'e-mail saisi n'est pas valide
}
?>