<?
include_once '../sys/inc/start.php';
include_once '../sys/inc/compress.php';
include_once '../sys/inc/sess.php';
include_once '../sys/inc/home.php';
include_once '../sys/inc/settings.php';
include_once '../sys/inc/db_connect.php';
include_once '../sys/inc/ipua.php';
include_once '../sys/inc/fnc.php';
include_once '../sys/inc/adm_check.php';
include_once '../sys/inc/user.php';
if (!user_access('user_ban_set') && !user_access('user_ban_set_h') && !user_access('user_ban_unset')){header("Location: /index.php?".SID);exit;}
adm_check();
if (isset($_GET['id']))$ank['id']=intval($_GET['id']);
else {header("Location: /index.php?".SID);exit;}
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `id` = '$ank[id]' LIMIT 1"),0)==0){header("Location: /index.php?".SID);exit;}
$ank=get_user($ank['id']);
if ($user['level']<=$ank['level']){header("Location: /index.php?".SID);exit;}
$set['title']='Бан пользователя '.$ank['nick'];
include_once '../sys/inc/thead.php';
title();
if (isset($_GET['unset']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `ban` WHERE `id_user` = '$ank[id]' AND `id` = '".intval($_GET['unset'])."'"),0) && user_access('user_ban_unset'))
{
$ban_info=mysql_fetch_assoc(mysql_query("SELECT * FROM `ban` WHERE `id_user` = '$ank[id]' AND `id` = '".intval($_GET['unset'])."'"));
$ank2=mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `id` = '$ban_info[id_ban]' LIMIT 1"));
if (($user['level']>$ank2['level'] || $user['id']==$ank2['id']) || $user['level']==4)
{
mysql_query("UPDATE `ban` SET `time` = '$time' WHERE `id` = '".intval($_GET['unset'])."' LIMIT 1");
admin_log('Пользователи','Бан',"Снятие бана пользователя '[url=/amd_panel/ban.php?id=$ank[id]]$ank[nick][/url]'");
msg('Время бана обнулено');
}
else
$err[]='Нет прав';
}
if (isset($_POST['ban_pr']) && isset($_POST['time']) && isset($_POST['vremja']) && (user_access('user_ban_set') || user_access('user_ban_set_h')))
{
$timeban=$time;
if ($_POST['vremja']=='min')$timeban+=intval($_POST['time'])*60;
if ($_POST['vremja']=='chas')$timeban+=intval($_POST['time'])*60*60;
if ($_POST['vremja']=='sut')$timeban+=intval($_POST['time'])*60*60*24;
if ($_POST['vremja']=='mes')$timeban+=intval($_POST['time'])*60*60*24*30;
if ($timeban<$time)$err[]='Ошибка времени бана';
if (!user_access('user_ban_set'))$timeban=min($timeban, $time+3600*24);
$prich=$_POST['ban_pr'];
if (utf8_strlen($prich)>1024){$err[]='Сообщение слишком длинное';}
if (utf8_strlen($prich)<10){$err[]='Необходимо подробнее указать причину';}
$prich=my_esc($prich);
if (!isset($err)){
mysql_query("INSERT INTO `ban` (`id_user`, `id_ban`, `prich`, `time`) VALUES ('$ank[id]', '$user[id]', '$prich', '$timeban')");
admin_log('Пользователи','Бан',"Бан пользователя '[url=/adm_panel/ban.php?id=$ank[id]]$ank[nick][/url]' до ".vremja($timeban)." по причине '$prich'");
msg('Пользователь успешно забанен');
}
}
err();
if (!user_access('user_ban_set') && !user_access('user_ban_set_h'))msg('Недостаточно прав для бана пользователя');
aut();
$k_post=mysql_result(mysql_query("SELECT COUNT(*) FROM `ban` WHERE `id_user` = '$ank[id]'"),0);
$k_page=k_page($k_post,$set['p_str']);
$page=page($k_page);
$start=$set['p_str']*$page-$set['p_str'];
$listing = new Smarty_conf();
$posts=array();
$q=mysql_query("SELECT * FROM `ban` WHERE `id_user` = '$ank[id]' ORDER BY `time` DESC LIMIT $start, $set[p_str]");
while ($post = mysql_fetch_assoc($q))
{
$ank2=get_user($post['id_ban']);
$posts[]=array('icon'=> array('size'=>'small','src'=> ICONS_USER.'pol_'.$ank2['pol'].'.png'),
'title'=> "<a href='/info.php?id=$ank2[id]'>$ank2[nick]</a>".online($ank2['id']).($post['time']>$time?" до ".vremja($post['time']):' (время бана истекло)'),
'post' => output_text($post['prich']),
'delete' => ($post['time']>$time && user_access('user_ban_unset'))?"?id=$ank[id]&unset=$post[id]":false);
}
if (!$posts)$posts[]=array('title' => 'Нарушения отсутствуют');
$listing->assign('post',$posts);
$listing->display('body.conlentlist.tpl');
if ($k_page>1)str('?id='.$ank['id'].'&',$k_page,$page); // Вывод страниц
if (user_access('user_ban_set') || user_access('user_ban_set_h'))
{
$smarty = new Smarty_conf();
$smarty->assign('form_title','Бан пользователя');
$smarty->assign('method','POST');
$smarty->assign('action',"ban.php?id=$ank[id]&$passgen");
$elements=array();
$elements[]=array('type'=>'textarea', 'title'=>'Причина бана', 'br'=>1, 'info'=>array('name' => 'ban_pr'));
$elements[]=array('type'=>'input_text', 'title'=>'Время бана '.(user_access('user_ban_set')?null:'(max 1 сутки)'), 'br'=>0, 'info'=>array('size'=>3, 'value'=>10, 'name' => 'time'));
$options=array();
$options[]=array('min','Минуты');
$options[]=array('chas','Часы',count($posts)>1);
$options[]=array('sut','Сутки');
$options[]=array('mes','Месяцы');
$elements[]=array('type'=>'select', 'br'=>1, 'info'=>array('name' => 'vremja','options' => $options));
$elements[]=array('type'=>'submit', 'br'=>0, 'info'=>array('value'=>'Забанить')); // кнопка
$smarty->assign('el',$elements);
$smarty->display('input.form.tpl');
}
$smarty = new Smarty_conf();
$menu=array();
$menu[]=array("/mail.php?id=$ank[id]",'Написать сообщение');
$menu[]=array("/info.php?id=$ank[id]",'В анкету');
$smarty->assign('menu',$menu);
$smarty->assign('menu_title','Навигация');
$smarty->display('links.links.tpl');
$smarty = new Smarty_conf();
$smarty->assign('menu_title','Навигация');
$menu=array();
$menu[]=array('.','Админка');
$smarty->assign('menu',$menu);
$smarty->display('links.path.tpl');
include_once '../sys/inc/tfoot.php';
?>