<?php
$function = (isset($_GET['item'])) ? $_GET['item'] : "";
$id = (int) $_REQUEST['id'];

switch($function)
{
default:
echo("<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=look'>Просмотреть участников</a><br />\n");
echo("<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=locked_users'>Заблокированные</a><br />\n");
echo("<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=search'>Поиск</a><br />\n");
echo("<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=mod'>Модерация</a><br />\n");
break;

case 'delete':
$sql = mysql_query("DELETE FROM `".USERS."` WHERE `id` = ".$id.";");

	if(mysql_affected_rows() > 0)
	{
	echo("Участник успешно удален!<br />\n");
	}
	else
	{
	echo("Ошибка при удалении. Участник не найден в базе данных!<br />\n");
	}
break;

case 'status':
$array = array('user' => 'Пользователь', 'vip' => 'На модерации', 'locked' => 'Заблокированный', 'delete' => 'Неактивный');
$sql = mysql_query("SELECT `status` FROM `".USERS."` WHERE `id` = ".$id.";");

	if(mysql_num_rows($sql) < 1)
	{
		echo("Пользователь с ID = ".$id." не найден в базе данных.<br />\n");
		break;
	}
	else
	{
		$status = mysql_result($sql, 0);
	}

if(!isset($_POST['action']))
{
echo(
"Статус: ".$array[$status]."<br />\n".
"<div class='form'>\n".
"<form action='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=status&amp;id=".$id."' method='post'>\n".
"Статус:<br />\n".
"<select name='status'>\n");

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

echo(
"</select><br />\n".
"<input type='hidden' name='action' value='1' />\n".
"<input type='submit' value='Сохранить' />\n".
"</form>\n".
"</div><br />\n");
}
else
{
$status = isset($_POST['status']) ? (string) $_POST['status'] : '';

if(empty($status)) $error = "Ошибка! Вы не заполнили поле 'Статус'.<br />\n";
elseif(!isset($array[$status])) $error = "Ошибка! Поле 'Статус' заполнено неверно.<br />\n";

if(!empty($error))
{
	echo($error);
	break;
}

$sql = mysql_query("UPDATE `".USERS."` SET `status` = '".$status."' WHERE `id` = ".$id.";");

	if(mysql_affected_rows())
	{
		echo("Статус пользователя с ID = ".$id." успешно изменен на ".$array[$status].".<br />\n");
	}
	else
	{
		echo("Ошибка при изменении статуса.<br />\n");
	}
}
break;

case 'search':
if(!isset($_POST['action']))
{
echo(
"<div class='form'>\n".
"<form action='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=search&amp;sid=".$sid."' method='post'>\n".
"ID, сайт или e-mail:<br />\n".
"<input type='text' name='string' maxlength='30' /><br />\n".
"Искать по:<br />\n".
"<select name='type'>\n".
"<option value='id'>ID</option>\n".
"<option value='email'>E-mail</option>\n".
"<option value='site'>сайту</option>\n".
"</select><br />\n".
"<input type='hidden' name='action' value='1' />\n".
"<input type='submit' value='Найти' />\n".
"</form></div><br />\n");
}
else
{
$string = trim($_POST['string']);
$type = (string) $_POST['type'];

$error = "";

if(empty($string)) $error .= "Вы не заполнили поле 'ID, сайт или e-mail'<br />\n";
if(empty($type)) $error .= "Вы не заполнили поле 'Искать по'<br />\n";
elseif($type != "id" && $type != "email" && $type != "site") $error .= "Неверное значение в поле 'Искать по'<br />\n";

if($type == "id") $string = intval($string);
$string = htmlspecialchars(mysql_escape_string($string), ENT_QUOTES);

	if(!empty($error))
	{
	echo($error);
	break;
	}

if($type == "id") $sql = mysql_query("SELECT * FROM `".USERS."` WHERE `id` = '".$string."' LIMIT ".PAGE.";");
if($type == "email") $sql = mysql_query("SELECT * FROM `".USERS."` WHERE `email` LIKE '%".$string."%' LIMIT ".PAGE.";");
elseif($type == "site") $sql = mysql_query("SELECT * FROM `".USERS."` WHERE `url` LIKE '%".$string."%' LIMIT ".PAGE.";");

	if(mysql_num_rows($sql) > 0)
	{
		while($user = mysql_fetch_assoc($sql))
		{
		echo(
		"ID: ".$user['id']." (".$user['status']."), NAME: ".$user['name']."<br />\n".
		$user['about']."<br /><span style='text-decoration: underline'>\n".
		$user['url']."</span><br />\n".
		"<b>".$user['wmr']."</b><br />\n".
		"Hosts: ".$user['hosts']." | Hits: ".$user['hits']."<br />\n".
		"All hosts: ".$user['all_hosts']." | All hits: ".$user['all_hits']."<br />\n".
		"<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=edit&amp;id=".$user['id']."'>Редактировать</a><br />\n".
		"<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=delete&amp;id=".$user['id']."'>Удалить</a><br />\n".
		"<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=stat&amp;id=".$user['id']."'>Статистика</a><br />\n");

		echo("<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=status&amp;id=".$user['id']."'>Заблокировать</a><br />\n");
		}
	}
	else
	{
	echo("По Вашему запросу '".$string."' результатов не найдено.<br />\n");
	}
}
break;

case 'look':
echo(
"<div class='form'>\n".
"<form action='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=read&amp;sid=".$sid."' method='post'>\n".
"Сортирвать участников по переходам:<br />\n".
"<select name='selected'>\n".
"<option value='hosts'>Хосты сегодня</option>\n".
"<option value='hits'>Хиты сегодня</option>\n".
"<option value='all_hosts'>Хосты всего</option>\n".
"<option value='all_hits'>Хиты всего</option>\n".
"<option value='in'>В топ сегодня</option>\n".
"<option value='out'>Из топа сегодня</option>\n".
"<option value='all_in'>В топ всего</option>\n".
"<option value='all_out'>Из топа всего</option>\n".
"</select><br />\n".
"<input type='submit' value='Посмотреть' />\n".
"</form></div><br />\n");
break;

case 'read':
$select = $_REQUEST['selected'];

$error = "";

if(empty($select)) $error .= "Вы не заполнили поле 'Сортировать участников по переходам'<br />\n";
elseif($select != "hosts" && $select != "hits" && $select != "all_hosts" && $select != "all_hits" && $select != "in" && $select != "out" && $select != "all_in" && $select != "all_out") $error .= "Неверное значение в поле 'Сортировать участников по переходам'<br />\n";

	if(!empty($error))
	{
	echo($error);
	break;
	}

$sql = mysql_query("SELECT COUNT(*) FROM `".USERS."` WHERE `status` != 'locked';");
$count = mysql_result($sql, 0);

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

$sql = mysql_query("SELECT * FROM `".USERS."` WHERE `status` != 'locked' ORDER BY `".$select."` DESC LIMIT ".$page.", ".PAGE.";");

	if(mysql_num_rows($sql) > 0)
	{
		while($user = mysql_fetch_assoc($sql))
		{
		echo(
		"ID: ".$user['id'].", <span style='text-decoration: underline'>".$user['name']."</span>, <br />\n".
		$user['about']."<br />\n".
		$user['url']."<br />\n".
		"Hosts: ".$user['hosts']." | Hits: ".$user['hits']."<br />\n".
		"All hosts: ".$user['all_hosts']." | All hits: ".$user['all_hits']."<br />\n".
		"In: ".$user['in']." | Out: ".$user['out']."<br />\n".
		"<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=edit&amp;id=".$user['id']."'>Редактировать</a><br />\n".
		"<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=delete&amp;id=".$user['id']."'>Удалить</a><br />\n".
		"<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=status&amp;id=".$user['id']."'>Статус</a><br />\n".
		"<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=stat&amp;id=".$user['id']."'>Статистика по хостам</a><br />\n".
		"---<br />");
		}

		if ($count > ($page + PAGE)) echo "<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=read&amp;selected=".$select."&amp;s=".($page + PAGE)."'>Далее</a><br />\n";
		if ($page > 0) echo "<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=read&amp;selected=".$select."&amp;s=".($page - PAGE)."'>Назад</a><br />\n";
		if(($count > ($page + PAGE)) || ($page > 0)) echo("---<br />\n");
	}
	else
	{
	echo("Не найдено участников в рейтинге.<br />\n");
	}
break;

case 'locked_users':
$sql = mysql_query("SELECT COUNT(*) FROM `".USERS."` WHERE `status` = 'locked';");
$count = mysql_result($sql, 0);

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

$sql = mysql_query("SELECT * FROM `".USERS."` WHERE `status` = 'locked' ORDER BY `id` DESC LIMIT ".$page.", ".PAGE.";");

	if(mysql_num_rows($sql) > 0)
	{
		while($user = mysql_fetch_assoc($sql))
		{
		echo(
		"ID: ".$user['id'].", <span style='text-decoration: underline'>".$user['name']."</span>, <br />\n".
		$user['about']."<br /><u>\n".
		$user['url']."</u><br />\n".
		"Month hosts: ".$user['month_hosts']." | Month hits: ".$user['month_hits']."<br />\n".
		"All hosts: ".$user['all_hosts']." | All hits: ".$user['all_hits']."<br />\n".
		"<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=edit&amp;id=".$user['id']."'>Редактировать</a><br />\n".
		"<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=delete&amp;id=".$user['id']."'>Удалить</a><br />\n".
		"<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=status&amp;id=".$user['id']."'>Статус</a><br />\n".
		"---<br />");
		}

		if($count > ($page + PAGE)) echo "<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=locked_users&amp;s=".($page + PAGE)."'>Далее</a><br />\n";
		if($page > 0) echo "<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=locked_users&amp;s=".($page - PAGE)."'>Назад</a><br />\n";
		if(($count > ($page + PAGE)) || ($page > 0)) echo("---<br />\n");
	}
	else
	{
	echo("Не найдено заблокированных участников в рейтинге.<br />\n");
	}
break;

case 'edit':
$sql = mysql_query("SELECT `password`, `email`, `name`, `about`, `url`, `image`, `category` FROM `".USERS."` WHERE `id` = ".$id.";");

	if(mysql_num_rows($sql) < 1)
	{
	echo("Участник не найден в базе данных.<br />\n");
	break;
	}
	else
	{
	list($paswd, $email, $name, $about, $url, $image, $category) = mysql_fetch_row($sql);
	}

if(!isset($_POST['action']))
{
echo(
"<div class='form'>\n".
"<form action='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=edit&amp;sid=".$sid."' method='post'>\n".
"Пароль:<br />\n".
"<input type='text' name='paswd' maxlength='12' value='".$paswd."' /><br />\n".
"E-mail:<br />\n".
"<input type='text' name='email' maxlength='35' value='".$email."' /><br />\n".
"Имя сайта:<br />\n".
"<input type='text' name='name' maxlength='20' value='".$name."' /><br />\n".
"О сайте:<br />\n".
"<input type='text' name='about' maxlength='70' value='".$about."' /><br />\n".
"URL сайта:<br />\n".
"<input type='text' name='url' maxlength='30' value='".$url."' /><br />\n".
"ID Категории:<br />\n".
"<input type='text' name='category' maxlength='30' value='".$category."' /><br />\n".

// "Цвет счётчика:<br />\n".
// "<select name='image' value='".$image."'>\n".
// "<option value='1'>Синий</option>\n".
// "<option value='2'>Зелёный</option>\n".
// "<option value='3'>Красный</option>\n".
// "<option value='4'>Серый</option>\n".
// "<option value='5'>Фиолетовый</option>\n".
// "</select><br />\n".
"<input type='hidden' name='id' value='".$id."' />\n".
"<input type='hidden' name='action' value='1' />\n".
"<input type='submit' value='Сохранить' />\n".
"</form></div><br />\n");
}
else
{
$paswd = trim($_POST['paswd']);
$email = trim($_POST['email']);
$name = trim($_POST['name']);
$about = trim($_POST['about']);
$url = trim($_POST['url']);
$category = trim($_POST['category']);
// $image = (int) $_POST['image'];

	if(get_magic_quotes_gpc())
	{
	$email = stripslashes($email);
	$name = stripslashes($name);
	$about = stripslashes($about);
	$url = stripslashes($url);
	}

$paswd = mysql_escape_string($paswd);
$email = htmlspecialchars(mysql_escape_string($email), ENT_QUOTES);
$name = htmlspecialchars(mysql_escape_string($name), ENT_QUOTES);
$about = htmlspecialchars(mysql_escape_string($about), ENT_QUOTES);
$url = htmlspecialchars(mysql_escape_string($url), ENT_QUOTES);
$category = htmlspecialchars(mysql_escape_string($category), ENT_QUOTES);

$error = "";

if(empty($paswd)) $error .= "Вы не заполнили поле 'Пароль'<br />\n";
elseif(!preg_match("#^([A-Za-z0-9]+)$#i", $paswd)) $error .= "Пароль может содержать только латинские буквы и цифры.<br />\n";

if(empty($email)) $error .= "Вы не заполнили поле 'E-mail'<br />\n";
if(empty($name)) $error .= "Вы не заполнили поле 'Имя сайта'<br />\n";
if(empty($about)) $error .= "Вы не заполнили поле 'О сайте'<br />\n";
if(empty($url)) $error .= "Вы не заполнили поле 'URL сайта'<br />\n";
if(empty($category)) $error .= "Вы не заполнили поле 'ID Категории'<br />\n";

// if(empty($image)) $error .= "Вы не заполнили поле 'Цвет счётчика'<br />\n";
// elseif($image < 1 || $image > 5) $error .= "Неверное значение поля 'Цвет счётчика'<br />\n";

	if(!empty($error))
	{
	echo($error);
	break;
	}

$sql = mysql_unbuffered_query("UPDATE `".USERS."` SET `password` = '".$paswd."', `email` = '".$email."', `name` = '".$name."', `about` = '".$about."', `url` = '".$url."', `image` = ".$image.", `category` = ".$category." WHERE `id` = ".$id.";");

	if($sql)
	{
	echo("Данные пользователя с ID = ".$id." успешно обновлены!<br />\n");
	}
	else
	{
	echo("Ошибка при добавлении данных пользователя!<br />\n");
	}
}
break;

case 'stat':
echo("ID: ".$id."<br />\n");
echo("<span style='text-decoration: underline'>Date | User-agent | IP | Xfip</span><br /><br />\n");

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

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

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

	if(mysql_num_rows($sql) > 0)
	{
		while($user = mysql_fetch_assoc($sql))
		{
		echo(date("d/m H:i:s", $user['date'])." | ".$user['user-agent']." | ".$user['ip']." | ".$user['xfip']."<br />\n");
		}

	if($count > ($page + BIGPAGE)) echo "<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=stat&amp;id=".$id."&amp;s=".($page + BIGPAGE)."'>Далее</a><br />\n";
	if($page > 0) echo "<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=stat&amp;id=".$id."&amp;s=".($page - BIGPAGE)."'>Назад</a><br />\n";
	}
	else
	{
	echo("Не найдено хостов за сегодня!<br />\n");
	}

break;

case 'mod':
$sql = mysql_query("SELECT COUNT(*) FROM `".USERS."` WHERE `status` = 'vip';");
$count = mysql_result($sql, 0);

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

$sql = mysql_query("SELECT * FROM `".USERS."` WHERE `status` = 'vip' ORDER BY `id` DESC LIMIT ".$page.", ".PAGE.";");

	if(mysql_num_rows($sql) > 0)
	{
		while($user = mysql_fetch_assoc($sql))
		{
		echo(
		"ID: ".$user['id'].", <span style='text-decoration: underline'>".$user['name']."</span>, <br />\n".
		$user['about']."<br />\n".
		"<a href='".PATH."/".VERSION."/info/".$user['id']."'>".$user['url']."</a><br />\n".
		"Hosts: ".$user['hosts']." | Hits: ".$user['hits']."<br />\n".
		"All hosts: ".$user['all_hosts']." | All hits: ".$user['all_hits']."<br />\n".
		"In: ".$user['in']." | Out: ".$user['out']."<br />\n".
		"<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=edit&amp;id=".$user['id']."'>Редактировать</a><br />\n".
		"<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=delete&amp;id=".$user['id']."'>Удалить</a><br />\n".
		"<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=status&amp;id=".$user['id']."'>Статус</a><br />\n".
		"---<br />");
		}

		if($count > ($page + PAGE)) echo "<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=mod&amp;s=".($page + PAGE)."'>Далее</a><br />\n";
		if($page > 0) echo "<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."&amp;mod=users&amp;item=mod&amp;s=".($page - PAGE)."'>Назад</a><br />\n";
		if(($count > ($page + PAGE)) || ($page > 0)) echo("---<br />\n");
	}
	else
	{
	echo("Сайтов не найдено.<br />\n");
	}
break;

}

echo("---<br />\n");
echo("<a href='".PATH."/admin/".VERSION."/?konotop=".$login."&amp;pwd=".$password."'>Панель управления</a><br />\n");
echo("<a href='".PATH."/?sid=".$sid."'>".NAME."</a><br />\n");
//"'
?>