Вход Регистрация
Файл: public_html/mpanel/zaban.php
Строк: 221
<?php
#-----------------------------------------------------#
#          ********* ROTORCMS *********               #
#              Made by  :  VANTUZ                     #
#               E-mail  :  visavi.net@mail.ru         #
#                 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(101102103))) {
  
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&amp;' 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'] . '&amp;' 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&amp;uz=' $uz '&amp;uid=' $_SESSION['token'] . '&amp;' 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 />'"rn"$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&amp;uz=' $uz '&amp;uid=' $_SESSION['token'] . '&amp;' 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&amp;uz=' $uz '&amp;uid=' $_SESSION['token'] . '&amp;' 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) >= && 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($note1SITETIME + ($bantotaltime 60), SITETIME$reasonban$log$bancount1$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&amp;uz=' $uz '&amp;' 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'] > && $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(00$bancount0$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&amp;uz=' $uz '&amp;' 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'], $logSITETIME));
            } 

            
$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'], $logSITETIME));
            } 

            
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');

?>
Онлайн: 1
Реклама