Файл: admin/users/ban.php
Строк: 89
<?php
include '../../engine/includes/start.php';
if (!$moder)
Core::stop();
$set['title'] = 'Забаненные юзеры';
include incDir.'head.php';
?>
<table width="100%"><tr>
<td class="<?=$act == 'list' ? 'p_t' : 'p_m'?>"><a href="?act=list" style="display:block">Список</a></td>
<td class="<?=$act == 'ban' ? 'p_t' : 'p_m'?>"><a href="?act=ban" style="display:block">Забанить</a></td>
</tr></table>
<?php
switch($act)
{
case 'unset':
if ($sql->query('SELECT COUNT(*) FROM `ban` WHERE `user_id` = '.intval($_GET['user_id']).' AND `id` = '.$id)->result())
{
$sql->query('UPDATE `ban` SET `time` = '.$time.' WHERE `id` = '.$id.' LIMIT 1');
Core::msg_show('Время бана обнулено');
}
break;
case 'ban':
if (isset($_GET['new'], $_SESSION['edit_user_id']))
{
unset($_SESSION['edit_user_id']);
}
if (isset($_POST['user']) || $id)
{
$_SESSION['edit_user_id'] =
$sql->query('SELECT `id` FROM `user` WHERE `'.(Core::form('order') == 'id' || $id ? 'id' : 'nick').'` = "'.($id ? $id : Core::form('user')).'" LIMIT 1')->result();
if ($_SESSION['edit_user_id'] == 0 || $_SESSION['edit_user_id'] == $user_id)
{
unset($_SESSION['edit_user_id']);
Core::msg_show('Поиск не дал результатов', 'error');
//Include incDir . 'foot.php';
}
}
if (!isset($_SESSION['edit_user_id']))
{
?>
<div class="menu_razd">Забанить пользователя</div>
<form method="post" action="?act=ban">
Искать пользователя по:<br />
<select name="order">
<option value="id">Id</option>
<option value="nick">Ник</option>
</select><br />
Данные для поиска:<br />
<input type="text" name="user" value=""/><br />
<input type="submit" value="Искать"/>
</form>
<?php
}
else
{
$editor = Core::get_user($_SESSION['edit_user_id']);
echo '<div class="post">Забанить пользователя '.$editor['nick'].', <a href="?act=ban&new">изменить</a></div>';
if (isset($_POST['ban_pr'], $_POST['time'], $_POST['vremja']))
{
$timeban = $time;
if ($_POST['vremja']=='min')$timeban+=intval($_POST['time'])*60;
elseif ($_POST['vremja']=='chas')$timeban+=intval($_POST['time'])*60*60;
elseif ($_POST['vremja']=='sut')$timeban+=intval($_POST['time'])*60*60*24;
elseif ($_POST['vremja']=='mes')$timeban+=intval($_POST['time'])*60*60*24*30;
if ($timeban < $time) $err[]='Ошибка времени бана';
$prich = Core::form('ban_pr');
$pr_lenght = mb_strlen($prich);
if ($pr_lenght > 1024)
{
$err[]='Сообщение слишком длинное';
}
if ($pr_lenght < 10)
{
$err[]='Необходимо подробнее указать причину';
}
if (!isset($err))
{
$sql->query("INSERT INTO `ban` (`user_id`, `moder_id`, `prich`, `time`) VALUES ('$editor[id]', '$user[id]', '$prich', '$timeban')");
Core::msg_show('Пользователь успешно забанен', 'msg');
}
else
Core::msg_show($err);
}
?>
<form action="?act=ban" method="post">
Причина:<br />
<textarea name="ban_pr"></textarea><br />
Время бана:<br />
<input type='text' name='time' title='Время бана' value='10' maxlength='11' size='3' />
<select class='form' name="vremja">
<option value='min'>Минуты</option>
<option value='chas'>Часы</option>
<option value='sut'>Сутки</option>
<option value='mes'>Месяцы</option>
</select><br />
<input type='submit' value='Забанить' />
</form>
<?php
}
break;
default:
$total = $sql->query("SELECT COUNT(*) FROM `ban` WHERE `time` > " . $time)->result();
$page = new Page($total, $set['p_str']);
$i = 0;
if ($total == 0)
{
echo '<div class="p_t">Нет нарушений</div>';
}
$sql->query('SELECT
`ban`.`id` as `ban_id`, `ban`.`time`, `ban`.`prich`,
`user`.`id`, `user`.`nick`, `user`.`pol`
FROM `ban` LEFT JOIN `user`
ON `ban`.`user_id` = `user`.`id`
WHERE `time` > '.$time.'
ORDER BY `time` DESC LIMIT '.$page->limit());
while ($post = $sql->fetch())
{
echo '<div class="'.($i++ % 2 ? 'p_m' : 'p_t').'"> '.
Core::user_show($post, array(
'status' => 'до ' . Core::time($post['time']),
'post' => Text::output($post['prich']).'<br /><a href="?act=unset&id='.$post['ban_id'].'&user_id='.$post['id'].'">Снять бан</a>')) . '</div>';
}
$page->display('?');
break;
}
if ($creator)
{
echo '
<a href="/admin/?act=users"><div class="link">Пользователи</div></a>
<a href="/admin/"><div class="link">Админка</div></a>';
}
include incDir . 'foot.php';