Вход Регистрация
Файл: o5on.ru/global_count.php
Строк: 76
<?php

### Обновление даты пользование топом
$time_stamp time ();
$day_time    24*60*60;
mysql_query("UPDATE `users` SET `date` = '".$time_stamp."' WHERE (`date` + ".$day_time.") < ".$time_stamp." AND `uid` = 1 LIMIT 1;");

// получаем ip посетителя
$ip $_SERVER['REMOTE_ADDR'];
$ua $_SERVER['HTTP_USER_AGENT'];
$ip northwest($ip);
$ua formes($ua);

$browser  explode("/",$ua);
$user_browser = (string)$browser[0];

// =================== Определение тела и учет в статистике
$uid 1;
include 
"../mod_telinfo.php";
// =================== Определение оператора и учет в статистике
include "../mod_operators.php";

// текущий час, день недели и дата
$hour date("H");
$day date("d");
$today date("Ymd");
// ------------------------- обнулялка хостов ----------------------------
// извлекаем время последней записи в счетчик хостов
$result mysql_query("SELECT `time` FROM `hits_time` WHERE `uid`='1';");
$row=mysql_fetch_row($result);
// если время отсутствует, запоминаем
if(empty($row)){
        @
mysql_query("INSERT INTO `hits_time` VALUES ('1','".$today."');");
        
$reset_time $today;
} else 
$reset_time $row[0];
// удаляем записи ip старее суток
if($today != $reset_time){
     @
mysql_query("DELETE FROM `hits_ip` WHERE `uid`='1';");
     @
mysql_query("UPDATE `hits_time` SET `time` = '".$today."' WHERE `uid`='1';");
}
//------------------------------ часовая статистика -------------------------
// данные за текущий час
$result mysql_query("SELECT `count`,`host` FROM `count_24` WHERE `hour`='".$hour."' AND `date`='".$today."' AND `uid`='1';");
$row=mysql_fetch_row($result);
// поверка наличия записи в базе
if (empty($row))
{
    
$res mysql_query("SELECT count(*) FROM `count_24` WHERE `uid`='1';");
    
$data mysql_fetch_row($res);
    
$count_rows $data[0];
    if (
$count_rows >= 24) @mysql_query("DELETE FROM `count_24` WHERE `uid`='1' ORDER BY `id` ASC LIMIT 1;");
    @
mysql_query("INSERT INTO `count_24` VALUES ('','1','".$today."','".$hour."',0,0);");
    
$hour_count 0;
    
$hour_host 0;
}else
    {
        
$hour_count $row[0];
        
$hour_host $row[1];
    }
$hour_count++;

// ---------------------------- посещения за месяц --------------------
$today date("Ym");
// данные за текущий месяц
$result mysql_query("SELECT `count`,`host` FROM `months` WHERE `date`='".$today."' AND `uid`='1';");
$row=mysql_fetch_row($result);
// поверка наличия записи в базе
if (empty($row))
{
    @
mysql_query("INSERT INTO `months` VALUES ('','1','".$today."',0,0);");
    
$this_month_count 0;
    
$this_month_host 0;
}else{
        
$this_month_count $row[0];
        
$this_month_host $row[1];
    }
$this_month_count++;

//-------------------------- недельная статистика----------------
//$week_day = date("w");
$today date("Ymd");
// получаем дату обнуления недельной статистики
$result mysql_query("SELECT `next_mon` FROM `weeks` WHERE `uid`='1' ORDER BY `id` ASC LIMIT 1;");
$row=mysql_fetch_row($result);
if (empty(
$row))
{
     
$nextMonday=date("Ymd",mktime(0,0,0,date("m"),date("d")+32));
}
else 
$nextMonday $row[0];
// если сегодня дата обнуления, обнуляем недельную статистику, и расчитываем след дату обнуления
////////////////////////////////////////////////////////////////////////////

if ($today >= $nextMonday)
{
    
$nextMonday=date("Ymd",mktime(0,0,0,date("m"),date("d")+32));
    
// обнуляем посещения за прошедшую неделю
    
@mysql_query("DELETE FROM `weeks` WHERE `next_mon` = '".$today."';");
    @
mysql_query("DELETE FROM `top_operators_stat` WHERE `next_mon` = '".$today."';");

    
### Удаление неактивных пользователей
    
$time_stamp time ();
    
$week_time    7*24*60*60;
    
$sql_result mysql_query("SELECT `uid` FROM `users` WHERE ('".$time_stamp."' - `users`.`date`) > '".$week_time."';");
    while (
$result mysql_fetch_assoc($sql_result))
    {
        
$del_uid $result['uid'];
        @
mysql_query("DELETE FROM `users` WHERE `uid` = '".$del_uid."';");
        @
mysql_query("DELETE FROM `count_24` WHERE `uid` = '".$del_uid."';");
        @
mysql_query("DELETE FROM `hits_ip` WHERE `uid` = '".$del_uid."';");
        @
mysql_query("DELETE FROM `hits_time` WHERE `uid` = '".$del_uid."';");
        @
mysql_query("DELETE FROM `months` WHERE `uid` = '".$del_uid."';");
        @
mysql_query("DELETE FROM `online_ip` WHERE `uid` = '".$del_uid."';");
        @
mysql_query("DELETE FROM `top_operators_stat` WHERE `uid` = '".$del_uid."';");
        @
mysql_query("DELETE FROM `weeks` WHERE `uid` = ".$del_uid."");
    }
}


/////////////////////////////////////////////////////////////////////
// получаем данные за текущий день недели
$result mysql_query("SELECT `cat_id` FROM `users` WHERE `uid`='1';");
$row=mysql_fetch_row($result);
if (empty(
$row)) exit;
$cat_id $row[0];
$result mysql_query("SELECT `count`,`host` FROM `weeks` WHERE `date`='".$today."' AND `day_week`='".$week_day."' AND `uid`='1' LIMIT 1;");
$row=mysql_fetch_row($result);
if (empty(
$row))
{
    
$nextMonday=date("Ymd",mktime(0,0,0,date("m"),date("d")+32));
    @
mysql_query("INSERT INTO weeks VALUES ('','1','".$nextMonday."','".$today."','".$week_day."','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','".$cat_id."');");
    
$week_day_count 0;
    
$week_day_host 0;
} else{
        
$week_day_count $row[0];
        
$week_day_host $row[1];
    }
$week_day_count++;

// ======================================== хосты (оптимиз код) ===================================
// чтение текущего ip хита из базы
$result mysql_query("SELECT `ip` FROM `hits_ip` WHERE (`ip`='".$ip."' AND `ua`='".$ua."') AND `uid`='1';");
$row=mysql_fetch_row($result);
// если адрес отсутствует, плюсуем хост
if(empty($row))
{
    
// защита от накрутки
    
$result mysql_query("SELECT `ip` FROM `hits_ip` WHERE `uid`='1' ORDER BY `time` DESC  LIMIT 1;");
    
$row mysql_fetch_array($result);
    if (empty(
$row) || ($row['ip'] != $ip))
    {
        
$hour_host++;
        
$week_day_host++;
        
$this_month_host++;
        
mysql_query("INSERT INTO `hits_ip` VALUES ('1','".$ip."','".$ua."','".time()."');");
    }
}
// сохранение посещения
@mysql_query("UPDATE `count_24` SET `count`='".$hour_count."',`host`='".$hour_host."' WHERE `hour`='".$hour."' AND `date`='".$today."' AND `uid`='1';");
@
mysql_query("UPDATE `weeks` SET `count`='".$week_day_count."',`host`='".$week_day_host."' WHERE `date`='".$today."' AND `day_week`='".$week_day."' AND `uid`='1' LIMIT 1;");
$today date("Ym");
@
mysql_query("UPDATE `months` SET `count`='".$this_month_count."',`host`='".$this_month_host."' WHERE `date`='".$today."' AND `uid`='1';");

// за сегодня
$count_today $week_day_count;
$host_today $week_day_host;

// ------------------------------- онлайн  -----------------------------
$today date("Ymd");
$now=date("ymdHi");
$result mysql_query("SELECT `ip` FROM `online_ip` WHERE `uid`='1' AND `ip`='".$ip."' LIMIT 1;");
$row=mysql_fetch_row($result);
if(empty(
$row[0])) @mysql_query("INSERT INTO `online_ip` (`uid`, `ip`, `time`, `browser` ) VALUES ('1', '".$ip."', '".(time()+60*15)."', '".$user_browser."');");
// удаляем записи ip старее online_time минут
@mysql_query("DELETE FROM `online_ip` WHERE `uid`='1' AND `time` <= '".time()."';");

?>
Онлайн: 0
Реклама