<?php
###############################################
#  by MaZaFaKa                                #
#  ICQ: 449-559                               #
#  E-mail: Dimonnet@inbox.ru                  #
#  Потраченное время: Около 2х недель         #
###############################################


$id = (int) $_GET['id'];
$item = (isset($_GET['item'])) ? ($_GET['item']) : "index";

$sql = mysql_query("SELECT `status` FROM `".USERS."` WHERE `id` = ".$id.";");

	if(mysql_num_rows($sql) < 1)
	{
	echo("Пользователь с ID = ".$id." не найден в базе данных.\n");
	$item = "default";
	}
	elseif(mysql_result($sql, 0) == "locked")
	{
	echo("Пользователь с ID = ".$id." заблокирован.\n");
	$item = "default";
	}


switch($item)
{
default:
//ONLINE
$sql = mysql_query("SELECT COUNT(*) FROM `".ONLINE."` WHERE `user_id` = ".$id.";");
$is_online = mysql_result($sql, 0);

$sql = mysql_query("SELECT * FROM `".USERS."` WHERE `id` = ".$id.";");
$user = mysql_fetch_assoc($sql);
echo(
"Статистика по сайту <a href='".PATH."/".VERSION."/out/".$id."'>".$user['url']."</a> (ID = ".$id."):<br />\n");

echo(
"<table width='100%' border='0' cellspacing='1' cellpadding='2'>\n".
"<tr bgcolor='#cccccc'>\n".
"<td colspan=2>Сегодня</span></td></tr><tr>\n".
"<td>Хосты:</td> <td>".$user['hosts']."</td></tr>
<tr bgcolor='#eeeeee'>\n".
"<td>Хиты:</td> <td>".$user['hits']."</td> </tr>\n".
"<tr><td>в топ / из топа</td>\n".
"<td>".$user['in']." / ".$user['out']."</td></tr>\n".

"<tr bgcolor='#cccccc'>\n".
"<td colspan=2>Вчера</span></td></tr><tr>\n".
"<td>Хосты:</td> <td>".$user['yday_hosts']."</td></tr>
<tr bgcolor='#eeeeee'>\n".
"<td>Хиты:</td> <td>".$user['yday_hits']."</td></tr>\n".

"<tr bgcolor='#cccccc'>\n".
"<td colspan=2>За месяц</span></td></tr><tr>\n".
"<td>Хосты:</td> <td>".$user['month_hosts']."</td></tr>
<tr bgcolor='#eeeeee'>\n".
"<td>Xиты:</td> <td>".$user['month_hits']."</td></tr>\n".

"<tr bgcolor='#cccccc'>\n".
"<td colspan=2>Всего</span></td></tr><tr>\n".
"<td>Xосты:</td> <td>".$user['all_hosts']."</tr>
<tr bgcolor='#eeeeee'>\n".
"<td>Xиты:</td> <td>".$user['all_hits']."</td></tr>\n".
"<tr><td>в топ / из топа</td>\n".
"<td>".$user['all_in']." / ".$user['all_out']."</td></tr></table>\n".

"Статистика: общая | </a>\n".

"<a href='".PATH."/".VERSION."/info/".$id."/?item=hours'>по часам</a> | \n".
"<a href='".PATH."/".VERSION."/info/".$id."/?item=days'>по дням</a><br /> \n".
"<a href='".PATH."/".VERSION."/info/".$id."/?item=online'>Он-лайн ".$is_online."</a> | \n".
"<a href='".PATH."/".VERSION."/info/".$id."/?item=ip'>по IP</a> | \n".
"<a href='".PATH."/".VERSION."/info/".$id."/?item=operators'>по операторам</a> | \n".
"<a href='".PATH."/".VERSION."/info/".$id."/?item=country'>по странам</a> | \n".
"<a href='".PATH."/".VERSION."/info/".$id."/?item=brands'>по брендамя</a> | \n".
"<a href='".PATH."/".VERSION."/info/".$id."/?item=useragent'>по браузерам</a><br />\n");
break;

case 'online':
$sql = mysql_query("SELECT COUNT(*) FROM `".ONLINE."` WHERE `user_id` = ".$id.";");
$count = mysql_result($sql, 0);

$page = (isset($_GET['page'])) ? intval($_GET['page']) : "0";
if($page < 0 || $page > $count) $page = 0;

//SELECT
$sql = mysql_query("SELECT `user-agent`, INET_NTOA(`ip`) as `ip` FROM `".ONLINE."` WHERE `user_id` = ".$id." ORDER BY `date` DESC LIMIT ".$page.", ".BIGPAGE.";");

	if(mysql_num_rows($sql) > 0)
	{
	$c = 1;

		while($online = mysql_fetch_assoc($sql))
		{
		echo($c.". ".$online['user-agent']." - ".$online['ip']."<br />\n");
		$c++;
		}

	if(($count > ($page + BIGPAGE)) || ($page > 0)) echo("---<br />\n");
	if($count > ($page + BIGPAGE)) echo("<a href='".PATH."/".VERSION."/info/".$id."/?item=online&amp;page=".($page + BIGPAGE)."'>Далее</a><br />\n");
	if($page > 0) echo("<a href='".PATH."/".VERSION."/info/".$id."/?item=online&amp;page=".($page - BIGPAGE)."'>Назад</a><br />\n");
	}
	else
	{
	echo("Пользователей онлайн для ID = ".$id." не найдено.<br />\n");
	}

break;

case 'hours':
echo("<span style='text-decoration: underline'>Часы - хиты</span><br />\n");

for($i = 0; $i < 24; $i++)
{
$sql = mysql_query("SELECT SUM(`count`) as `count` FROM `".SHOWS."` WHERE `date` BETWEEN ".mktime($i, 0, 0, date("m"), date("d"), date("Y"))." AND ".mktime(($i + 1), 0, 0, date("m"), date("d"), date("Y"))." AND `user_id` = ".$id.";");

if(strlen($i) == 1) $i = "0".$i;
if(strlen($i + 1) == 1) $j = "0".($i + 1);
else $j = $i + 1;

echo($i.":00...".($j).":00 = ".intval(mysql_result($sql, 0))."<br />\n");
}

break;

case 'days':
//ARRAY
$array_month = array("1" => "Январь", "2" => "Февраль", "3" => "Март", "4" => "Апрель", "5" => "Май", "6" => "Июнь", "7" => "Июль", "8" => "Август", "9" => "Сентябрь", "10" => "Октябрь", "11" => "Ноябрь", "12" => "Декабрь");
$array_year = array("2007" => "2007", "2008" => "2008");
//MONTH
$month = (int) $_POST['month'];
if(empty($month) || $month < 1 || $month > 12) $month = date("m");
//YEAR
$year = (int) $_POST['year'];
if(empty($year) || $year < 2007 || $year > 2008) $year = 2008;

echo(
"<div class='form'>\n".
"<form action='".PATH."/".VERSION."/info/".$id."/?item=days&amp;".SESSION."' method='post'>\n".
"Месяц:<br />\n".
"<select name='month'>\n");

	foreach($array_month as $key => $value)
	{
	if($key == $month) echo("<option value='".$key."' selected='selected'>".$value."</option>\n");
	else echo("<option value='".$key."'>".$value."</option>\n");
	}

echo(
"</select><br />\n".
"Год:<br />\n".
"<select name='year'>\n");

	foreach($array_year as $key => $value)
	{
	if($key == $year) echo("<option value='".$key."' selected='selected'>".$value."</option>\n");
	else echo("<option value='".$key."'>".$value."</option>\n");
	}

echo(
"</select><br />\n".
"<input type='submit' value='Посмотреть' />\n".
"</form>\n".
"</div>\n".
"<span style='text-decoration: underline'>Дата | Хосты | Хиты</span><br />\n");

if($year == 2007) $sql = mysql_query("SELECT `hosts`, `hits`, `date` FROM `".STATS_DAY."` WHERE `date` BETWEEN '2007-".$month."-1' AND '2007-".$month."-31' AND `id` = ".$id." ORDER BY `date`;");
else $sql = mysql_query("SELECT `hosts`, `hits`, `date` FROM `".STATS_DAY_2008."` WHERE `date` BETWEEN '2008-".$month."-1' AND '2008-".$month."-31' AND `id` = ".$id." ORDER BY `date`;");

	if(mysql_num_rows($sql) > 0)
	{
		while($st = mysql_fetch_assoc($sql))
		{
		$date = explode("-", $st['date']);
		$date = $date[2].".".$date[1];
		echo($date." | ".$st['hosts']." | ".$st['hits']."<br />\n");
		}
	}
	else
	{
	echo("Статистика за данный период не найдена!<br />\n");
	}

break;

case 'ip':
echo("<span style='text-decoration: underline'>IP адрес - хиты</span><br />\n");

$sql = mysql_query("SELECT SUM(`count`) FROM `".SHOWS."` WHERE `user_id` = ".$id.";");
$all = mysql_result($sql, 0);

$sql = mysql_query("SELECT COUNT(DISTINCT `ip`) FROM `".SHOWS."` WHERE `user_id` = ".$id.";");
$count = mysql_result($sql, 0);

$page = (isset($_GET['page'])) ? intval($_GET['page']) : "0";
if($page < 0 || $page > $count) $page = 0;

$sql = mysql_query("SELECT DISTINCT INET_NTOA(`ip`) as `ip`, SUM(`count`) AS `count` FROM `".SHOWS."` WHERE `user_id` = ".$id." GROUP BY `ip` ORDER BY 2 DESC LIMIT ".$page.", ".BIGPAGE.";");

	if(mysql_num_rows($sql) > 0)
	{
		while($stat = mysql_fetch_assoc($sql))
		{
		$sk = ($stat['count'] / $all) * 100;
		echo($stat['ip']." - ".$stat['count']." (".round($sk, 2)."%)<br />\n");
		}

	if(($count > ($page + BIGPAGE)) || ($page > 0)) echo("---<br />\n");
	if($count > ($page + BIGPAGE)) echo("<a href='".PATH."/".VERSION."/info/".$id."/?item=ip&amp;page=".($page + BIGPAGE)."'>Далее</a><br />\n");
	if($page > 0) echo("<a href='".PATH."/".VERSION."/info/".$id."/?item=ip&amp;page=".($page - BIGPAGE)."'>Назад</a><br />\n");
	}
	else
	{
	echo("Статистика по IP-адресам для ID = ".$id." не найдена за сегодня.<br />\n");
	}

break;

case 'brands':
$array_ua = array(
2 => "SonyEricsson",
3 => "Nokia",
4 => "Samsung",
5 => "Siemens",
6 => "Motorola",
7 => "Lg",
8 => "Sagem",
9 => "Opera",
10 => "Panasonic",
11 => "Fly",
12 => "Sharp",
13 => "Philips",
14 => "Alcatel",
15 => "Компьютеры",
1 => "Другие"
);

echo("<span style='text-decoration: underline'>Статистика по брендам</span><br />\n");

$sql = mysql_query("SELECT SUM(`count`) FROM `".SHOWS."` WHERE `user_id` = ".$id.";");
$all = mysql_result($sql, 0);

$sql = mysql_query("SELECT DISTINCT `brand`, SUM(`count`) AS `count` FROM `".SHOWS."` WHERE `user_id` = ".$id." GROUP BY `brand` ORDER BY 2 DESC;");

	if(mysql_num_rows($sql) > 0)
	{
		while($stat = mysql_fetch_assoc($sql))
		{
		$sk = ($stat['count'] / $all) * 100;
		echo($array_ua[$stat['brand']]." - ".$stat['count']." (".round($sk, 2)."%)<br />\n");
		}
	}
	else
	{
	echo("Статистика по брендам для ID = ".$id." не найдена за сегодня.<br />\n");
	}

break;

case 'useragent':
echo("<span style='text-decoration: underline'>User-agent - хиты</span><br />\n");

$sql = mysql_query("SELECT SUM(`count`) FROM `".SHOWS."` WHERE `user_id` = ".$id.";");
$all = mysql_result($sql, 0);

$sql = mysql_query("SELECT COUNT(DISTINCT `user-agent`) FROM `".SHOWS."` WHERE `user_id` = ".$id.";");
$count = mysql_result($sql, 0);

$page = (isset($_GET['page'])) ? intval($_GET['page']) : "0";
if($page < 0 || $page > $count) $page = 0;

$sql = mysql_query("SELECT DISTINCT `user-agent`, SUM(`count`) AS `count` FROM `".SHOWS."` WHERE `user_id` = ".$id." GROUP BY `user-agent` ORDER BY 2 DESC LIMIT ".$page.", ".BIGPAGE.";");

	if(mysql_num_rows($sql) > 0)
	{
		while($stat = mysql_fetch_assoc($sql))
		{
		$sk = ($stat['count'] / $all) * 100;
		echo($stat['user-agent']." - ".$stat['count']." (".round($sk, 2)."%)<br />\n");
		}

	if(($count > ($page + BIGPAGE)) || ($page > 0)) echo("---<br />\n");
	if($count > ($page + BIGPAGE)) echo("<a href='".PATH."/".VERSION."/info/".$id."/?item=useragent&amp;page=".($page + BIGPAGE)."'>Далее</a><br />\n");
	if($page > 0) echo("<a href='".PATH."/".VERSION."/info/".$id."/?item=useragent&amp;page=".($page - BIGPAGE)."'>Назад</a><br />\n");
	}
	else
	{
	echo("Статистика по User-agent для ID = ".$id." не найдена за сегодня.<br />\n");
	}

break;

case 'operators':
echo("<span style='text-decoration: underline'>Оператор - хиты</span><br />\n");

$sql = mysql_query("SELECT SUM(`count`) FROM `".SHOWS."` WHERE `user_id` = ".$id.";");
$all = mysql_result($sql, 0);

$sql = mysql_query("SELECT DISTINCT `".SHOWS."`.`operator`, SUM(`".SHOWS."`.`count`) AS `count`, `".IP_NAME."`.`name` as `name` FROM `".SHOWS."`, `".IP_NAME."` WHERE `".SHOWS."`.`user_id` = ".$id." AND `".SHOWS."`.`operator` = `".IP_NAME."`.`id` GROUP BY `".SHOWS."`.`operator` ORDER BY 2 DESC;");

	if(mysql_num_rows($sql) > 0)
	{
		while($stat = mysql_fetch_assoc($sql))
		{
		$sk = ($stat['count'] / $all) * 100;
		echo($stat['name']." - ".$stat['count']." (".round($sk, 2)."%)<br />\n");
		}
	}
	else
	{
	echo("Статистика по операторам для ID = ".$id." не найдена за сегодня.<br />\n");
	}

break;

case 'country':
echo("<span style='text-decoration: underline'>Страна - хиты</span><br />\n");

$sql = mysql_query("SELECT SUM(`count`) FROM `".SHOWS."` WHERE `user_id` = ".$id.";");
$all = mysql_result($sql, 0);

$sql = mysql_query("SELECT DISTINCT `".IP_COUNTRY."`.`id`, SUM(`".SHOWS."`.`count`) AS `count`, `".IP_COUNTRY."`.`name` as `name` FROM `".SHOWS."`, `".IP_COUNTRY."`, `".IP_NAME."` WHERE `".SHOWS."`.`user_id` = ".$id." AND `".SHOWS."`.`operator` = `".IP_NAME."`.`id` AND `".IP_COUNTRY."`.`id` = `".IP_NAME."`.`country` GROUP BY `".IP_COUNTRY."`.`id` ORDER BY 2 DESC;") or print(mysql_error());

	if(mysql_num_rows($sql) > 0)
	{
		while($stat = mysql_fetch_assoc($sql))
		{
		$sk = ($stat['count'] / $all) * 100;
		echo($stat['name']." - ".$stat['count']." (".round($sk, 2)."%)<br />\n");
		}
	}
	else
	{
	echo("Статистика по странам для ID = ".$id." не найдена за сегодня.<br />\n");
	}

break;

case 'default':
//LOCKED OR NOT FOUND
echo("<br />\n");
break;
}

echo("---<br />\n");
echo("<a href='".PATH."/".VERSION."/?".SESSION."'>".NAME."</a><br />\n");

?>