All pastes #128190 Raw Edit

Something

public text v1 · immutable
#128190 ·published 2006-08-12 20:03 UTC
rendered paste body
<?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;
}

?>