123 lines
5.3 KiB
PHP
123 lines
5.3 KiB
PHP
<?
|
|
/*
|
|
*********************************************************************
|
|
* File : $RCSfile: compteur.php,v $
|
|
* Version : $Revision: 1.2 $
|
|
* Modified by : $Author: jb $ ($Date: 2002/07/24 23:34:59 $)
|
|
*********************************************************************
|
|
Classe Compteur
|
|
v 0.2 : NADAL Jean-Baptiste : 06 03 2001
|
|
V 0.01 : NADAL Jean-Baptiste : 02 10 2000
|
|
|
|
Description : Cette classe permet d'afficher le nombre de visiteurs de
|
|
la page index du site de l'Harmonie
|
|
*/
|
|
|
|
class Compteur {
|
|
|
|
// =============================================================
|
|
// Les Variables
|
|
var $nNbVisiteurs,$topdir; /* Nombre de visiteurs sur le site. */
|
|
|
|
// =============================================================
|
|
// Les Fonctions
|
|
|
|
// =============================================================
|
|
// Constructeur de la classe
|
|
function Compteur ($nTypeAffichage)
|
|
{
|
|
//echo $pwd;
|
|
//$pwd = dirname(__FILE__);
|
|
//echo $pwd;
|
|
//$this->topdir = "$pwd/../..";
|
|
//$this->topdir = "$pwd/..";
|
|
|
|
// On met à jour la variable du compteurr
|
|
if ( $nTypeAffichage==1)
|
|
$this->Update ($nTypeAffichage);
|
|
else
|
|
{
|
|
$cheminCompteur = "./compteur/compteur.txt";
|
|
$fp = file($cheminCompteur);
|
|
$this->nNbVisiteurs = $fp[0];
|
|
}
|
|
// On affiche le compteur
|
|
// $this->Affiche();
|
|
}
|
|
|
|
// =============================================================
|
|
// Retourne la valeur du compteur sous la forme du chaine de caractère
|
|
function GetCompteur()
|
|
{
|
|
return $this->nNbVisiteurs;
|
|
}
|
|
|
|
// =============================================================
|
|
// Méthode permettant de charger la valeur du compteur
|
|
function Update ($nTypeA)
|
|
{
|
|
//ouverture du fichier stockant le nombre de visiteur
|
|
$cheminCompteur = "./compteur/compteur.txt";
|
|
|
|
// Sinon c'est que l'on est sur n'importe quel page du site
|
|
if ( $nTypeA == 1 )
|
|
{
|
|
$fp=fopen($cheminCompteur,"r+");
|
|
$nblocal =fgets($fp,10);
|
|
// On place ensuite le pointeur sur le debut du fichier
|
|
fseek($fp,0);
|
|
// On incremente le nombre de visiteur de 1
|
|
$nblocal+=1 ;
|
|
fputs($fp,$nblocal);
|
|
fclose($fp);
|
|
$this->nNbVisiteurs = $nblocal;
|
|
// echo "<h1>on enregistre : <$nblocal> \n</h1>";
|
|
} // fin if ( $nTypeAffichage == 1 )
|
|
|
|
//$this->nNbVisiteurs = $nblocal;
|
|
//echo "<h1>nb : <$this->nNbVisiteurs> \n</h1>";
|
|
}
|
|
// =============================================================
|
|
// Cette fonction affiche le compteur sous la forme du'une image
|
|
function Affiche()
|
|
{
|
|
// On va travailler sur une copie du nombre de visiteurs
|
|
$nNbVis_copy = $this->nNbVisiteurs;
|
|
// On transforme la variable en chaine de caractère pour le traitement
|
|
settype($nNbVis_copy, "string");
|
|
|
|
//Il faut aussi introduire un séparateur (ici le ;) entre chaque chiffre, afin de
|
|
//pouvoir les dissocier
|
|
$data=ereg_replace("0", ";0", $nNbVis_copy);
|
|
$data=ereg_replace("1", ";1", $data);
|
|
$data=ereg_replace("2", ";2", $data);
|
|
$data=ereg_replace("3", ";3", $data);
|
|
$data=ereg_replace("4", ";4", $data);
|
|
$data=ereg_replace("5", ";5", $data);
|
|
$data=ereg_replace("6", ";6", $data);
|
|
$data=ereg_replace("7", ";7", $data);
|
|
$data=ereg_replace("8", ";8", $data);
|
|
$data=ereg_replace("9", ";9", $data);
|
|
|
|
//On eclate le nombre en tableau selon le séparateur que l'on a introduit.
|
|
$tableau=explode(";",$data);
|
|
|
|
// Puis on prépare l'affichage de l'image ddu compteur
|
|
echo"<center><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"> <tr><td><img src=\"$topdir/compteur/deb.gif\" alt=\"\"></td>";
|
|
|
|
// Puis pour chaque élément du tableau qui vient d'être créé
|
|
while(list($element,$valeur)=each($tableau))
|
|
{
|
|
//Comme le tableau débute par ; on réfute le premier élément du tableau soit tableau[0]
|
|
if($element != 0)
|
|
{
|
|
//on affiche l'image correspondant au chiffre
|
|
echo"<td><img src=\"$topdir/compteur/$valeur.gif\" alt=\"$valeur\"></td>";
|
|
} // fin if($element != 0)
|
|
} // fin while(list($element,$valeur)=each($tableau))
|
|
// Puis pour terminer, on affiche une image pour terminer le cadre et
|
|
// Afficher ème visiteur
|
|
echo"<td><img src=\"$topdir/compteur/visites.gif\" alt=\"visites\"></td></tr></table></center>";
|
|
}
|
|
|
|
} // fin de la classe compteur
|