<?php

$ip = getenv("REMOTE_ADDR");
$agent = getenv("HTTP_USER_AGENT");
$uid="Connecté N°$ip";
$ctime=time();

$nb_connectes=0;
$fp = opendir("connexions");
while ($file = readdir($fp))
{
	if ($file!="." && $file!="..")
 	{
  		$named="connexions/".$file;
		$lefichier = fopen($named ,"r");
		if($lefichier) {
				flock($lefichier,2); //lock
				$timec=fgets($lefichier, 2048);	// on lit les infos
				$tip=fgets($lefichier, 2048);
				$tagent=fgets($lefichier, 2048);
				$tuid=fgets($lefichier, 2048);
			if ($ip==$file) {$uid=$tuid;} // c'est une connexion deja existante,on garde le meme UID 
				$temps=($ctime-$timec); // soustrait heure de connexion a heure courante,on obtient le décalage en secondes
				flock($lefichier,3); //unlock
				fclose($lefichier);	// on ferme
			if ($ip<>$file)
			{
				if ($temps<240) // si temps de connexion inferieur a 240 sec, connexion valide
				{
					$nb_connectes=$nb_connectes+1;	// on incremente le compteur
				}
				else
				{
					if ($temps>360) {
						$kill=unlink($named);
					}
				}
			}
		}
 	}
}
closedir($fp);	// on referme le répertoire

// et stocke les infos

$ctime = time(); // heure de connexion en secondes
$lefichier = fopen("connexions/".$ip ,"w+"); // ouvre le fichier
if($lefichier) {
	flock($lefichier,2); //lock
	$ecrit = fwrite ($lefichier, $ctime.chr(10) ); // ecriture de l'heure de cnx dans le fichier
	$ecrit = fwrite ($lefichier, $ip.chr(10) ); // ecriture de l'ip dans le fichier
	$ecrit = fwrite ($lefichier, $agent.chr(10) ); // ecriture de l'agent dans le fichier
	$ecrit = fwrite ($lefichier, $uid.chr(10) ); // ecriture de l'UID dans le fichier
	flock($lefichier,3); //unlock
	fclose($lefichier); // on ferme le fichier
	$nb_connectes=$nb_connectes+1; // on incremente le compteur
}

if (strlen($nb_connectes)<5)
{
	$temp=str_repeat("0",5-strlen($nb_connectes)).$nb_connectes;
	$nb_connectes=$temp;
}

if($nb_connectes<2)
	{	//Moins de 2 connectés
		$cos=Connecté ; //on vire le "S" à la fin :)
	}
else
	{
		$cos=Connecté ; //si plus il reste "S" ;)
	}

// affiche le nombre de connectés
$image = imagecreate(110,16);
$colorBlack = imagecolorallocate($image, 255, 255, 255);//fon
$colorWhite = imagecolorallocate($image, 11, 125, 255); //connecter
$colorBlue = imagecolorallocate($image, 11, 125, 255);

ImageFilledRectangle($image,71,3,101,13,$colorWhite);
imageString($image, 4, 0, 1, "$cos ", $colorBlue);
imageString($image, 2, 72, 1, $nb_connectes, $colorBlack);

//send image
header ("Content-type: how/1.png");
imagepng ($image);
?>