Вход Регистрация
Файл: mpanel/zaban.php
Строк: 216
<?php
include('../core/core.php');
include(
MAINDIR.'style/head.php');
title('Бан / Разбан');
if (
is_admin(array(101102103))) {
$my DB::run() -> queryFetch("SELECT * FROM `users` WHERE `login`=? LIMIT 1",array(check($_COOKIE['login'])));
$admin $my['status'];
echo
'<div class="title">Бан / Разбан</div>'
$act '<img src="/images/act.png">';
switch (
$mode):
case 
'index':
echo
'<div class="menu">';

echo 
'<div class="form">';
echo 
'Логин пользователя:<br />';
echo 
'<form method="post" action="?mode=edit">';
echo 
'<input type="text" name="uz" maxlength="20" />';
echo 
'<input value="Редактировать" type="submit" /></form></div>';
echo
'</div>';
echo
'<div class="menu">';
echo 
'Введите логин пользователя который необходимо отредактировать';
echo
'</div>';

break;
case 
'edit':
$uz check($_REQUEST['uz']);
if(
$uz == !NULL){
$user DB::run() -> queryFetch("SELECT * FROM `users` WHERE `login`=? LIMIT 1",array($uz));
if(
$user['login'] == !NULL){
if(
$user['status'] == 101 || $user['status'] == 102 || $user['status'] == 103 || $user['status'] == 104){
echo
'Ошибка! Запрещено банить админов и модеров сайта!'; } else {
$banned DB::run() -> queryFetch("SELECT * FROM `history_ban`  WHERE `login` =? ORDER BY `id` DESC LIMIT 1",array($uz));
echo 
'<div class="menu">Последний бан: '.$banned['data'].'<hr>';
echo 
'Последняя причина: '.$banned['pri'].'<hr>';
echo 
'Забанил: '.$banned['status'].'</div>';
$b DB::run() -> queryFetch("SELECT * FROM `ban` WHERE `login`=? LIMIT 1",array($uz));
if(
$b['login'] == NULL){
echo 
'<div class="menu"><form method="post" action="?mode=zaban&uz='.$uz.'">';
echo 
'<b>Время бана:</b><br /><input name="bantime" /><br />';
echo 
'<input name="bantype" type="radio" value="min" checked="checked" /> Минут<br />';
echo 
'<input name="bantype" type="radio" value="chas" /> Часов<br />';
echo 
'<input name="bantype" type="radio" value="sut" /> Суток<br />';
echo 
'<b>Причина бана:</b><br />';
echo 
'<textarea name="reasonban" cols="25" rows="5"></textarea><br />';
echo 
'<input value="Забанить" type="submit" /></form></div>';

echo 
'<div class="menu">При общем числе нарушений более 10, профиль пользователя удаляется<br />';
echo 
'Максимальное время бана 30 суток<br />';
echo 
'Внимание! Постарайтесь как можно подробнее описать причину бана</div>';
} else {
echo 
'<div class="menu"><b><span style="color:#ff0000">Внимание, данный аккаунт заблокирован!</span></b><br />';
$time $b['time'] - time();
if(
$time 0){ $time 0; } else { $time $time; }
echo 
'До окончания бана: '.formattime($time).'<br /><br />';
echo 
''.$act.' <a href="?mode=editban&uz='.$uz.'">Изменить</a><br />';
echo 
''.$act.' <a href="?mode=razban&uz='.$uz.'">Разбанить</a></div>';
}
}
} else {echo
'Ошибка! Пользователя с данным логином не существует!';}
echo
'</div>';
if(
is_admin(array(101,102))){
$t DB::run() -> query("SELECT * FROM `history_ban` WHERE login =?",array($uz)) -> rowCount();
if(
$t >= 10){
echo 
'<div class="menu"><b><span style="color:#ff0000">Внимание! Пользователь превысил лимит банов</span></b><br />';
echo 
'Вы можете удалить этот профиль!<br /><br />';
echo 
''.$act.' <b><a href="?mode=deluser&uz='.$uz.'">Удалить профиль</a></b></div>';
}
}
} else {}
break;
case 
'deluser':
echo 
'<div class="menu">';
if(
is_admin(array(101,102))){
$uz check($_GET['uz']);
$user DB::run() -> queryFetch("SELECT * FROM `users` WHERE `login`=? LIMIT 1",array($uz));
if(
$user['status'] == 101 || $user['status'] == 102 || $user['status'] == 103 || $user['status'] == 104){
echo
'Ошибка! Запрещено удалять админов и модеров сайта!'; } else {
//del_user($uz);
echo'Профиль удален полностью!';
}
} else { echo
'Доступ закрыт! Вам сюда нельзя!'; }
echo
'</div>';
break;
case 
'zaban':
echo
'<div class="menu">';
$uz check($_GET['uz']);
$bantime abs(round($_POST['bantime'], 1));
$bantype check($_POST['bantype']);
$reasonban check($_POST['reasonban']);
if(
$bantime 30){if($admin == 101){$bantime $bantime;}else {$bantime 30;}} else {$bantime $bantime; }
if (
$bantype == 'min') {$bantotaltime time() + ($bantime 60);} 
if (
$bantype == 'chas') { $bantotaltime time() + ($bantime 3600);} 
if (
$bantype == 'sut') { $bantotaltime time() + ($bantime 84600);} 
if(
$bantotaltime 0){
if (
mb_strlen($reasonban) >= && mb_strlen($reasonban) <= 1000) {
DB::run() -> query("INSERT INTO `ban`(`login`,`time`,`ban`) VALUES (?,?,?)",array($uz,$bantotaltime,$reasonban));
$data times();
DB::run() -> query("INSERT INTO `history_ban`(`login`,`data`,`pri`,`status`) VALUES (?,?,?,?)",array($uz,$data,$reasonban,$my['login']));
echo
'Аккаунт успешно заблокирован!';
} else {echo
'Ошибка! Слишком длинная или короткая причина бана!'; }
} else {echo
'Ошибка! Вы не указали время бана!'; }
echo
'</div>';
break;
case 
'razban':
echo
'<div class="menu">';
$uz check($_GET['uz']);
$b DB::run() -> queryFetch("SELECT * FROM `ban` WHERE `login`=? LIMIT 1",array($uz));
if(
$b['login'] == !NULL){
DB::run() -> query("DELETE FROM `ban` WHERE `login` =?",array($uz));
echo
'Аккаунт успешно разблокирован!';
} else { echo
'Ошибка! Данный аккаунт уже разблокирован!'; }
echo
'</div>';
break;
case 
'editban':
echo
'<div class="menu">';
$uz check($_GET['uz']);
$user DB::run() -> queryFetch("SELECT * FROM `users` WHERE `login`=? LIMIT 1",array($uz));
if(
$user['status'] == 101 || $user['status'] == 102 || $user['status'] == 103 || $user['status'] == 104){
echo
'Ошибка! Запрещено банить админов и модеров сайта!'; } else {
$b DB::run() -> queryFetch("SELECT * FROM `ban` WHERE `login`=? LIMIT 1",array($uz));
if(
$b['login'] == !NULL){
echo 
'<div class="menu"><form method="post" action="?mode=changeban&uz='.$uz.'">';
echo 
'<b>Время бана:</b><br /><input name="bantime" /><br />';
echo 
'<input name="bantype" type="radio" value="min" checked="checked" /> Минут<br />';
echo 
'<input name="bantype" type="radio" value="chas" /> Часов<br />';
echo 
'<input name="bantype" type="radio" value="sut" /> Суток<br />';
echo 
'<b>Причина бана:</b><br />';
echo 
'<textarea name="reasonban" cols="25" rows="5">'.$b['ban'].'</textarea><br />';
echo 
'<input value="Забанить" type="submit" /></form></div>';

echo 
'<div class="menu">При общем числе нарушений более 10, профиль пользователя удаляется<br />';
echo 
'Максимальное время бана 30 суток<br />';
echo 
'Внимание! Постарайтесь как можно подробнее описать причину бана</div>';
} else {
echo
'Ошибка! Данный пользователь не забанен!';
}
}
echo
'</div>';
break;
case 
'changeban':
echo
'<div class="menu">';
$uz check($_GET['uz']);
$bantime abs(round($_POST['bantime'], 1));
$bantype check($_POST['bantype']);
$reasonban check($_POST['reasonban']);
if(
$bantime 30){ $bantime 30;} else {$bantime $bantime; }
if (
$bantype == 'min') {$bantotaltime time() + ($bantime 60);} 
if (
$bantype == 'chas') { $bantotaltime time() + ($bantime 3600);} 
if (
$bantype == 'sut') { $bantotaltime time() + ($bantime 84600);} 
if(
$bantotaltime 0){
if (
mb_strlen($reasonban) >= && mb_strlen($reasonban) <= 1000) {
DB::run() -> query("UPDATE `history_ban` SET `pri`=? WHERE login =?",array($reasonban,$uz));
DB::run() -> query("UPDATE `ban` SET `time`=?,`ban`=? WHERE login =?",array($bantotaltime,$reasonban,$uz));
echo
'Данные успешно изменены!';
} else {echo
'Ошибка! Слишком длинная или короткая причина бана!'; }
} else {echo
'Ошибка! Вы не указали время бана!'; }
echo
'</div>';
break;
default: 
header ('location: ?mode=index'); 
endswitch;
echo
'<div class="menu"><a href="/mpanel/">В админку</a></div>';
} else {
header ('location: /index.php?mode=index'); } 
include(
MAINDIR.'style/foot.php');
?>
Онлайн: 1
Реклама