Вход Регистрация
Файл: profi_wm/top/count.php
Строк: 307
<?php
// by -=ШАХТЕР=- (waphp.ru - качай только тут)
error_reporting(0);
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
include 
"config.php";



//проверка  ввода id

$data $_SERVER['QUERY_STRING'];
list(
$uid$size) = explode(","$data);
$uid check(intval($uid));

if (empty(
$uid)) exit;

// проверка существования учетной записи
$result mysql_query("SELECT link FROM top_users WHERE uid=$uid");
$row=mysql_fetch_row($result);
if (empty(
$row)) header("Location: img/default.gif");

### Обновление даты пользование топом
$time_stamp time();
$day_time    24*60*60;
mysql_query("UPDATE `top_users` SET `date` = $time_stamp WHERE (`date` + $day_time) < $time_stamp AND `uid` = $uid LIMIT 1;
"
);
### Изменяем статус
$time_s time();
$day_t    86400;
mysql_query("UPDATE `top_users` SET `status` = 'user' WHERE (`regdate` + $day_t) < $time_s AND `uid` = $uid AND `status` != 'ban' LIMIT 1;
"
);

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

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

// =================== Определение тела и учет в статистике
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=$uid");
$row=mysql_fetch_row($result);
// если время отсутствует, запоминаем
if(empty($row)){
@
mysql_query("INSERT INTO hits_time VALUES ($uid,$today)");
$reset_time $today;
} else 
$reset_time $row[0];
// удаляем записи ip старее суток
if($today != $reset_time){
 @
mysql_query("DELETE FROM hits_ip WHERE uid=$uid");
 @
mysql_query("UPDATE hits_time SET time = $today WHERE uid=$uid");
}
//------------------------------ часовая статистика -------------------------
// данные за текущий час
$result mysql_query("SELECT count,host FROM count_24 WHERE hour=$hour AND date=$today AND uid=$uid");
$row=mysql_fetch_row($result);
// поверка наличия записи в базе
if (empty($row))
{
    
$res mysql_query("SELECT count(*) FROM count_24 WHERE uid=$uid");
    
$data mysql_fetch_row($res);
    
$count_rows $data[0];
    if (
$count_rows >= 24) @mysql_query("DELETE FROM count_24 WHERE uid=$uid ORDER BY id ASC LIMIT 1;");
$rrow mysql_fetch_array(mysql_query("SELECT * FROM top_users WHERE uid=$uid"));
$razd $rrow['razdel'];
$status $rrow['status'];
    @
mysql_query("INSERT INTO count_24 VALUES ('',$uid,$today,$hour,0,0,'$status');");
    
$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=$uid");
$row=mysql_fetch_row($result);
// поверка наличия записи в базе
if (empty($row))
{
$rrow mysql_fetch_array(mysql_query("SELECT * FROM top_users WHERE uid=$uid"));
$razd $rrow['razdel'];
$status $rrow['status'];
    @
mysql_query("INSERT INTO months VALUES ('',$uid,$today,0,0,'$status');");
    
$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=$uid ORDER BY id ASC LIMIT 1");
$row=mysql_fetch_row($result);
if (empty(
$row))
{
    
// расчитываем дату обнуления
$dayNext =$week_day 7;
if (
$dayNext 7){
$dayNext-=7;
}
$cntDay=8-$dayNext;
$nextMonday=date("Ymd",mktime(0,0,0,date("m"),date("d")+$cntDay));

}
else 
$nextMonday $row[0];
// если сегодня дата обнуления, обнуляем недельную статистику, и расчитываем след дату обнуления
if ($today >= $nextMonday)
{
    
// расчитываем след дату обнуления
$dayNext =$week_day 7;
if (
$dayNext 7){
$dayNext-=7;
}
$cntDay=8-$dayNext;
$nextMonday=date("Ymd",mktime(0,0,0,date("m"),date("d")+$cntDay));
// обнуляем посещения за прошедшую неделю
@mysql_query("DELETE FROM `weeks` WHERE uid = $uid");
@
mysql_query("DELETE FROM `top_operators_stat` WHERE uid = $uid");

### Удаление неактивных пользователей
$time_stamp time ();
$week_time    31*24*60*60;
$sql_result mysql_query("
    SELECT `uid` FROM `top_users`
    WHERE (
$time_stamp - `top_users`.`date`) > $week_time
"
);
while (
$result mysql_fetch_assoc($sql_result))
{
    
$del_uid $result['uid'];
    @
mysql_query("DELETE FROM `top_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 count,host FROM weeks WHERE date=$today AND day_week=$week_day AND uid=$uid LIMIT 1");
$row=mysql_fetch_row($result);
if (empty(
$row))
{
    
// расчитываем дату обнуления
$dayNext =$week_day 7;
if (
$dayNext 7)
{
$dayNext-=7;
}
$cntDay=8-$dayNext;
$nextMonday=date("Ymd",mktime(0,0,0,date("m"),date("d")+$cntDay));
$rrow mysql_fetch_array(mysql_query("SELECT * FROM top_users WHERE uid=$uid"));
$razd $rrow['razdel'];
$status $rrow['status'];
@
mysql_query("INSERT INTO weeks VALUES ('',$uid,$razd,$nextMonday,$today,$week_day,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,'$status')");
$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`=$uid");
$row=mysql_fetch_row($result);
// если адрес отсутствует, плюсуем хост
if(empty($row))
{
// защита от накрутки
$result mysql_query("SELECT `ip` FROM `hits_ip` WHERE `uid`=$uid 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 ($uid,'$ip','$ua',".time().")");
    }
}
// сохранение посещения
$rrow mysql_fetch_array(mysql_query("SELECT * FROM top_users WHERE uid=$uid"));

$status $rrow['status'];

@
mysql_query("UPDATE count_24 SET count=$hour_count,host=$hour_host, status = '$status' WHERE hour=$hour AND date=$today AND uid=$uid");
@
mysql_query("UPDATE weeks SET count=$week_day_count, host=$week_day_host, status = '$status' WHERE date=$today AND day_week=$week_day AND uid=$uid LIMIT 1");
$today date("Ym");
@
mysql_query("UPDATE months SET count=$this_month_count,host=$this_month_host, status = '$status' WHERE date=$today AND uid=$uid");

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

// ------------------------------- онлайн  -----------------------------
$today date("Ymd");
$now=date("ymdHi");
// удаляем записи ip старее online_time минут
// del_time время позднее которого записи считаются старыми
$del_time date("ymdHi"mktime(date("H"), date("i")-$online_time));
@
mysql_query("DELETE FROM `online_ip` WHERE `uid`=$uid AND `time` <= $del_time");

// --------- онлайн
$result mysql_query("SELECT ip FROM online_ip WHERE ip='$ip' AND uid=$uid");
$row mysql_num_rows($result);
// если адрес отсутствует, записываем
if(empty($row)){
mysql_query("INSERT INTO online_ip VALUES ($uid,'$ip',$now,'$user_browser')");
}
        
$online mysql_result(mysql_query("SELECT count(ip) FROM online_ip WHERE uid=$uid"),0);

// за 24 часа
        
$today date("Ymd");
        
$hour date("H");
        
$result mysql_query("SELECT sum(count) FROM count_24 WHERE ((date=$today-1 AND hour>$hour) OR (date=$today AND hour<=$hour)) AND uid=$uid");
        
$row mysql_fetch_row($result);
        
$count_24 = (int)$row[0];
// -----------------------Всего---------------------------
        
$result mysql_query("SELECT sum(count) FROM months WHERE uid=$uid");
        
$row=mysql_fetch_row($result);
        
$all_count = (int)$row[0];
/*---------------
$count_today  - хиты
$host_today  - хосты
$online - онлайн
$count_24 - за 24 часа
$all_count - всего
-----------------*/
// вывод информации
$result mysql_query("SELECT type FROM top_users WHERE uid=$uid");
$type=mysql_fetch_row($result);
$result mysql_query("SELECT typeStat FROM top_users WHERE uid=$uid");
$typeStat=mysql_fetch_row($result);

$image=$type[0];
if(
$type[0]==or $type[0]==or $type[0]==or $type[0]==5){
$image.=$typeStat[0];
}

if(
$size == "small")
    {

$img imagecreatefromgif("img/1".$typeStat[0].".gif");
    }
    else
    {

$img = @imageCreateFromGIF("img/".$image.".gif");
$color imagecolorallocate($img255,255,255);
$color2 imagecolorallocate($img0,0,0);
############################################################
// средний 3
if($image==41){
///$x1 = (ImageSX($img) - 5*strlen("$count_today")-3);
$x2 = (ImageSX($img) - 5*strlen("$host_today")-3);
$x3 = (ImageSX($img) - 5*strlen("$count_today")-3);
$y 3;
///imageString($img, 1, $x1, $y,"$count_today", $color);
imageString($img1$x2-35$y+12,"$host_today"$color);
imageString($img1$x3+1$y+12,"$count_today"$color2);
}
// средний 3
if($image==42){
///$x1 = (ImageSX($img) - 5*strlen("$count_today")-3);
$x2 = (ImageSX($img) - 5*strlen("$host_today")-3);
$x3 = (ImageSX($img) - 5*strlen("$count_today")-3);
$y 3;
///imageString($img, 1, $x1, $y,"$count_today", $color);
imageString($img1$x2-35$y+12,"$host_today"$color);
imageString($img1$x3+1$y+12,"$count_today"$color2);
}
// средний 3
if($image==43){
///$x1 = (ImageSX($img) - 5*strlen("$count_today")-3);
$x2 = (ImageSX($img) - 5*strlen("$host_today")-3);
$x3 = (ImageSX($img) - 5*strlen("$count_today")-3);
$y 3;
///imageString($img, 1, $x1, $y,"$count_today", $color);
imageString($img1$x2-35$y+12,"$host_today"$color);
imageString($img1$x3+1$y+12,"$count_today"$color2);
}
// средний 3
if($image==44){
///$x1 = (ImageSX($img) - 5*strlen("$count_today")-3);
$x2 = (ImageSX($img) - 5*strlen("$host_today")-3);
$x3 = (ImageSX($img) - 5*strlen("$count_today")-3);
$y 3;
///imageString($img, 1, $x1, $y,"$count_today", $color);
imageString($img1$x2-50$y+12,"$host_today"$color);
imageString($img1$x3-5$y+12,"$count_today"$color2);
}
// средний 3
if($image==45){
///$x1 = (ImageSX($img) - 5*strlen("$count_today")-3);
$x2 = (ImageSX($img) - 5*strlen("$host_today")-3);
$x3 = (ImageSX($img) - 5*strlen("$count_today")-3);
$y 3;
///imageString($img, 1, $x1, $y,"$count_today", $color);
imageString($img1$x2-35$y+12,"$host_today"$color);
imageString($img1$x3+1$y+12,"$count_today"$color2);
}
// средний 3
if($image==46){
///$x1 = (ImageSX($img) - 5*strlen("$count_today")-3);
$x2 = (ImageSX($img) - 5*strlen("$host_today")-3);
$x3 = (ImageSX($img) - 5*strlen("$count_today")-3);
$y 3;
///imageString($img, 1, $x1, $y,"$count_today", $color);
imageString($img1$x2-35$y+12,"$host_today"$color);
imageString($img1$x3+1$y+12,"$count_today"$color2);
}
############################################################
// полный
if($image==51){
///$x1 = (ImageSX($img) - 5*strlen("$count_today")-3);
$x2 = (ImageSX($img) - 5*strlen("$host_today")-3);
$x3 = (ImageSX($img) - 5*strlen("$online")-3);
$x4 = (ImageSX($img) - 5*strlen("$count_24")-3);
$x5 = (ImageSX($img) - 5*strlen("$all_count")-3);
$y 3;
/////imageString($img, 1, $x1, $y,"$count_today", $color);
imageString($img1$x2+1$y+11,"$host_today"$color2);
imageString($img1$x3+1$y+18,"$online"$color2);
imageString($img1$x4+1$y+25,"$count_24"$color2);
imageString($img1$x5+1$y+32,"$all_count"$color2);
}
// полный
if($image==52){
///$x1 = (ImageSX($img) - 5*strlen("$count_today")-3);
$x2 = (ImageSX($img) - 5*strlen("$host_today")-3);
$x3 = (ImageSX($img) - 5*strlen("$online")-3);
$x4 = (ImageSX($img) - 5*strlen("$count_24")-3);
$x5 = (ImageSX($img) - 5*strlen("$all_count")-3);
$y 3;
/////imageString($img, 1, $x1, $y,"$count_today", $color);
imageString($img1$x2+1$y+11,"$host_today"$color2);
imageString($img1$x3+1$y+18,"$online"$color2);
imageString($img1$x4+1$y+25,"$count_24"$color2);
imageString($img1$x5+1$y+32,"$all_count"$color2);
}
// полный
if($image==53){
///$x1 = (ImageSX($img) - 5*strlen("$count_today")-3);
$x2 = (ImageSX($img) - 5*strlen("$host_today")-3);
$x3 = (ImageSX($img) - 5*strlen("$online")-3);
$x4 = (ImageSX($img) - 5*strlen("$count_24")-3);
$x5 = (ImageSX($img) - 5*strlen("$all_count")-3);
$y 3;
/////imageString($img, 1, $x1, $y,"$count_today", $color);
imageString($img1$x2+1$y+11,"$host_today"$color2);
imageString($img1$x3+1$y+18,"$online"$color2);
imageString($img1$x4+1$y+25,"$count_24"$color2);
imageString($img1$x5+1$y+32,"$all_count"$color2);
}
// полный
if($image==54){
///$x1 = (ImageSX($img) - 5*strlen("$count_today")-3);
$x2 = (ImageSX($img) - 5*strlen("$host_today")-3);
$x3 = (ImageSX($img) - 5*strlen("$online")-3);
$x4 = (ImageSX($img) - 5*strlen("$count_24")-3);
$x5 = (ImageSX($img) - 5*strlen("$all_count")-3);
$y 3;
/////imageString($img, 1, $x1, $y,"$count_today", $color);
imageString($img1$x2+1$y+11,"$host_today"$color2);
imageString($img1$x3+1$y+18,"$online"$color2);
imageString($img1$x4+1$y+25,"$count_24"$color2);
imageString($img1$x5+1$y+32,"$all_count"$color2);
}
// полный
if($image==55){
///$x1 = (ImageSX($img) - 5*strlen("$count_today")-3);
$x2 = (ImageSX($img) - 5*strlen("$host_today")-3);
$x3 = (ImageSX($img) - 5*strlen("$online")-3);
$x4 = (ImageSX($img) - 5*strlen("$count_24")-3);
$x5 = (ImageSX($img) - 5*strlen("$all_count")-3);
$y 3;
/////imageString($img, 1, $x1, $y,"$count_today", $color);
imageString($img1$x2+1$y+11,"$host_today"$color2);
imageString($img1$x3+1$y+18,"$online"$color2);
imageString($img1$x4+1$y+25,"$count_24"$color2);
imageString($img1$x5+1$y+32,"$all_count"$color2);
}
// полный
if($image==56){
///$x1 = (ImageSX($img) - 5*strlen("$count_today")-3);
$x2 = (ImageSX($img) - 5*strlen("$host_today")-3);
$x3 = (ImageSX($img) - 5*strlen("$online")-3);
$x4 = (ImageSX($img) - 5*strlen("$count_24")-3);
$x5 = (ImageSX($img) - 5*strlen("$all_count")-3);
$y 3;
/////imageString($img, 1, $x1, $y,"$count_today", $color);
imageString($img1$x2+1$y+11,"$host_today"$color2);
imageString($img1$x3+1$y+18,"$online"$color2);
imageString($img1$x4+1$y+25,"$count_24"$color2);
imageString($img1$x5+1$y+32,"$all_count"$color2);
}
############################################################
############################################################
// маленький
if($image==31){
$x = (ImageSX($img) - 5*strlen("$host_today")-3);
$y =0;
imageString($img1$x-1$y+4,"$host_today"$color2);
}
// маленький
if($image==32){
$x = (ImageSX($img) - 5*strlen("$host_today")-3);
$y =0;
imageString($img1$x-1$y+4,"$host_today"$color2);
}
// маленький
if($image==33){
$x = (ImageSX($img) - 5*strlen("$host_today")-3);
$y =0;
imageString($img1$x-1$y+4,"$host_today"$color2);
}
// маленький
if($image==34){
$x = (ImageSX($img) - 5*strlen("$host_today")-3);
$y =0;
imageString($img1$x-1$y+4,"$host_today"$color2);
}
// маленький
if($image==35){
$x = (ImageSX($img) - 5*strlen("$host_today")-3);
$y =0;
imageString($img1$x-1$y+4,"$host_today"$color2);
}
// маленький
if($image==36){
$x = (ImageSX($img) - 5*strlen("$host_today")-3);
$y =0;
imageString($img1$x-1$y+4,"$host_today"$color2);
}
############################################################
/*Header("Content-type: image/gif");
ImageGIF($img);
ImageDestroy($img);*/
}

header("Content-type: ".image_type_to_mime_type(IMAGETYPE_GIF));
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-cache, must-relative");
imagegif($img);
imagedestroy($img);

die();

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