<?
/*
*********************************************************************
* 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