Add Script of the site
This commit is contained in:
122
Scripts/Stats.php
Normal file
122
Scripts/Stats.php
Normal file
@@ -0,0 +1,122 @@
|
||||
<?php
|
||||
/*
|
||||
*********************************************************************
|
||||
* File : $RCSfile: Stats.php,v $
|
||||
* Version : $Revision: 1.2 $
|
||||
* Modified by : $Author: jb $ ($Date: 2002/07/24 23:34:59 $)
|
||||
*********************************************************************
|
||||
Classe Stats
|
||||
v 0.20 28-11-2001 : refonte complete
|
||||
v 0.10 : 15 05 2001
|
||||
V 0.01 : NADAL Jean-Baptiste : 17 04 2001
|
||||
|
||||
Description : Cette classe permet de gérer les statistiques du site
|
||||
elle permet d'enregistrer les entrée des visiteur avec filtrage, un meme utilisateur n'est pris en compte
|
||||
pour la meme que s'il la revisite 10 minutes apres.
|
||||
*/
|
||||
|
||||
if ( file_exists("conf.php") )
|
||||
require("conf.php");
|
||||
else
|
||||
require("./Scripts/conf.php");
|
||||
|
||||
class Stats
|
||||
{
|
||||
// ===============================
|
||||
var $szReferenceur;
|
||||
var $szRemote_Addr;
|
||||
var $szUser_Http_Agent;
|
||||
var $szCookie;
|
||||
// ===============================
|
||||
// Constructeur de la classe de statistique
|
||||
function Stats($ref,$remote_addr,$user_http_Agent, $cook)
|
||||
{
|
||||
$this->szReferenceur=$ref;
|
||||
$this->szRemote_Addr=$remote_addr;
|
||||
$this->szUser_Http_Agent=$user_http_Agent;
|
||||
$this->szCookie=$cook;
|
||||
}
|
||||
|
||||
// ===============================
|
||||
// Cette fonction Incremente la page visitée dans la base de statistique
|
||||
function IncStatPage($szNomPage)
|
||||
{
|
||||
global $sql_bdd;
|
||||
|
||||
// On se connecte a la base de donnée du site
|
||||
$connect_db = jb_sql_connect(3);
|
||||
if ( $connect_db != "" )
|
||||
{
|
||||
// On recupere la date courante;
|
||||
$date = time();
|
||||
|
||||
if ($this->szCookie != "oui" )
|
||||
{
|
||||
if (! $this->Estdejavenu($connect_db,$szNomPage, $date) )
|
||||
{
|
||||
// On incremente le compteur général
|
||||
$num_date = $this->incCompteurGeneral($connect_db,$szNomPage, $date );
|
||||
// Puis on increment le compteur en texte.
|
||||
// echo "cook : $this->szCookie, $nTypeStat";
|
||||
// echo "on increment le compteur !!!";
|
||||
$cpt = new Compteur(1);
|
||||
} // fin if (! Estdejavenu($connect_db,$nTypeStat,$heure) )
|
||||
} // fin if ($this->szCookie != "oui" )
|
||||
// On ferme la connexion avec la base de donnee
|
||||
$result = mysql_close($connect_db);
|
||||
} // Fin if ( $connect_db != "" )
|
||||
} // fin de function IncStatPage($nTypeStat)
|
||||
|
||||
// ====================================================
|
||||
// Cette fonction détermine si l'utilisateur courant est deja venu sur la page $page depuis les
|
||||
// dix dernières minutes.
|
||||
// Return true si l'utilisateur est deja venu faux sinon
|
||||
function Estdejavenu($connection,$Page,$heure)
|
||||
{
|
||||
global $table_visiteur;
|
||||
global $sql_bdd;
|
||||
$bRetour = false;
|
||||
|
||||
// On regarde si l'utlisateur est venu sur le site ( si son @ IP est deja enregistrée
|
||||
$resultat = mysql_db_query($sql_bdd,"select date_php from $table_visiteur where address='$this->szRemote_Addr' order by date_php desc ",$connection);
|
||||
|
||||
// s'il y a une réponse, c'est que le visiteur est deja venu
|
||||
if (mysql_num_rows($resultat) > 0)
|
||||
$heureVisite = mysql_result($resultat, 0, 'date_php');
|
||||
else
|
||||
$heureVisite = mktime(0, 0, 0, date("m")-1, date("d"), date("Y"));
|
||||
|
||||
//echo " date_php : $heureVisite <br> heure local : $heure<br>\n";
|
||||
|
||||
// puis on regarde si le visiteur est venu depuis lz dernière heure !!
|
||||
if (( $heure - $heureVisite) > 6000)
|
||||
$bRetour =false;
|
||||
else
|
||||
$bRetour =true;
|
||||
|
||||
return $bRetour;
|
||||
}
|
||||
|
||||
// ====================================================
|
||||
function incCompteurGeneral($connection, $szNomPage, $servertime )
|
||||
{
|
||||
global $table_compteur;
|
||||
global $table_visiteur;
|
||||
global $sql_bdd;
|
||||
|
||||
$second = date("s", ($servertime));
|
||||
$minute = date("i", ($servertime));
|
||||
$hour = date("G", ($servertime));
|
||||
$day = date("j", ($servertime));
|
||||
$month = date("n", ($servertime));
|
||||
$year = date("y", ($servertime))+2000;
|
||||
$logdate = $year.'-'.$month.'-'.$day.' '.$hour.':'.$minute.':'.$second ;
|
||||
$remote_host = @getHostByAddr($this->szRemote_Addr);
|
||||
|
||||
$res = mysql_query("INSERT INTO $table_visiteur (id, request, host, address, agent, date, date_php, referer, country, provider, os, wb) VALUES ('', '$szNomPage', '$remote_host', '$this->szRemote_Addr', '$this->szUser_Http_Agent', '$logdate', '$servertime','$this->szUser_Http_Agent', '', '', '', '')");
|
||||
|
||||
return $id_date;
|
||||
} // fin de la fonction incCompteurGeneral()
|
||||
|
||||
} // Fin de la class
|
||||
?>
|
||||
Reference in New Issue
Block a user