<?PHP
//////////////////////////////////////////////////////////////////////////
// hard-war.org - [ cmpt.php - Hard Compteur ] //
// Septembre 2001 - update du 19/11/2001 de hugo@hard-war.org //
// Open Source, faites ce que vous voulez de ce source à la simple //
// condition que vous n'enleviez pas ce commentaire... //
//////////////////////////////////////////////////////////////////////////
function cmpt_visit($ip_file_cmpt, $file_cmpt, $timeout_cmpt = 2)
{
// Fonction Hard Compteur par hugo@hard-war.org v0.6
global $REMOTE_ADDR;
$nbr_connect = 0;
//$var_ip = "<?die (\"<pre>Impossible d'accéder à cette ressource !</pre>\")?>\n";
if($fp = @file($ip_file_cmpt))
{
$now_time = time();
foreach ($fp as $record_cm)
{
$subdata = explode("\t", $record_cm);
list($jour, $mois, $annee) = explode("/", substr($subdata[1], 0, 10));
list($heure, $minute, $seconde) = explode(":", substr($subdata[1], 10, 18));
// Prise du nombre de connecté (les 5 derniere minutes)
if ($now_time < mktime($heure, $minute, $seconde, $mois, $jour, $annee) + 180)
$nbr_connect++;
// Si l'IP est là depuis plus du time-out
if ($now_time < mktime($heure, $minute, $seconde, $mois, $jour, $annee) + 3600 * $timeout_cmpt)
{
if ($REMOTE_ADDR == $subdata[0])
$var_bool = true;
$var_ip .= $record_cm;
}
}
}
// Prise des infos
$fp = fopen($file_cmpt, "a+"); // Ouverture du fichier en Lecture / Ecriture
$nbr_visit = trim(fgets($fp, 100)); // Prise du nombre de connectés
$date_start = trim(fgets($fp, 100)); // Prise de la date
// Création des bonnes valeurs
if($nbr_visit == "")
{
$nbr_visit = 0;
fputs($fp, "$nbr_visit");
}
if($date_start == "")
{
$date_start = date("d/m/Y");
fputs($fp, "\n".$date_start);
}
fclose($fp); // Fermeture fichier
// On augmente si l'IP n'est pas encore connu...
if (!$var_bool)
{
$fp = @fopen($file_cmpt, "w"); // Ouverture du fichier en écriture
$nbr_visit++; // Augmentation du compteur
fputs($fp, $nbr_visit."\n"); // Sauvegarde du nouveau nombre
fputs($fp, $date_start); // Réécriture de la date
fclose($fp); // Fermeture du fichier
$var_ip .= "\n".$REMOTE_ADDR."\t".date("d/m/Y H:i:s")."\n";
$fp_cm = fopen($ip_file_cmpt, "w");
fputs ($fp_cm, $var_ip);
fclose($fp_cm);
$nbr_connect++;
}
$retcmpt[0] = $date_start;
$retcmpt[1] = $nbr_visit;
$retcmpt[2] = $nbr_connect;
return $retcmpt;
}
?>