View file modules/user/user_rating.php

File size: 6.34Kb
<?php

// проверяем корректность запроса
if (!isset($user) && mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `id` = '". num($_GET['user_id']) ."' LIMIT 1"), 0) == 0)
{
    # Перенаправляем на главную
    header('Location: /');
}

if (isset($_GET['vote']) && isset($user) && mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `id` = '". num($_GET['user_id']) ."' LIMIT 1"), 0) != 0 && ((mysql_result(mysql_query("SELECT COUNT(*) FROM `user_rating` WHERE `user_id` = '". num($_GET['user_id']) ."' AND `rate_id` = '$user[id]'"), 0) != 0) || mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_p` WHERE `user_id` = '$user[id]'"), 0) < 100))
{
    # Перенаправляем на главную
    header('Location: /');
}

# Заголовок модуля
$system['page_title'] = 'Рейтинг пользователя';

# Шапка модуля
require_once(HOME .'/incfiles/header.php');

# Массив владельца странички
if (isset($_GET['user_id']))
{
    if (mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `id` = '". num($_GET['user_id']) ."' LIMIT 1"), 0) == 1)
    {
        $ank = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '". num($_GET['user_id']) ."' LIMIT 1"));
    }
    else
    {
        $ank = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '$user[id]' LIMIT 1"));
    }
}
else
{
    $ank = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '$user[id]' LIMIT 1"));
}

// голосуем
if (isset($_POST['type']) && isset($_POST['text']) && isset($_GET['vote']) && isset($user) && $user['id'] != $ank['id'] && mysql_result(mysql_query("SELECT COUNT(*) FROM `user_rating` WHERE `user_id` = '$ank[id]' AND `rate_id` = '$user[id]'"), 0) == 0 && mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_p` WHERE `user_id` = '$user[id]'"), 0) >= 100) {
	$type = num($_POST['type']);

	if (empty($type)) $err .= 'Не выбран тип голоса<br />';

	if ($type != '1' && $type != '2') $err .= 'Неверный тип голоса<br />';

	# Название
	$text = txt($_POST['text']);

	# Проверка ввода названия
	if (empty($text)) $err .= 'Не введен комментарий<br />';

	# Проверка длины логина
	if (!empty($text) && (strlen_rus($text) < 3 || strlen_rus($text) > 3000)) $err .= 'Неверная длина комментария. Допустимо от 3 до 3000 символов<br />';

	if (!isset($err)) {
		mysql_query("INSERT INTO `user_rating` SET `user_id` = '$ank[id]', `rate_id` = '$user[id]', `text` = '". input($text) ."', `time` = '". time() ."', `type` = '$type'");

		echo '<div class="title">Голосование</div>
		<div class="menu">
		Ваш голос успешно принят.
		</div>';

		echo '<div class="block">
		&raquo; <a href="/user/user_rating.php?user_id='. $ank['id'] .'">Просмотр голосов</a><br />
		&raquo; <a href="/user/user.php?user_id='. $ank['id'] .'">На личную страницу</a><br />
		&raquo; <a href="/">На главную</a>
		</div>';

		# Ноги модуля
		require_once(HOME .'/incfiles/footer.php');
	}
}

error($err);

// голосуем
if (isset($_GET['vote']) && isset($user) && $user['id'] != $ank['id'] && mysql_result(mysql_query("SELECT COUNT(*) FROM `user_rating` WHERE `user_id` = '$ank[id]' AND `rate_id` = '$user[id]'"), 0) == 0 && mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_p` WHERE `user_id` = '$user[id]'"), 0) >= 100) {
	echo '<div class="title">Голосование</div>
	<form method="post" action="/user/user_rating.php?user_id='. $ank['id'] .'&amp;vote">
	<div class="menu">
	Тип голоса:<br />
    <select name="type" size="1">
	<option value="1">Положительный</option>
	<option value="2">Отрицательный</option>
	</select><br />
    Комментарий: (обязателен)<br />
    <textarea name="text" rows="4" cols="20">'. txt($_POST['text']) .'</textarea><br />
    <input type="submit" value="Отправить" />
	</div>
	</form>';

	echo '<div class="block">
	&raquo; <a href="/user/user_rating.php?user_id='. $ank['id'] .'">Просмотр голосов</a><br />
	&raquo; <a href="/user/user.php?user_id='. $ank['id'] .'">На личную страницу</a><br />
	&raquo; <a href="/">На главную</a>
	</div>';

	# Ноги модуля
	require_once(HOME .'/incfiles/footer.php');
}

echo '<div class="title">Голоса пользователя: '. $ank['nick'] .'</div>';

if (isset($user) && $user['id'] != $ank['id'] && mysql_result(mysql_query("SELECT COUNT(*) FROM `user_rating` WHERE `user_id` = '$ank[id]' AND `rate_id` = '$user[id]'"), 0) == 0 && mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_p` WHERE `user_id` = '$user[id]'"), 0) >= 100) {
	echo '<div class="menu">'. (isset($user) && $settings['img_site'] == 2?NULL:'<img src="/design/icons/rating/star.png" alt="" /> ') .'<a href="/user/user_rating.php?user_id='. $ank['id'] .'&amp;vote">Проголосовать</a></div>';
}

# Кол-во пользователей
$k_rate = mysql_result(mysql_query("SELECT COUNT(*) FROM `user_rating` WHERE `user_id` = '". $ank['id'] ."'"), 0);

# Старт навигации
nav_start($k_rate, 10);

if ($k_rate == 0)
{
    echo '<div class="menu">Голосов нет</div>';
}
else
{
    $sql_rate = mysql_query("SELECT * FROM `user_rating` WHERE `user_id` = '". $ank['id'] ."' ORDER BY time DESC LIMIT $start, 10");

    while ($rate = mysql_fetch_assoc($sql_rate))
    {
        echo '<div class="menu">
        '. icon($rate['rate_id']) .' <a href="/user/user.php?user_id='. $rate['rate_id'] .'">'. nick($rate['rate_id']) .'</a> '. online($rate['rate_id']) .' ('. vtime($rate['time']) .')<br />
        Голос: '. ($rate['type'] == 1?'Положительный':'Отрицательный') .'<br />
        '. output($rate['text']) .'
        </div>';
    }

    # Вывод навигации
    view_nav();
}

echo '<div class="block">
&raquo; <a href="/user/user.php?user_id='. $ank['id'] .'">На личную страницу</a><br />
&raquo; <a href="/">На главную</a>
</div>';

# Ноги модуля
require_once(HOME .'/incfiles/footer.php');

?>