File size: 5.73Kb
<?php
foreach (array('start', 'compress', 'sess', 'settings', 'db_connect', 'ipua', 'fnc', 'adm_check', 'user') as $inc) {
require_once "../sys/inc/$inc.php";
}
if (access('user_ban_set')) {
$ank = $pdo->query(("SELECT * FROM `user` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
$set['title'] = 'Бан пользователя ' . $ank['nick'];
require_once H . 'sys/inc/thead.php';
aut();
err();
#Навигация
echo "<div class='card-header'>";
echo "<a href='/' data-toggle='tooltip' data-placement='right' title='" . lang('На главную') . "'><i class='fa fa-home fa-lg'></i></a> <i class='fa fa-angle-right fa-fw'></i> ";
echo "<a href='/panel/'>" . lang('Админ панель') . "</a> <i class='fa fa-angle-right fa-fw'></i> ";
echo lang('Бан пользователя') . " $ank[nick]";
echo "</div>";
if (isset($_GET['del']) && access('user_ban_set')) {
$ban_info = $pdo->query(("SELECT * FROM `ban` WHERE `id_user` = '$ank[id]' AND `id` = '" . intval($_GET['del']) . "'"))->fetch(PDO::FETCH_ASSOC);
$ank2 = $pdo->query(("SELECT * FROM `user` WHERE `id` = '$ban_info[id_ban]' LIMIT 1"));
$pdo->query("DELETE FROM `ban` WHERE `id` = '" . intval($_GET['del']) . "'");
admin_log('Пользователи', 'Бан', "Удаление бана пользователя '[url=/panel/ban.php?id=$ank[id]]$ank[nick][/url]'");
$_SESSION['message']='Бан успешно удален';
header('location: ?id='.$ank['id'].'');
}
if (isset($_GET['unset']) && access('user_ban_set')) {
$ban_info = $pdo->query(("SELECT * FROM `ban` WHERE `id_user` = '$ank[id]' AND `id` = '" . intval($_GET['unset']) . "'"))->fetch(PDO::FETCH_ASSOC);
$ank2 = $pdo->query(("SELECT * FROM `user` WHERE `id` = '$ban_info[id_ban]' LIMIT 1"));
$pdo->query("UPDATE `ban` SET `time` = '$time', `status` = '0', `navsegda` = '0' WHERE `id` = '" . intval($_GET['unset']) . "' LIMIT 1")->fetch(PDO::FETCH_ASSOC);
admin_log('Пользователи', 'Бан', "Снятие бана пользователя '[url=/panel/ban.php?id=$ank[id]]$ank[nick][/url]'");
$_SESSION['message']='Время бана обнулено';
header('location: ?id='.$ank['id'].'');
}
if (isset($_POST['ban_pr']) && isset($_POST['time']) && isset($_POST['vremja']) && (access('user_ban_set'))) {
$timeban = $time;
if ($_POST['vremja'] == 'min') {
$timeban += intval($_POST['time']) * 60;
}
if ($_POST['vremja'] == 'chas') {
$timeban += intval($_POST['time']) * 60 * 60;
}
if ($_POST['vremja'] == 'sut') {
$timeban += intval($_POST['time']) * 60 * 60 * 24;
}
if ($_POST['vremja'] == 'mes') {
$timeban += intval($_POST['time']) * 60 * 60 * 24 * 30;
}
if ($timeban < $time) {
$err[] = 'Ошибка времени бана';
}
if (!access('user_ban_set')) {
$timeban = min($timeban, $time + 3600 * 24);
}
$prich = htmlspecialchars($_POST['ban_pr']);
if (utf8_strlen($prich) > 500) {
$err[] = 'Сообщение слишком длинное';
}
if (!isset($err)) {
$pdo->query("INSERT INTO `ban` (`id_user`, `id_ban`, `prich`, `time`, `status`) VALUES ('$ank[id]', '$user[id]', '$prich', '$timeban', '1')");
admin_log('Пользователи', 'Бан', "Бан пользователя '[url=/panel/ban.php?id=$ank[id]]$ank[nick][/url]' до " . date::time($timeban) . " по причине '$prich'");
$_SESSION['message']='Пользователь успешно забанен';
header('location: ?id='.$ank['id'].'');
}
}
$k_post = $pdo->query(("SELECT COUNT(*) FROM `ban` WHERE `id_user` = '$ank[id]'"), 0)->fetchColumn();
$k_page = k_page($k_post, $set['p_str']);
$page = page($k_page);
$start = $set['p_str'] * $page - $set['p_str'];
if ($k_post == 0) {
$doc->NoResult();
}
$q = $pdo->query("SELECT * FROM `ban` WHERE `id_user` = '$ank[id]' ORDER BY `time` DESC LIMIT $start, $set[p_str]");
while ($post = $q->fetch(PDO::FETCH_ASSOC)) {
echo "<div class='list-group-item'>";
echo "<div class='mess'>";
echo "<b>Пользователь заблокирован администратором</b> ";
echo "".user($post['id_ban'])."<br><br>";
echo "<b>Осталось:</b> " . date::time($post['time']) . "<br><br>";
echo "<b>Раздел:</b> весь сайт<br><br>";
echo "<b>Причина:</b> " . output_text($post['prich']) . "<br><br>";
if ($post['time'] > $time) {
echo "<a href='?id=$ank[id]&unset=$post[id]'>Снять бан</a> ";
}
echo " <a href='?id=$ank[id]&del=$post[id]'>Удалить бан</a><br />";
echo "</div>";
echo "</div>";
}
if ($k_page > 1) {
echo "<div class='list-group-item'>";
str('?id=' . $ank['id'] . '&', $k_page, $page);
echo "</div>";
}
echo "<form class='list-group-item' action = 'ban.php?id=$ank[id]' method = 'post'>";
$doc->Textarea('ban_pr', 'Причина', 1024);
echo "<br>Время бана " . (access('user_ban_set') ? null : '(max 1 сутки)') . ":<br />";
echo "<br><input id='time' name='time' length='11' type='text' value='10' class='form-control'>";
echo "<select class='form-control' name='vremja'>";
echo "<option value='min'>Минуты</option>\n";
echo "<option " . (($k_post > 1) ? 'selected="selected" ' : null) . "value='chas'>Часы</option>\n";
echo "<option value='sut'>Сутки</option>\n";
echo "<option value='mes'" . (access('user_ban_set') ? null : ' disabled="disabled"') . ">Месяцы</option>\n";
echo "</select><br />\n";
echo "<button class='knopka'>Забанить</button>";
echo "</form>\n";
}else{
header('location: /index.php');
$_SESSION['err'] = 'Ошибка доступа';
}
require_once H . 'sys/inc/tfoot.php';