Файл: public_html/modules/panel/banned.php
Строк: 169
<?php
include_once ('../../core/base.php');
$header = 'Управление блокировками';
include_once ('../../core/head.php');
falseauth();
mod();
switch($act){
default:
echo '<a class="link" href="/access/banned/search"> Найти игрока </a>';
echo '<a class="link" href="/access/banned/all"> Список блокировок </a>';
if($u['admin'] > 2) echo '<a class="link" href="/access/uaban"> Блокировка по UA </a>';
if($u['admin'] > 1) echo '<a class="link" href="/access/ipban"> Блокировка по IP </a>';
echo '<div class="line"></div>';
echo '<a class="link bradius" href="/access/"> Вернуться назад </a>';
break;
case 'search':
echo '<div class="b">';
echo '<form method="POST" action="/access/banned/view">';
echo 'Введите поисковый запрос: <br/>';
echo '<input type="text" placeholder="Введите логин игрока..." name="search" /> <br/>';
echo '<input type="submit" name="success" value="Поиск"></br>';
echo '</form>';
echo '</div>';
echo '<div class="line"></div>';
echo '<a class="link bradius" href="/access/banned/"> Вернуться назад </a>';
break;
case 'view':
$search = fl($_POST['search']);
if(empty($search)) error('Пустой запрос');
else {
$count = $base -> query("SELECT * FROM `users` WHERE `login` LIKE '%".$search."'%' ") -> num_rows;
$k_page = k_page($count,10);
$page = page($k_page);
$start = 10*$page-10;
$sql = $base -> query("SELECT * FROM `users` WHERE `login` LIKE '%".$search."%' ORDER BY `id` ASC LIMIT $start, 10");
while($v = $sql -> fetch_assoc()){
if($v['admin'] == 1) $adm = '- <span class="sup">агент поддержки</span>';
elseif($v['admin'] == 2) $adm = '- <span class="mod">модератор</span>';
elseif($v['admin'] == 3) $adm = '- <span class="adm">администратор</span>';
echo '<a class="link" href="/access/banned/block/'.$v['id'].'"> '.$v['login'].' '.$adm.' </a>';
}
if($count == '0') echo '<div class="b center">Пользователи не найдены</div>';
if($count > '10') echo str('/access/banned/view?',$k_page,$page);
echo '<div class="line"></div>';
echo '<a class="link bradius" href="/access/banned/search"> Вернуться к поиску </a>';
}
break;
case 'block':
$id = fl($_GET['id']);
$a = $base -> query("SELECT * FROM `users` WHERE `id` = '".$id."' LIMIT 1") -> fetch_assoc();
if($a['admin'] > 2) redirect('/access/banned', 'Блокировать администраторов нельзя!');
if($a == 0) header('Location: /access/banned/');
if(isset($_REQUEST['success'])){
$block['id_user'] = fl($id);
$block['id_ban'] = fl($u['id']);
$block['reason'] = fl($_POST['reason']);
$block['blocked'] = fl($_POST['blocked']);
$block['ban'] = fl($_POST['ban']);
$block['time_ban'] = fl($_POST['time_ban']);
$block['time'] = time();
# CHECK #
if($block['time_ban'] == 'minutes') $tm = time() + ($block['ban'] * 60);
elseif($block['time_ban'] == 'hour') $tm = time() + ($block['ban'] * 3600);
elseif($block['time_ban'] == 'day') $tm = time() + ($block['ban'] * 86400);
elseif($block['time_ban'] == 'week') $tm = time() + ($block['ban'] * 604800);
if(empty($block['reason'])) error('Введите причину блокировки');
elseif($id == $u['id']) error('Нельзя блокировать себя');
else {
$base -> query("INSERT INTO `ban` SET
`id_user` = '".$block['id_user']."',
`id_ban` = '".$block['id_ban']."',
`reason` = '".$block['reason']."',
`blocked` = '".$block['blocked']."',
`time_ban` = '".$tm."',
`time` = '".$block['time']."'
");
if($block['blocked'] == 'ip') $db->query("INSERT INTO `ipban` SET `ip` ='".$a['ipus']."'");
if($block['blocked'] == 'ua') $db->query("INSERT INTO `uaban` SET `ua` ='".$a['ua']."'");
$base -> query("INSERT INTO `admin_log` SET `id_adm` = '".$u['id']."', `message` = 'Мною был заблокирован игрок под ником ".name($block['id_user'])."', `time` = '".time()."', `section` = '2' ");
$base -> query("DELETE FROM `chat` WHERE `user` = '".$block['id_user']."'");
header('Location: /user/'.$id.'/');
}
}
echo '<div class="b">';
echo '<div class="title">Заблокировать игрока</div>';
echo '<form method="POST" action="">';
echo 'Причина блокировки: <br/>';
echo '<textarea name="reason" placeholder="Введите пояснение блокировки..."></textarea>';
echo 'Тип блокировки: <br/>';
echo '<select name="blocked">';
echo '<option value="all">Полностью</option>';
echo '<option value="mute">Заткнуть</option>';
if($u['admin'] > 1) echo '<option value="ip">По IP-адресу</option>';
if($u['admin'] > 2) echo '<option value="ua">По User-Agent</option>';
echo '</select><br/>';
echo 'Число блокировки: <br/>';
echo '<input type="text" name="ban" placeholder="Введите число блокировки..."/> <br/>';
echo 'Время блокировки: <br/>';
echo '<select name="time_ban">';
echo '<option value="minutes">Минуты</option>';
echo '<option value="hour">Часы</option>';
echo '<option value="day">Дни</option>';
echo '<option value="week">Недели</option>';
echo '</select><br/>';
echo '<input type="submit" name="success" value="Забанить"></br>';
echo '</form>';
echo '</div>';
echo '<div class="line"></div>';
echo '<a class="link bradius" href="/access/banned/"> Вернуться назад </a>';
break;
case 'all':
$count = $base -> query("SELECT * FROM `ban` WHERE `time_ban` > '".time()."'") -> num_rows;
$k_page = k_page($count,10);
$page = page($k_page);
$start = 10*$page-10;
$q = $base -> query("SELECT * FROM `ban` WHERE `time_ban` > '".time()."' ORDER BY `time` ASC LIMIT $start, 10");
while($row = $q -> fetch_assoc()){
if($row['blocked'] == 'all') $banned = 'заблокирован';
else $banned = 'заткнут';
echo '<div class="b txt">';
echo 'Игрок '.who($row['id_user']).' '.$banned.' до '.tm($row['time_ban']).'<br/>';
echo 'Заблокировал: '.who($row['id_ban']).' <br/>';
echo 'Причина: '.$row['reason'].' <br/>';
echo '<a class="st" href="/access/banned/delete/'.$row['id'].'">удалить</a>';
echo '</div>';
echo '<div class="line"></div>';
}
if($count == '0') echo '<div class="b center">Блокировок нет</div><div class="line"></div>';
if($count > '10') echo str('/access/banned/all/?',$k_page,$page);
echo '<a class="link bradius" href="/access/banned/"> Вернуться назад </a>';
break;
case 'delete':
$id = fl($_GET['id']);
$a = $base -> query("SELECT * FROM `users` WHERE `id` = '".$id."' LIMIT 1") -> fetch_assoc();
$db->query("DELETE FROM `ipban` WHERE `ip` = '".$a['ipus']."'");
$db->query("DELETE FROM `uaban` WHERE `ua` = '".$a['ua']."'");
if(empty($id)) header('Location: /access/banned/');
$base -> query("DELETE FROM `ban` WHERE `id` = '".$id."'");
$base -> query("INSERT INTO `admin_log` SET `id_adm` = '".$u['id']."', `message` = 'Мною был разблокирован игрок под ником ".name($id)."', `time` = '".time()."', `section` = '2' ");
header('Location: /access/banned/');
break;
}
include_once ('../../core/foot.php');
?>