Вход Регистрация
Файл: wapxl.ru/top/c.php
Строк: 160
<?php

// не забыть менять путь перед загрузкой на сервер

require'../shaxty.php';

//include_once '/var/www/shaxty/data/www/wapxl.ru/shaxty.php';

// Определяем изображение
$imgs = func::checkin(base64_decode($_GET['img']));

$im = str_replace("-","",$imgs);
$img = imagecreatefrompng("counts/".$im.".png");


$imgs = explode("-",$imgs);

$razmer = $imgs[0]; // размер изображения
$cvet = $imgs[1]; // цвет изображения
$tip = $imgs[2]; // тип изображения  0 - не залитое, 1 - залитое


if($tip==0){

if(
$cvet==1){
$color = imagecolorallocate($img, 239,208,23);
}else if(
$cvet==2){
$color = imagecolorallocate($img, 112,112,112);
}else if(
$cvet==3){
$color = imagecolorallocate($img, 12,223,12);
}else if(
$cvet==4){
$color = imagecolorallocate($img, 223,47,12);
}else if(
$cvet==5){
$color = imagecolorallocate($img, 0,0,0);
}else if(
$cvet==6){
$color = imagecolorallocate($img, 218,11,231);
}

} else if(
$tip==1){ $color = imagecolorallocate($img, 255,255,255);

}else if(
$tip==2){
$color = imagecolorallocate($img, 0,0,0);

}




// Определяем откуда юзер
$url = func::checkin($_GET['u']);

// Удаляем все лишнее из адресв
$url = str_replace("http://","",$url);
$url = str_replace("www.","",$url);
$url = str_replace("https://","",$url);

// Удаляем все, что после ? знака
$url0 = explode("?",$url);

// Разбиваем адрес на /
$url = explode("/",$url0[0]);

$urlstr = str_replace("".$url[0]."/","",$url0[0]);

// Если есть адрес сайта
if(!empty($url[0])){

$url[0] = isset ($url[0]) ? $url[0] : false;

// Проверяем на наличие сайта в каталоге
$site = core:: $db -> queryFetch("SELECT * FROM `sites` WHERE `url`=? LIMIT 1;", array($url[0]));
if(isset(
$site['id'])){


// Сайт есть в каталоге, начинаем учет статистики посещаемости....


// Определяем referrer
$referrer = func::checkin($_GET['ref']);
// Если реф есть, работаем с ним
if(!empty($referrer)){
// Удаляем все лишнее из  referrer
$referrer = str_replace("http://","",$referrer);
$referrer = str_replace("www.","",$referrer);
$referrer = str_replace("https://","",$referrer);

// Удазяем все, что после ? знака referrer
$referrer0 = explode("?",$referrer);


$referrer = explode("/",$referrer0[0]);

$referrerstr = str_replace("".$referrer[0]."/","",$referrer0[0]);

// если в реф попал адрес данного сайта
if($referrer[0]==$url[0]){ $referrer[0] = 0; // Адрес сайта
$referrerstr = 0;  // страница сайта
}

// если рефа нет, определяем его как Закладки (0)
}else{
$referrer[0] = 0; // Адрес сайта
$referrerstr = 0;  // страница сайта
}


$days_of_months = date("t",core::$realtime); // Количество дней в месяце

$week_day = date("l",core::$realtime); // Полное наименование дня недели

$today = date("Y-m-d",core::$realtime);   // определяем день

$hour = date("Y-m-d H:00",(core::$realtime+3600));   // определяем день


function escape_win ($path) {
 
$path = strtoupper ($path);
 return 
strtr($path, array("%U0430"=>"а", "%U0431"=>"б", "%U0432"=>"в",
 
"%U0433"=>"г", "%U0434"=>"д", "%U0435"=>"е", "%U0451"=>"ё", "%U0436"=>"ж", "%U0437"=>"з", "%U0438"=>"и",
 
"%U0439"=>"й", "%U043A"=>"к", "%U043B"=>"л", "%U043C"=>"м", "%U043D"=>"н", "%U043E"=>"о", "%U043F"=>"п",
 
"%U0440"=>"р", "%U0441"=>"с", "%U0442"=>"т", "%U0443"=>"у", "%U0444"=>"ф", "%U0445"=>"х", "%U0446"=>"ц",
 
"%U0447"=>"ч", "%U0448"=>"ш", "%U0449"=>"щ", "%U044A"=>"ъ", "%U044B"=>"ы", "%U044C"=>"ь", "%U044D"=>"э",
 
"%U044E"=>"ю", "%U044F"=>"я", "%U0410"=>"А", "%U0411"=>"Б", "%U0412"=>"В", "%U0413"=>"Г", "%U0414"=>"Д",
 
"%U0415"=>"Е", "%U0401"=>"Ё", "%U0416"=>"Ж", "%U0417"=>"З", "%U0418"=>"И", "%U0419"=>"Й", "%U041A"=>"К",
 
"%U041B"=>"Л", "%U041C"=>"М", "%U041D"=>"Н", "%U041E"=>"О", "%U041F"=>"П", "%U0420"=>"Р", "%U0421"=>"С",
 
"%U0422"=>"Т", "%U0423"=>"У", "%U0424"=>"Ф", "%U0425"=>"Х", "%U0426"=>"Ц", "%U0427"=>"Ч", "%U0428"=>"Ш",
 
"%U0429"=>"Щ", "%U042A"=>"Ъ", "%U042B"=>"Ы", "%U042C"=>"Ь", "%U042D"=>"Э", "%U042E"=>"Ю", "%U042F"=>"Я"));
 }

$head = func::checkin(escape_win(func::win_to_utf($_GET['h'])));   // Определяем Заголовок страницы (title)
$screen = func::checkin($_GET['s']);  // Определяем разрешение экрана


// Получаем количество хостов и хитов на сегодня
$top_count = core:: $db -> queryFetch("SELECT * FROM `top_count` WHERE `url`=? and `date`=? LIMIT 1;", array($url[0],$today));

// Проверяем наличие IP Пользователя в базе на сегодня
$top_ip = core:: $db -> queryFetch("SELECT * FROM `top_ip` WHERE `url`=? and `date`=? and `ip`=? LIMIT 1;", array($url[0],$today,core::$ipp));

if(!isset(
$top_ip['id'])){  // IP нет в базе

require 'func.php'; // подключаем вспомогательные функции

// Определение оператора и страны по IP
$operator = core:: $db -> queryFetch("SELECT * FROM `operator` WHERE `ip1`<=? and `ip2`>=?;", array(core::$ipp,core::$ipp));
if(!isset(
$operator['id'])){
$operator['country'] = 0;
$operator['operator'] = 0;
}

$top_count['host']++;

$sql .= '`hit`=`hit`+1, `host`=`host`+1'; // плюсуем хост и хит


$dbi = core::$db -> prepare("INSERT INTO `top_ip` SET `url`=?, `hit`=?, `ip`=?, `browser`=?, `os`=?, `robot`=?, `screen`=?, `time`=?, `timeend`=?, `date`=?, `referer`=?, `refstr`=?, `instr`=?, `outstr`=?, `operator`=?, `country`=?");

$dbi -> execute($url[0],1,core::$ipp,browser(),os(),robot(),$screen,core::$realtime,core::$realtime,$today,$referrer[0],$referrerstr,$urlstr,$urlstr,$operator['operator'],$operator['country']);



}else{ 
// IP есть в базе

if($top_ip['timeend']>0 and $top_ip['timeend']<(core::$realtime-60*15))$vozvrat = "`vozvrat`='".(core::$realtime-$top_ip['timeend'])."',";  // если пользователь вернулся на сайт более чем через 15 минут, указываем время через которое он вернулся... Стата будет выводится суммарно по промежуткам времени до 31 дня...
$dbi = core::$db -> prepare("UPDATE `top_ip` SET ".$vozvrat." `hit`=`hit`+1, `timeend`=?, `outstr`=? WHERE `url`=? and `date`=? and `ip`=? LIMIT 1");

$dbi -> execute(core::$realtime,$urlstr,$url[0],$today,core::$ipp);

$top_count['hit']++;

$sql .= '`hit`=`hit`+1'; // плюсуем только хит


}

if(
$urlstr!=''){

// проверяем есть ли страница в базе
$top_pages = core:: $db -> queryFetch("SELECT * FROM `top_pages` WHERE `url`=? and `date`=? and `page`=? LIMIT 1;", array($url[0],$today,$urlstr));

if(!isset(
$top_pages['id'])){
 
// записываем посещенную страницу и ее заголовок
$dbi = core::$db -> prepare("INSERT INTO `top_pages` SET `url`=?, `date`=?, `title`=?, `hit`=?, `page`=?");
$dbi -> execute($url[0],$today,$head,1,$urlstr);

}else{
// прибовляем просмотры
$dbi = core::$db -> prepare("UPDATE `top_pages` SET `hit`=`hit`+1, `title`=?  WHERE `url`=? and `date`=? and `page`=? LIMIT 1");
$dbi -> execute($head,$url[0],$today,$urlstr);

}

}


// Подсчитываем количество онлайн посетителей за последние 10 минут
$top_online = core:: $db -> querySingle("select count(*) as num from top_ip WHERE `timeend` >= '".(core::$realtime-600)."';");

// расчитываем максимальный онлайн за текущий день
if($top_online>$top_count['online']) $top_count_online =  $top_online;
else  
$top_count_online =  $top_count['online'];

// Записываем количество хостов и хитов за текущий день
if(!isset($top_count['id'])){

$dbi = core::$db -> prepare("INSERT INTO `top_count` SET `url`=?, `hit`=?, `host`=?, `date`=?, `online`=?");
$dbi -> execute($url[0],1,1,$today,$top_count_online);

}else{


$dbi = core::$db -> prepare("UPDATE `top_count` SET ".$sql." , `online`=? WHERE `url`=? and `date`=? LIMIT 1");

$dbi -> execute($top_count_online,$url[0],$today);

}




// Получаем количество хостов и хитов за текущий Час
$top_count_hour = core:: $db -> queryFetch("SELECT * FROM `top_count_hour` WHERE `url`=? and `date`=? and `hour`=? LIMIT 1;", array($url[0],$today,$hour));

// расчитываем максимальный онлайн за текущий час
if($top_online>$top_count_hour['online']) $top_count_houronline =  $top_online;
else  
$top_count_houronline =  $top_count_hour['online'];

// Записываем количество хостов и хитов за текущий Час    $hour
if(!isset($top_count_hour['id'])){

$dbi = core::$db -> prepare("INSERT INTO `top_count_hour` SET `url`=?, ".$sql.", `date`=?, `hour`=?, `online`=?");
$dbi -> execute($url[0],$today,$hour,$top_count_houronline);

}else{


$dbi = core::$db -> prepare("UPDATE `top_count_hour` SET ".$sql." , `online`=?  WHERE `url`=? and `date`=? and `hour`=? LIMIT 1");
$dbi -> execute($top_count_houronline,$url[0],$today,$hour);

}




// получаем кол во посетителей сегодня  с учетом текущего посещения
$count_host_day = $top_count['host'];


$count_hit_day = $top_count['hit'];


if(
$razmer==1){

$x2 = (ImageSX($img) - 5*strlen("$count_host_day")-3);
$x3 = (ImageSX($img) - 5*strlen("$count_hit_day")-3);
$y = 3;

imageString($img, 1, 4, 4,"$count_host_day", $color);
imageString($img, 1, 4, 14,"$count_hit_day", $color);

}else if(
$razmer==2){

$x2 = (ImageSX($img) - 5*strlen("$count_host_day")-3);
$y = 3;

imageString($img, 1, 4, 4,"$count_host_day", $color);



}else if(
$razmer==4){

$x2 = (ImageSX($img) - 5*strlen("$count_host_day")-3);
$x3 = (ImageSX($img) - 5*strlen("$count_hit_day")-3);
$y = 3;

imageString($img, 1, $x2-50, $y+18,"$count_host_day", $color);
imageString($img, 1, $x3-10, $y+18,"$count_hit_day", $color);


}else if(
$razmer==5){

$x2 = (ImageSX($img) - strlen("$count_host_day"));
$x3 = (ImageSX($img) - 5*strlen("$count_hit_day")-3);
$y = 3;

imageString($img, 1, $x2-64, $y+13,"$count_host_day", $color);
imageString($img, 1, $x3, $y+13,"$count_hit_day", $color);
}


// Если сайта нет в каталоге
}


} 
// адрес сайта


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

die();
?>
Онлайн: 1
Реклама