<?php
#-----------------------------------------------------#
# ********* ROTORCMS ********* #
# Made by : VANTUZ #
# E-mail : [email protected] #
# Site : http://pizdec.ru #
# WAP-Site : http://visavi.net #
# ICQ : 36-44-66 #
# Вы не имеете право вносить изменения в код скрипта #
# для его дальнейшего распространения #
#-----------------------------------------------------#
require_once ('../includes/start.php');
require_once ('../includes/functions.php');
require_once ('../includes/header.php');
include_once ('../themes/' . $config['themes'] . '/index.php');
if (isset($_GET['act'])) {
$act = check($_GET['act']);
} else {
$act = 'index';
}
if (is_admin(array(101, 102, 103))) {
show_title('site.png', 'Бан/Разбан');
$config['newtitle'] = 'Бан/Разбан';
switch ($act):
# ###########################################################################################
# # Главная страница ##
# ###########################################################################################
case "index":
echo '<div class="form">';
echo 'Логин пользователя:<br />';
echo '<form method="post" action="zaban.php?act=edit&' . SID . '">';
echo '<input type="text" name="uz" maxlength="20" />';
echo '<input value="Редактировать" type="submit" /></form></div><br />';
echo 'Введите логин пользователя который необходимо отредактировать<br /><br />';
break;
# ###########################################################################################
# # Редактирование ##
# ###########################################################################################
case "edit":
if (isset($_POST['uz'])) {
$uz = check($_POST['uz']);
} else {
$uz = check($_GET['uz']);
}
$queryuser = DB :: $dbh -> query("SELECT * FROM `users` WHERE `users_login`=? LIMIT 1;", array($uz));
$user = $queryuser -> fetch();
if (!empty($user)) {
echo '<img src="../images/img/user.gif" alt="image" /> <b>Профиль ' . $user['users_login'] . '</b> ' . user_visit($user['users_login']) . '<br /><br />';
if (!empty($user['users_timelastban']) && !empty($user['users_reasonban'])) {
echo '<b>Последний бан:</b> ' . date_fixed($user['users_timelastban'], 'j F Y / H:i') . '<br />';
echo '<b>Последняя причина:</b> ' . $user['users_reasonban'] . '<br />';
echo '<b>Забанил:</b> <a href="../pages/anketa.php?uz=' . $user['users_loginsendban'] . '&' . SID . '">' . nickname($user['users_loginsendban']) . '</a><br />';
}
echo 'Общее число банов: <b>' . $user['users_totalban'] . '</b><br /><br />';
if ($user['users_level'] < 101 || $user['users_level'] > 105) {
if (empty($user['users_ban']) || $user['users_timeban'] < SITETIME) {
if ($user['users_totalban'] < 5) {
echo '<div class="form">';
echo '<form method="post" action="zaban.php?act=zaban&uz=' . $uz . '&uid=' . $_SESSION['token'] . '&' . SID . '">';
echo 'Время бана:<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 'Причина бана:<br /><textarea name="reasonban" cols="25" rows="3"></textarea><br />';
echo 'Заметка:<br />';
$user['users_note'] = str_replace('<br />', "\r\n", $user['users_note']);
echo '<textarea cols="25" rows="3" name="note">' . $user['users_note'] . '</textarea><br />';
echo '<input value="Забанить" type="submit" /></form></div><br />';
echo 'Подсчет нарушений производится при бане более чем на 12 часов<br />';
echo 'При общем числе нарушений более пяти, профиль пользователя удаляется<br />';
echo 'Максимальное время бана ' . round($config['maxbantime'] / 1440) . ' суток<br />';
echo 'Внимание! Постарайтесь как можно подробнее описать причину бана<br /><br />';
} else {
echo '<b><span style="color:#ff0000">Внимание! Пользователь превысил лимит банов</span></b><br />';
echo 'Вы можете удалить этот профиль!<br /><br />';
echo '<img src="../images/img/error.gif" alt="image" /> <b><a href="zaban.php?act=deluser&uz=' . $uz . '&uid=' . $_SESSION['token'] . '&' . SID . '">Удалить профиль</a></b><br /><br />';
}
} else {
echo '<b><span style="color:#ff0000">Внимание, данный аккаунт заблокирован!</span></b><br />';
echo 'До окончания бана осталось ' . formattime($user['users_timeban'] - SITETIME) . '<br /><br />';
echo '<img src="../images/img/reload.gif" alt="image" /> <b><a href="zaban.php?act=razban&uz=' . $uz . '&uid=' . $_SESSION['token'] . '&' . SID . '">Разбанить</a></b><hr />';
}
} else {
show_error('Ошибка! У вас недостаточно прав для редактирования этого профиля!');
}
} else {
show_error('Ошибка! Пользователя с данным логином не существует!');
}
echo '<img src="../images/img/back.gif" alt="image" /> <a href="zaban.php?' . SID . '">Вернуться</a><br />';
break;
# ###########################################################################################
# # Бан пользователя ##
# ###########################################################################################
case "zaban":
$uid = check($_GET['uid']);
$uz = check($_GET['uz']);
$bantime = abs(intval($_POST['bantime']));
$bantype = check($_POST['bantype']);
$reasonban = check($_POST['reasonban']);
$note = check($_POST['note']);
if ($uid == $_SESSION['token']) {
$queryuser = DB :: $dbh -> query("SELECT * FROM `users` WHERE `users_login`=? LIMIT 1;", array($uz));
$user = $queryuser -> fetch();
if (!empty($user)) {
if (empty($user['users_ban']) || $user['users_timeban'] < SITETIME) {
if ($user['users_level'] < 101 || $user['users_level'] > 105) {
if ($bantype == 'min') {
$bantotaltime = $bantime;
}
if ($bantype == 'chas') {
$bantotaltime = round($bantime * 60);
}
if ($bantype == 'sut') {
$bantotaltime = round($bantime * 1440);
}
if ($bantotaltime > 0) {
if ($bantotaltime <= $config['maxbantime']) {
if (utf_strlen($reasonban) >= 5 && utf_strlen($reasonban) <= 1000) {
if (utf_strlen($note) <= 1000) {
$note = no_br($note);
$reasonban = no_br($reasonban);
if ($bantotaltime > 720) {
$bancount = 1;
} else {
$bancount = 0;
}
DB :: $dbh -> query("UPDATE `users` SET `users_note`=?, `users_ban`=?, `users_timeban`=?, `users_timelastban`=?, `users_reasonban`=?, `users_loginsendban`=?, `users_totalban`=`users_totalban`+?, `users_explainban`=? WHERE `users_login`=?;", array($note, 1, SITETIME + ($bantotaltime * 60), SITETIME, $reasonban, $log, $bancount, 1, $uz));
echo 'Данные пользователя <b>' . $uz . '</b> успешно изменены!<br />';
echo '<img src="../images/img/open.gif" alt="image" /> <b><span style="color:#ff0000">Аккаунт заблокирован!</span></b><br /><br />';
echo '<a href="zaban.php?' . SID . '">Редактировать нового юзера</a><br /><br />';
} else {
show_error('Ошибка! Слишком большая заметка, не более 1000 символов!');
}
} else {
show_error('Ошибка! Слишком длинная или короткая причина бана!');
}
} else {
show_error('Ошибка! Максимальное время бана ' . round($config['maxbantime'] / 1440) . ' суток!');
}
} else {
show_error('Ошибка! Вы не указали время бана!');
}
} else {
show_error('Ошибка! У вас недостаточно прав для редактирования этого профиля!');
}
} else {
show_error('Ошибка! Данный аккаунт уже заблокирован!');
}
} else {
show_error('Ошибка! Пользователя с данным логином не существует!');
}
} else {
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
}
echo '<img src="../images/img/back.gif" alt="image" /> <a href="zaban.php?act=edit&uz=' . $uz . '&' . SID . '">Вернуться</a><br />';
break;
# ###########################################################################################
# # Разбан пользователя ##
# ###########################################################################################
case "razban":
$uid = check($_GET['uid']);
$uz = check($_GET['uz']);
if ($uid == $_SESSION['token']) {
$queryuser = DB :: $dbh -> query("SELECT * FROM `users` WHERE `users_login`=? LIMIT 1;", array($uz));
$user = $queryuser -> fetch();
if (!empty($user)) {
if ($user['users_ban'] == 1) {
if ($user['users_totalban'] > 0 && $user['users_timeban'] > SITETIME + 43200) {
$bancount = 1;
} else {
$bancount = 0;
}
DB :: $dbh -> query("UPDATE `users` SET `users_ban`=?, `users_timeban`=?, `users_totalban`=`users_totalban`-?, `users_explainban`=? WHERE `users_login`=?;", array(0, 0, $bancount, 0, $uz));
echo 'Данные юзера <b>' . $uz . '</b> успешно изменены!<br />';
echo '<img src="../images/img/open.gif" alt="image" /> <b><span style="color:#00ff00">Аккаунт разблокирован!</span></b><br /><br />';
echo '<a href="zaban.php?' . SID . '">Редактировать нового юзера</a><br /><br />';
} else {
show_error('Ошибка! Данный аккаунт уже разблокирован!');
}
} else {
show_error('Ошибка! Пользователя с данным логином не существует!');
}
} else {
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
}
echo '<img src="../images/img/back.gif" alt="image" /> <a href="zaban.php?act=edit&uz=' . $uz . '&' . SID . '">Вернуться</a><br />';
break;
# ###########################################################################################
# # Удаление пользователя ##
# ###########################################################################################
case "deluser":
$uid = check($_GET['uid']);
$uz = check($_GET['uz']);
if ($uid == $_SESSION['token']) {
$queryuser = DB :: $dbh -> query("SELECT * FROM `users` WHERE `users_login`=? LIMIT 1;", array($uz));
$user = $queryuser -> fetch();
if (!empty($user)) {
if ($user['users_totalban'] >= 5) {
if ($user['users_level'] < 101 || $user['users_level'] > 105) {
$blacklogin = DB :: $dbh -> querySingle("SELECT `black_id` FROM `blacklogin` WHERE lower(`black_login`)=? LIMIT 1;", array(strtolower($user['users_login'])));
if (empty($blacklogin)) {
DB :: $dbh -> query("INSERT INTO `blacklogin` (`black_login`, `black_user`, `black_time`) VALUES (?, ?, ?);", array($user['users_login'], $log, SITETIME));
}
$blackmail = DB :: $dbh -> querySingle("SELECT `black_id` FROM `blackmail` WHERE `black_mail`=? LIMIT 1;", array($user['users_email']));
if (empty($blackmail) && !empty($user['users_email'])) {
DB :: $dbh -> query("INSERT INTO `blackmail` (`black_mail`, `black_user`, `black_time`) VALUES (?, ?, ?);", array($user['users_email'], $log, SITETIME));
}
delete_users($uz);
echo 'Данные занесены в черный список!<br />';
echo '<img src="../images/img/open.gif" alt="image" /> <b>Профиль пользователя успешно удален!</b><br /><br />';
} else {
show_error('Ошибка! У вас недостаточно прав для удаления этого профиля!');
}
} else {
show_error('Ошибка! У пользователя менее 5 нарушений, удаление невозможно!');
}
} else {
show_error('Ошибка! Пользователя с данным логином не существует!');
}
} else {
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
}
echo'<img src="../images/img/back.gif" alt="image" /> <a href="zaban.php?' . SID . '">Вернуться</a><br />';
break;
default:
header("location: zaban.php?" . SID);
exit;
endswitch;
echo '<img src="../images/img/panel.gif" alt="image" /> <a href="index.php?' . SID . '">В админку</a><br />';
echo '<img src="../images/img/homepage.gif" alt="image" /> <a href="../index.php?' . SID . '">На главную</a><br />';
} else {
header ('Location: ' . BASEDIR . 'index.php?' . SID);
exit;
}
include_once ('../themes/' . $config['themes'] . '/foot.php');
?>