Размер файла: 9.12Kb
- <?
- include('../core/core.php');
- include(BASEDIR.INC.'func.php');
- include(BASEDIR.INC.'session.php');
- include(BASEDIR.INC.'session_user.php');
- $mode = htmlspecialchars($_GET['mode']);
- include(BASEDIR.INC.'head.php');
- show_title('Бан / Разбан');
- if (is_admin(array(101, 102, 103))) {
- $users = mysql_query('SELECT * FROM users WHERE login = "'.$_COOKIE['login'].'"');
- $users = mysql_fetch_assoc($users);
- $admin = $users['status'];
- if($admin == 101 || $admin == 102){ echo'<div class="razdel">Админ-панель</div>'; }
- if($admin == 103 || $admin == 104){ echo'<div class="razdel">Модер-панель</div>'; }
- $act = '<img src="'.BASEDIR.''.IMG.'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 = htmlspecialchars($_REQUEST['uz']);
- if($uz == !NULL){
- $user = mysql_query('SELECT * FROM users WHERE login = "'.$uz.'"');
- $user = mysql_fetch_assoc($user);
- if($user['login'] == !NULL){
- if($user['status'] == 101 || $user['status'] == 102 || $user['status'] == 103 || $user['status'] == 104){
- echo'Ошибка! Запрещено банить админов и модеров сайта!'; } else {
- $banned = mysql_query('SELECT * FROM `history_ban` WHERE `login` = "'.$uz.'" ORDER BY `id` DESC LIMIT 1 ');
- $banned = mysql_fetch_assoc($banned);
- echo '<div class="menu">Последний бан: '.$banned['data'].'<hr>';
- echo 'Последняя причина: '.$banned['pri'].'<hr>';
- echo 'Забанил: '.$banned['status'].'</div>';
- $b = mysql_query('SELECT * FROM ban WHERE login = "'.$uz.'"');
- $b = mysql_fetch_assoc($b);
- 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($admin == 101 || $admin == 102){
- $o = mysql_query("SELECT count(*) FROM `history_ban` WHERE login = '".$uz."'");
- $r = mysql_fetch_row($o);
- $t = $r[0];
- 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($admin == 101 || $admin == 102){
- $uz = htmlspecialchars($_GET['uz']);
- $user = mysql_query('SELECT * FROM users WHERE login = "'.$uz.'"');
- $user = mysql_fetch_assoc($user);
- 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 = htmlspecialchars($_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 (utf_strlen($reasonban) >= 5 && utf_strlen($reasonban) <= 1000) {
- mysql_query('INSERT INTO `ban`(`login`,`time`,`ban`) VALUES ("'.$uz.'","'.$bantotaltime.'","'.$reasonban.'")');
- $data = date("d.m.Y H:i:s");
- mysql_query('INSERT INTO `history_ban`(`login`,`data`,`pri`,`status`) VALUES ("'.$uz.'","'.$data.'","'.$reasonban.'","'.$_COOKIE['login'].'")');
- echo'Аккаунт успешно заблокирован!';
- } else {echo'Ошибка! Слишком длинная или короткая причина бана!'; }
- } else {echo'Ошибка! Вы не указали время бана!'; }
- echo'</div>';
- break;
- case 'razban':
- echo'<div class="menu">';
- $uz = htmlspecialchars($_GET['uz']);
- $b = mysql_query('SELECT * FROM ban WHERE login = "'.$uz.'"');
- $b = mysql_fetch_assoc($b);
- if($b['login'] == !NULL){
- mysql_query('DELETE FROM `ban` WHERE `login` = "'.$uz.'"');
- echo'Аккаунт успешно разблокирован!';
- } else { echo'Ошибка! Данный аккаунт уже разблокирован!'; }
- echo'</div>';
- break;
- case 'editban':
- echo'<div class="menu">';
- $uz = htmlspecialchars($_GET['uz']);
- $user = mysql_query('SELECT * FROM users WHERE login = "'.$uz.'"');
- $user = mysql_fetch_assoc($user);
- if($user['status'] == 101 || $user['status'] == 102 || $user['status'] == 103 || $user['status'] == 104){
- echo'Ошибка! Запрещено банить админов и модеров сайта!'; } else {
- $b = mysql_query('SELECT * FROM ban WHERE login = "'.$uz.'"');
- $b = mysql_fetch_assoc($b);
- 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 = htmlspecialchars($_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 (utf_strlen($reasonban) >= 5 && utf_strlen($reasonban) <= 1000) {
- mysql_query("UPDATE `history_ban` SET `pri`='$reasonban' WHERE login = '".$uz."';");
- mysql_query("UPDATE `ban` SET `time`='$bantotaltime',`ban`='$reasonban' WHERE login = '".$uz."';");
- echo'Данные успешно изменены!';
- } else {echo'Ошибка! Слишком длинная или короткая причина бана!'; }
- } else {echo'Ошибка! Вы не указали время бана!'; }
- echo'</div>';
- break;
- default:
- header ('location: ?mode=index');
- endswitch;
- echo'<div class="menu"><a href="/">На главную</a></div>';
- } else {header ('location: /index.php?mode=index'); }
- include(BASEDIR.INC.'foot.php');
- ?>