Вход Регистрация
Файл: modules/dpanel/ban.php
Строк: 333
<?php
/****
* @package LiveCMS
* @link livecms.org
* @author MyZik
* @version See attached file VERSION.txt
* @license See attached file LICENSE.txt
* @copyright Copyright (C) LiveCMS Development Team
****/

ob_start();
$lang_dpanel load_lng('direct_panel'); // Подключаем файл языка
$title $lang_dpanel['ban_system']; // Заголовок страницы
$module 'dpanel'// Модуль

  /**
    * Проверка прав доступа
  **/
  
if (!isset($user) || $user['rights'] < 1) {
    require_once(
HOME .'/incfiles/header.php');
    echo 
'<div class="error">' $lang['error_rights'] . '</div>';
    echo 
'<div class="home">' .
    
'<img src="/design/themes/' $set_user['theme'] . '/images/back.png" alt="" /> <a href="/index.php">' $lang['back'] . '</a>' .
    
'</div>';
    require_once(
HOME .'/incfiles/footer.php');
      }

  
/**
    * Проверяем, задан ли параметр
  **/
  
if (!isset($_GET['id']) || empty($_GET['id']) || !is_numeric($_GET['id'])) {
    require_once(
HOME .'/incfiles/header.php');
    echo 
'<div class="error">' $lang['error_parameter'] . '</div>';
    echo 
'<div class="home">' .
    
'<img src="/design/themes/' $set_user['theme'] . '/images/back.png" alt="" /> <a href="/index.php">' $lang['back'] . '</a>' .
    
'</div>';
    require_once(
HOME .'/incfiles/footer.php');
      }

  
/**
    * Проверяем существование юзера
  **/
  
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `id` = '" num($_GET['id']) . "'"), 0) == 0) {
    require_once(
HOME .'/incfiles/header.php');
    echo 
'<div class="error">' $lang_dpanel['user_not_exists'] . '</div>';
    echo 
'<div class="home">' .
    
'<img src="/design/themes/' $set_user['theme'] . '/images/back.png" alt="" /> <a href="index.php">' $lang['back'] . '</a>' .
    
'</div>';
    require_once(
HOME .'/incfiles/footer.php');
      }

  
$ID num($_GET['id']);
  
$profile mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '$ID' LIMIT 1"));
  
$ban mysql_fetch_assoc(mysql_query("SELECT * FROM `cms_banned_users` WHERE `user_id` = '$ID' LIMIT 1"));

  if (isset(
$_GET['ban'])) {
    
/**
      * Баним пользователя
    **/
    
require_once(HOME .'/incfiles/header.php'); // подключаем шапку
    /**
      * Если пользователь уже забанен, выводим уведомление
    **/
    
if ($ban['ban_time'] > time()) {
      echo 
'<div class="error">' $lang_dpanel['user_banned_already'] . '</div>';
      echo 
'<div class="home">' .
      
'<img src="/design/themes/' $set_user['theme'] . '/images/back.png" alt="" /> <a href="ban.php?id=' $ID '">' $lang['back'] . '</a>' .
      
'</div>';
      require_once(
HOME .'/incfiles/footer.php');
    }

   
/**
     * Небольшая панель навигации
   **/
   
echo '<div class="title"><a href="/dpanel/">' $lang['direct_panel'] . '</a> | <a href="ban.php?id=' $ID '">' $lang_dpanel['bans'] . ' "' $profile['login'] . '"</a> | <b>' $lang_dpanel['ban_add'] . '</b></div>';

    if (isset(
$_POST['ban'])) {
      
/**
        * Проверяем формат времени
      **/
      
if (empty($_POST['ban_time']) || !is_numeric($_POST['ban_time']))
        
$err[] = $lang_dpanel['error_time_formate'];

      
/**
        * Если баним на минуты, то не больше 59
      **/
      
if ($_POST['time_type'] == 'minutes' && num($_POST['ban_time']) > 59)
        
$err[] = $lang_dpanel['only_59_minutes'];

      
/**
        * Если баним на часы, то не больше 24
      **/
      
if ($_POST['time_type'] == 'hours' && num($_POST['ban_time']) > 24)
        
$err[] = $lang_dpanel['only_24_hours'];

      
/**
        * Если баним на дни, то не больше 31
      **/
      
if ($_POST['time_type'] == 'days' && num($_POST['ban_time']) > 31)
        
$err[] = $lang_dpanel['only_31_days'];

      
/**
       * Если баним на месяцы, то не больше 12
      **/
      
if ($_POST['time_type'] == 'months' && num($_POST['ban_time']) > 12)
        
$err[] = $lang_dpanel['only_12_months'];

      
$description input($_POST['description']); // описание (причина) бана
      
$time_type input($_POST['time_type']); // дата бана (минуты, часы, дни или месяцы)
      
$time_value intval($_POST['ban_time']);

      
/**
        * Если причина не указана, записываем
      **/
      
if (empty($_POST['description']))
        
$description $lang_dpanel['empty_description'];

      if (
$_POST['time_type'] == 'minutes'$time $time_value 60;
      if (
$time_type == 'hours'$time $time_value 60 60;
      if (
$time_type == 'days'$time $time_value 60 60 24;
      if (
$time_type == 'months'$time $time_value 60 60 24 30;

      
/**
        * Если нет ошибок, заносим данные
      **/
      
if (!isset($err)) {
        
mysql_query("INSERT INTO `cms_banned_users` (`user_id`, `admin_id`, `ban_time`, `time`, `description`) VALUES ('$ID', '" $user['id'] . "', '" . (time() + $time) . "', '" time() . "', '$description')");
        
/**
          * Оповещение в журнал
        **/
        
$message $lang['journal_you_banned'] . ': [u]' $description '[/u]';
        
journal_add($ID$message);
        
header("Location: ban.php?id=$ID");
      } else {
        echo 
error($err); // показываем ошибки
    
}
  }

    
/**
      * Форма
    **/
    
echo '<div class="main"><form method="post" action="ban.php?id=' $ID '&amp;ban">' .
    
'<b>' $lang_dpanel['ban_time'] . '</b><br />' .
    
'<input type="text" name="ban_time" size="3" value="12" maxlength="2" /><br/>' .
    
'<input name="time_type" type="radio" value="minutes" /> ' $lang_dpanel['minutes'] . '<br />' .
    
'<input name="time_type" type="radio" value="hours" checked="checked" /> ' $lang_dpanel['hours'] . '<br />' .
    
'<input name="time_type" type="radio" value="days" /> ' $lang_dpanel['days'] . '<br />';
    if (
$user['rights'] > 7)
       echo 
'<input name="time_type" type="radio" value="months" /> ' $lang_dpanel['months'] . '<br />';
    echo 
'<b>' $lang['ban_while'] . '</b><br />' .
    
'<textarea name="description"></textarea><br />' .
    
'<input type="submit" name="ban" value="' $lang_dpanel['bann'] . '" />' .
    
'</form></div>';
    require_once(
HOME .'/incfiles/footer.php'); // подключаем ноги
  
}
  elseif (isset(
$_GET['delete']) && is_numeric($_GET['delete'])) {
    
/**
      * Удаление бана
    **/
    
require_once(HOME .'/incfiles/header.php'); // подключаем шапку
    
$ban_2 mysql_fetch_assoc(mysql_query("SELECT * FROM `cms_banned_users` WHERE `id` = '" num($_GET['delete']) . "'"));

    
/**
      * Проверяем права доступа
    **/
    
if ($user['rights'] < 8) {
      echo 
'<div class="error">' $lang['error_rights'] . '</div>';
      echo 
'<div class="home">' .
      
'<img src="/design/themes/' $set_user['theme'] . '/images/back.png" alt="" /> <a href="ban.php?id=' $ID '">' $lang['back'] . '</a>' .
      
'</div>';
      require_once(
HOME .'/incfiles/footer.php');
    }
    
    if (!isset(
$_GET['yes'])) {
      
/**
        * Небольшая панель навигации
      **/
      
echo '<div class="title"><a href="/dpanel/">' $lang['direct_panel'] . '</a> | <a href="ban.php?id=' $ID '">' $lang_dpanel['bans'] . ' "' $profile['login'] . '"</a> | <b>' $lang_dpanel['ban_delete'] . '</b></div>';

      echo 
'<div class="error">' .
      
$lang_dpanel['ban_delete_info'] . '<br />' .
      
'<a href="ban.php?id=' $ID '&amp;delete=' num($_GET['delete']) . '&amp;yes"><input type="button" name="" value="' $lang['delete'] . '" /></a> | <a href="ban.php?id=' $ID '">' $lang['cancel'] . '</a>' .
      
'</div>';
     } else {
      
mysql_query("DELETE FROM `cms_banned_users` WHERE `id` = '" num($_GET['delete']) . "' LIMIT 1");
      
header("Location: ban.php?id=$ID");
     }
      require_once(
HOME .'/incfiles/footer.php'); // Подключаем ноги
   
}
  elseif (isset(
$_GET['disable']) && is_numeric($_GET['disable'])) {
    
/**
      * Снятие бана
    **/
    
require_once(HOME .'/incfiles/header.php'); // подключаем шапку
    
$ban_2 mysql_fetch_assoc(mysql_query("SELECT * FROM `cms_banned_users` WHERE `id` = '" num($_GET['disable']) . "'"));

    
/**
      * Проверяем права доступа
    **/
    
if ($user['rights'] < 7) {
      echo 
'<div class="error">' $lang['error_rights'] . '</div>';
      echo 
'<div class="home">' .
      
'<img src="/design/themes/' $set_user['theme'] . '/images/back.png" alt="" /> <a href="ban.php?id=' $ID '">' $lang['back'] . '</a>' .
      
'</div>';
      require_once(
HOME .'/incfiles/footer.php');
    }

    
/**
      * Если снимаем не активный бан, выводим уведомление
    **/
    
if ($ban_2['ban_time'] <= time()) {
      echo 
'<div class="error">' $lang_dpanel['ban_disabled_already'] . '</div>';
      echo 
'<div class="home">' .
      
'<img src="/design/themes/' $set_user['theme'] . '/images/back.png" alt="" /> <a href="ban.php?id=' $ID '">' $lang['back'] . '</a>' .
      
'</div>';
      require_once(
HOME .'/incfiles/footer.php');
    }
    
    if (!isset(
$_GET['yes'])) {
      
/**
        * Небольшая панель навигации
      **/
      
echo '<div class="title"><a href="/dpanel/">' $lang['direct_panel'] . '</a> | <a href="ban.php?id=' $ID '">' $lang_dpanel['bans'] . ' "' $profile['login'] . '"</a> | <b>' $lang_dpanel['ban_disable'] . '</b></div>';

      echo 
'<div class="error">' .
      
$lang_dpanel['ban_disable_info'] . '<br />' .
      
'<a href="ban.php?id=' $ID '&amp;disable=' num($_GET['disable']) . '&amp;yes"><input type="button" name="" value="' $lang_dpanel['disable_ban'] . '" /></a> | <a href="ban.php?id=' $ID '">' $lang['cancel'] . '</a>' .
      
'</div>';
     } else {
      
mysql_query("UPDATE `cms_banned_users` SET `ban_time` = '" time() . "' WHERE `id` = '" num($_GET['disable']) . "' LIMIT 1");
      
header("Location: ban.php?id=$ID");
     }
      require_once(
HOME .'/incfiles/footer.php'); // Подключаем ноги
   
} else {
    
/**
      * Показываем список банов
    **/
    
require_once(HOME .'/incfiles/header.php'); // подключаем шапку
    /**
      * Небольшая панель навигации
    **/
    
echo '<div class="title"><a href="/dpanel/">' $lang['direct_panel'] . '</a> | <b>' $lang_dpanel['bans'] . ' "' $profile['login'] . '"</b></div>';

    
/**
      * Админские функции
    **/
    
echo '<div class="main"><img src="/design/themes/' $set_user['theme'] . '/images/act.png" alt=">" /> <a href="ban.php?id=' $ID '&amp;ban">' $lang_dpanel['ban_add'] . '</a></div>';

    
/**
      * Настраиваем пагинацию
    **/
    
$total mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_banned_users` WHERE `user_id` = '$ID'"), 0);
    
$req mysql_query("SELECT * FROM `cms_banned_users` WHERE `user_id` = '$ID' ORDER BY `time` DESC LIMIT $start$countMess");

    
/**
      * Если нет результатов, выводим уведомление
    **/
    
if ($total 1) {
      echo 
'<div class="error">' $lang_dpanel['user_no_bans'] . '</div>';
      }

    while (
$res mysql_fetch_assoc($req)) {
      echo (
$i 2) ? '<div class="list1">' '<div class="list2">';
      echo 
$lang['ban_while'] . ': <b>' output(txt($res['description'])) . '</b><br />' .
      
$lang['ban_date'] . ': ' display_time($res['time']) . '<br />' .
      
$lang['ban_end'] . ': ' display_time($res['ban_time']) . '<br />' .
      
$lang['ban_by'] . ': '; echo _display_user($res['admin_id']);
     if (
$user['rights'] > 7) {
     echo 
'<br />[';
     if (
$user['rights'] > && $res['ban_time'] > time()) {
     echo 
'<a href="ban.php?id=' $ID '&amp;disable=' $res['id'] . '">' $lang_dpanel['disable_ban'] . '</a>';
   }
     if (
$user['rights'] > 8) {
     if (
$res['ban_time'] > time())
     echo 
' | ';
     echo 
'<a href="ban.php?id=' $ID '&amp;delete=' $res['id'] . '">' $lang['delete'] . '</a>';
    }
     echo 
']';
   }
     echo 
'</div>';
      
$i++;
     } 

    
/**
      * Пагинация
    **/
    
if ($total $countMess) {
      echo 
'<div class="home">' display_pagination('ban.php?id=' $ID$start$total$countMess) . '</div>';
    }

    require_once(
HOME .'/incfiles/footer.php'); // Подключаем ноги
  
}

ob_end_flush();
?>
Онлайн: 2
Реклама