View file ä󿪫¬/modules/groups/banned.php

File size: 6.29Kb
<?
foreach (array('start', 'compress', 'sess', 'settings', 'db_connect', 'ipua', 'fnc', 'user') as $inc) {
    require_once "../../sys/inc/$inc.php";
}

if(isset($_GET['id']) && $pdo->query(("SELECT COUNT(*) FROM `soo` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"),0)->fetchColumn()==1)
{
    
$s=intval($_GET['id']);
$soo = $pdo->query(("SELECT * FROM `soo` WHERE `id` = '$s' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
$set['title']='Забаненные'; // заголовок страницы
include_once '../../sys/inc/thead.php';

$soo = $pdo->query(("SELECT * FROM `soo` WHERE `id` = '$s' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);

#Навигация
echo "<div class='card-header'>";
echo "<a href='/' data-toggle='tooltip' data-placement='right' title='" . lang('На главную') . "'><i class='fa fa-home fa-lg'></i></a> <i class='fa fa-angle-right fa-fw'></i> ";
echo "<a href='/modules/groups/group.php?id=$soo[id]'>$soo[name]</a> <i class='fa fa-angle-right fa-fw'></i> ";
echo lang('Забаненные');
echo "</div>";

echo "<div style='padding: 4px; background-color: white;'>";
echo "<table style='width: 100%; text-align: center;'><tr>
<td class='fn-lefti-o'><a style='display: block;padding: 10px;' href='/modules/groups/banned.php?id=".$soo['id']."'><font color=#587C94><b>ЗАБАНЕННЫЕ</b></font></a></td>
<td class='fn-righti'><a style='display: block;padding: 10px;' href='/modules/groups/admin.php?id=".$soo['id']."&bl'><b><font color=#587C94>ЧЕРНЫЙ СПИСОК</font></b></a></td></tr></table></div>";


$soo = $pdo->query(("SELECT * FROM `soo` WHERE `id` = '$s' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);

if(isset($user) && ($user['id']==$soo['admid'] || $pdo->query(("SELECT COUNT(*) FROM `soo_users` WHERE `id_soo` = '$soo[id]' AND `id_user`='$user[id]' AND `mod`='1' LIMIT 1"),0)->fetchColumn()==1))
{
    
    
if(isset($_GET['ban']) && $pdo->query(("SELECT COUNT(*) FROM `soo_users` WHERE `id_user` = '".intval($_GET['ban'])."' AND `activate`='0' AND `invit`='0' LIMIT 1"),0)->fetchColumn()==1 && $_GET['ban']!=$user['id'])
{
if(isset($_POST['ban_time']) && is_numeric($_POST['ban_time']) && isset($_POST['ban_type']) && ($_POST['ban_type']==0 || $_POST['ban_type']==1) && isset($_POST['prich']) && $_POST['prich']!=NULL)
{
$ban_time = intval($_POST['ban_time']);
$ban_type = intval($_POST['ban_type']);
if($ban_type==0)$time_ban=$time+60*60*$ban_time; else $time_ban=$time+60*60*24*$ban_time;
$prich = htmlspecialchars($_POST['prich']);

$mat=antimat($prich);
if ($mat)$err[]='В тексте причины обнаружен мат: '.$mat;

if (utf8_strlen($prich)>1024){$err[]='Причина слишком длинная';}
elseif (utf8_strlen($prich)<2){$err[]='Короткая причина';}
if(!isset($err))
{
$pdo->query("UPDATE `soo_users` SET `ban`='$time_ban' WHERE `id_user`='".intval($_GET['ban'])."' AND `id_soo`='$soo[id]' LIMIT 1");
$pdo->query("UPDATE `soo_users` SET `prich`='".htmlspecialchars($prich)."' WHERE `id_user`='".intval($_GET['ban'])."' AND `id_soo`='$soo[id]' LIMIT 1");
msg('Пользователь успешно забанен');
}
}
else
{
$ban=intval($_GET['ban']);
$us=get_user($ban);
echo'<div class="list-group-item"><b>Забанить пользователя '.$us['nick'].'</b><br/>';
echo'<form method="post" action="?id='.$soo['id'].'&ban='.$ban.'">';
echo'<br><b>На срок</b><br/>';
echo'<input class="form-control" style="width: 50%;" type="text" name="ban_time" size="3"><br>';
echo'<select class="form-control" style="width: 50%;" name="ban_type">';
echo'<option value="1">Дней</option>';
echo'<option value="0">Часов</option>';
echo'</select><br/>';
echo'<b>Причина (обязательно)</b><br/>';
echo'<textarea class="form-control" name="prich"></textarea><br/>';
echo'<input class="knopka" type="submit" value="Забанить"></form><br/></div>';
}
}
err();



if(isset($_GET['del']) && $user['id']==$soo['admid'] && $pdo->query(("SELECT COUNT(*) FROM `soo_users` WHERE `id_user` = '".intval($_GET['del'])."' AND `activate`='0' AND `invit`='0' AND `ban`>'$time' LIMIT 1"),0)->fetchColumn()==1)
{
$pdo->query("UPDATE `soo_users` SET `ban`='$time' WHERE `id_user`='".intval($_GET['del'])."' AND `id_soo`='$soo[id]' LIMIT 1");
$pdo->query("UPDATE `soo_users` SET `prich`='' WHERE `id_user`='".intval($_GET['del'])."' AND `id_soo`='$soo[id]' LIMIT 1");
msg('Участник успешно разбанен');
}
}
if(isset($user) && $pdo->query(("SELECT COUNT(*) FROM `soo_users` WHERE `id_user` = '$user[id]' AND `activate`='0' AND `invit`='0' AND `ban`>'$time' LIMIT 1"),0)->fetchColumn()==1)
{
$us_ban = $pdo->query(("SELECT * FROM `soo_users` WHERE `id_soo` = '$soo[id]' AND `id_user`='$user[id]' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);

echo '<div class="list-group-item"><div class="err"><b>Вы на время забанены в данной группе</b><br><br>';

echo 'Причина: '.output_text($us_ban['prich']).'<br/>';
echo 'До снятия бана осталось: '.date::time($us_ban['ban']).'<br/>';
echo'</div></div>';

}
else
{
$k_post = $pdo->query(("SELECT COUNT(*) FROM `soo_users` WHERE `id_soo`='$soo[id]' AND `activate`='0' AND `invit`='0' AND `ban`>'$time'"),0)->fetchColumn();
$k_page=k_page($k_post,$set['p_str']);
$page=page($k_page);
$start=$set['p_str']*$page-$set['p_str'];


if ($k_post==0)
{
$doc->NoResult();
}

$q = $pdo->query("SELECT * FROM `soo_users` WHERE `id_soo`='$soo[id]' AND `activate`='0' AND `invit`='0' AND `ban`>'$time' ORDER BY `ban` DESC LIMIT $start, $set[p_str]");
while ($ank = $q->fetch(PDO::FETCH_ASSOC))
{
$us=get_user($ank['id_user']);
echo '<div class="list-group-item">';
echo user($us['id']);
echo '<br><font color="gray">До снятия бана осталось: '.date::time($ank['ban']).'</font><br/>';
echo '<font color="gray">Причина:</font> '.output_text($ank['prich']).'';
if(isset($user) && $user['id']==$soo['admid'])echo'</br/><a href="?id='.$soo['id'].'&del='.$us['id'].'">Разбанить</a>';

echo '</div>';
}

if ($k_page>1)str("?id=$soo[id]&",$k_page,$page); // Вывод страниц
}

}
else
{
$set['title']='Ошибка 404'; // заголовок страницы
include_once '../../sys/inc/thead.php';    
    
err404();
}
include_once '../../sys/inc/tfoot.php';
?>