<?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['name']."</a> (ID = ".$id."):<br />\n".
"<u>Сегодня</u><br />\n".
"Хосты: ".$user['hosts']."<br />\n".
"Хиты: ".$user['hits']."<br />\n".
"В топ: ".$user['in']."<br />\n".
"Из топа: ".$user['out']."<br />\n".
"<u>Вчера</u><br />\n".
"Хосты: ".$user['yday_hosts']."<br />\n".
"Хиты: ".$user['yday_hits']."<br />\n".
"<u>За месяц</u><br />\n".
"Хосты: ".$user['month_hosts']."<br />\n".
"Xиты: ".$user['month_hits']."<br />\n".
"<u>Всего</u><br />\n".
"Xосты: ".$user['all_hosts']."<br />\n".
"Xиты: ".$user['all_hits']."<br />\n".
"В топ: ".$user['all_in']."<br />\n".
"Из топа: ".$user['all_out']."<br />\n".
"---<br />\n".
"Он-лайн - <a href='".PATH."/".VERSION."/info/".$id."/?item=online'>".$is_online."</a><br />\n".
"<a href='".PATH."/".VERSION."/info/".$id."/?item=hours'>Статистика по часам за сегодня</a><br />\n".
"<a href='".PATH."/".VERSION."/info/".$id."/?item=days'>Статистика по дням</a><br />\n".
"<a href='".PATH."/".VERSION."/info/".$id."/?item=ip'>Статистика по IP за сегодня</a><br />\n".
"<a href='".PATH."/".VERSION."/info/".$id."/?item=operators'>Статистика по операторам за сегодня</a><br />\n".
"<a href='".PATH."/".VERSION."/info/".$id."/?item=country'>Статистика по странам за сегодня</a><br />\n".
"<a href='".PATH."/".VERSION."/info/".$id."/?item=brands'>Статистика по брендам за сегодня</a><br />\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("<u>Часы - хиты</u><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(
"Месяц:<br />\n".
"<select name='month' value='".abs($month)."'>\n");

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

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

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

echo(
"</select><br />\n".
"<anchor><go href='".PATH."/".VERSION."/info/".$id."/?item=days&amp;".SESSION."' method='post'>\n".
"<postfield name='month' value='$(month)' />\n".
"<postfield name='year' value='$(year)' />\n".
"</go>[Посмотреть]</anchor><br />\n".
"---<br />\n".
"<u>Дата | Хосты | Хиты</u><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("<u>IP адрес - хиты</u><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 />");
		}

	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("<u>Статистика по брендам</u><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("<u>User-agent - хиты</u><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("<u>Оператор - хиты</u><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("<u>Страна - хиты</u><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");

?>