File: /home/centralexf/www/modules/mod_jts_counterstats/helper.php
<?php
/**
# mod_jts_counterstats
# @version 1.4
# ------------------------------------------------------------------------
# author Sarki for Joomlatutos.com inspired by Open Source Code Solutions Co and VINAORA
# copyright Copyright (C) 2011 Joomlatutos.com, Joomlavi.com and Vinaora.com. All Rights Reserved.
# @license - http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL or later.
# Website: http://www.joomlatutos.com
# @email: info@joomlatutos.com
-------------------------------------------------------------------------*/
// No direct access to this file
//session_start();
defined('_JEXEC') or die;
error_reporting(0);
abstract class modJVCounterHelper
{
public static function getList(&$fields)
{
// $items = array();
//return $items;
//return "Hello";
}
public static function tempTable()
{
$query="CREATE TABLE IF NOT EXISTS #__vvtemp ( id int(11) unsigned NOT NULL AUTO_INCREMENT,
ses int NOT NULL ,
ip varchar(16) NOT NULL,
name_user varchar(16) NOT NULL,
bro varchar(1000) NOT NULL,
PRIMARY KEY (`id`)
)ENGINE=MyISAM AUTO_INCREMENT=1; ";
$db= & JFactory::getDBO();
$db->setQuery($query);
$db->query();
}
public static function insertTemp($ip,$username,$browser)
{
$query= "INSERT INTO #__vvtemp(id, ses, ip,name_user,bro) VALUES('','".time()."', '".$ip."','$username','$browser')";
$db= & JFactory::getDBO();
$db->setQuery($query);
$db->query();
}
public static function visitCounter()
{
$query="SELECT Count(*) as soluong FROM #__vvtemp";
$db=& JFactory::getDBO();
$db->setQuery($query);
$db->query();
$items=$db->loadResult();
return $items;
}
public static function kiemTra($locktime,$username,$id_user=0){
//$user = JFactory::getUser();
$ip=$_SERVER['REMOTE_ADDR'];
$browser=$_SERVER["HTTP_USER_AGENT"];
$query= "SELECT * FROM #__vvtemp WHERE ip='".$ip."' AND bro='".$browser."' ";
$db=& JFactory::getDBO();
$db->setQuery($query);
$kq=$db->loadObject();
if($kq){
$now=JFactory::getDate()->toUnix();
$sestime=(int)($kq->ses)+ ($locktime*60);
if($sestime < time()){
$query1="UPDATE #__vvtemp set ses='".$kq->ses."',name_user='".$username."',ip=0 WHERE ip='".$ip."'AND bro='".$browser."'";
$db->setQuery($query1);
$db->query();
if($id_user){
modJVCounterHelper::insertTemp($ip,$username,$browser);
} else{
modJVCounterHelper::insertTemp($ip,'NULL',$browser);
}
}else{
if($id_user){
$query1="UPDATE #__vvtemp set ses='".time()."',name_user='".$username."' WHERE ip='".$ip."'AND bro='".$browser."'";
$db->setQuery($query1);
$db->query();
} else{
$query1="UPDATE #__vvtemp set ses='".time()."',name_user='NULL' WHERE ip='".$ip."'AND bro='".$browser."'";
$db->setQuery($query1);
$db->query();
}
}
}else {
if($id_user){
modJVCounterHelper::insertTemp($ip,$username,$browser);
}else{
modJVCounterHelper::insertTemp($ip,'NULL',$browser);
}
}
}
function getSes(){
$session= &JFactory::getSession();
$session->set('key','aaa');
$a= $session->get('key') ;
return $a;
}
function &getDigits( $number, $length=0 )
{
$arr=array();
$diff= $length - strlen($number);
while ( $diff>0 ){
array_push( $arr,0 );
$diff--;
}
$arrNumber = str_split( $number );
$arr = array_merge( $arr,$arrNumber );
return $arr;
}
function showDigitImage( $digit_type="default", $digit )
{
$ret = '<img src="'.JURI::base().'modules/mod_jts_counterstats/tmpl/images/'.$digit_type.'/'.$digit.'.png" alt="mod_jts_counterstats" title="Compteur de visites"/>';
return $ret;
}
function showInfoDigit($timesvisit, $times){
$kq='<label>'.$times.'</label>';
$kq.=$timesvisit;
return $kq;
}
function countVisit($ip,$locktime){
$l_time=$locktime*60;
$db= & JFactory::getDBO();
$query="SELECT COUNT(*) FROM #__vvtemp WHERE ip <> '".$ip."' AND ses <=".time()." AND ses> ".time()-$l_time. " ";
$db->setQuery($query);
$kq=$db->loadResult();
if($kq){
return $kq;
}
return 0;
}
function maxTime(){
$query="SELECT MAX(ses) FROM #__vvtemp";
$db= & JFactory::getDBO();
$db->setQuery($query);
$timemax=$db->loadResult();
return $timemax;
}
function showNameRegister($locktime){
$ip=$_SERVER["REMOTE_ADDR"];
$l_time=$locktime*60;
$query ="SELECT * FROM #__vvtemp WHERE name_user <> 'NULL' AND ses <=".time()." AND ses >". (time()- $l_time)." ";
$db = & JFactory::getDBO();
$db->setQuery($query);
$db->query();
$kq=$db->loadObjectList();
return $kq;
}
function countTotal($locktime){
$query="SELECT count(*) FROM #__vvtemp WHERE ses<='".time()."' AND ses> '".(time()- ($locktime*60) )."' ";
$db = & JFactory::getDBO();
$db->setQuery($query);
$db->query();
$kq=$db->loadResult();
if($kq){
return $kq;
}
return 0;
}
}