Вход Регистрация
Файл: 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($img239,208,23);
}else if(
$cvet==2){
$color imagecolorallocate($img112,112,112);
}else if(
$cvet==3){
$color imagecolorallocate($img12,223,12);
}else if(
$cvet==4){
$color imagecolorallocate($img223,47,12);
}else if(
$cvet==5){
$color imagecolorallocate($img0,0,0);
}else if(
$cvet==6){
$color imagecolorallocate($img218,11,231);
}

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

}else if(
$tip==2){
$color imagecolorallocate($img0,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']>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($img144,"$count_host_day"$color);
imageString($img1414,"$count_hit_day"$color);

}else if(
$razmer==2){

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

imageString($img144,"$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($img1$x2-50$y+18,"$count_host_day"$color);
imageString($img1$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($img1$x2-64$y+13,"$count_host_day"$color);
imageString($img1$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();
?>
Онлайн: 0
Реклама