Файл: 3020.ru/file_3020/plugins/user.ban.php
Строк: 139
<?
if (isset($ID) && $level > 1) {
$ank = $sql -> fetch("SELECT * FROM `users` WHERE `id` = '$ID' LIMIT 1");
}
if (!isset($ank['id'])) {
$ank = $user;
}
if (!isset($ank['id'])) {
die('Ошибка: Такого пользователя не существует');
}
$ban = $sql -> fetch("SELECT * FROM `ban` WHERE `id_ban` = '".$ank['id']."' ORDER BY `time` DESC LIMIT 1");
if (isset($_GET['delete'])) {
$delete = (int) $_GET['delete'];
$delete = $sql -> fetch("SELECT * FROM `ban` WHERE `id` = '$delete' LIMIT 1");
$delete_ank = $sql -> fetch("SELECT * FROM `users` WHERE `id` = '".$delete['id_user']."' LIMIT 1");
if ($delete['id'] && ($level > $delete_ank['level'] || $user['id'] == $delete_ank['id'])) {
if ($user['id'] != $delete['id_user']) {
admin_log($user['id'], 'Пользователи|Снятие бана', 'Снятие бана с пользователя [url=?func=user.profile&id=' . $delete['id_ban'] . ']' . login($delete['id_ban']) . '[/url], кот орого забанил [url=?func=user.profile&id=' . $delete['id_user'] . ']' . login($delete['id_user']) . '[/url].rПричина бана была: [red]"' . $delete['msg'] . '"[/red]');
}
$sql -> delete("DELETE FROM `ban` WHERE `id` = '".$delete['id']."' LIMIT 1");
$messages[] = 'Бан успешно снят';
}
}
if (isset($_POST['msg'])) {
if (isset($ban['id']) && $ban['time'] > time()) {
$err[] = 'Пользователь уже заблокирован';
}
$ban['time'] = time() + ((int) $_POST['count'] * (int) $_POST['time']);
$ban['view'] = (int) $_POST['view'];
$ban['msg'] = $sql->esc($_POST['msg']);
if (strlen2($ban['msg']) > 1024) {
$err[] = 'Причина слишком длинная';
} elseif (strlen2($ban['msg']) < 2) {
$err[] = 'Причина слишком короткая';
}
if (!isset($err)) {
admin_log($user['id'], 'Пользователи|Бан пользователя', "Бан пользователя [url=?func=user.profile&id=" . $ank['id'] . "]" . login($ank['id'], 0) . "[/url]rПричина: [red]" . $ban['msg'] . "[/red]rДо " . vremja($ban['time']) . "");
$sql -> insert("INSERT INTO `ban` (`time`, `id_ban`, `id_user`, `view`, `msg`) VALUES ('$ban[time]', '$ank[id]', '$user[id]', '$ban[view]', '$ban[msg]')");
$messages[] = 'Пользователь успешно заблокирован';
}
}
$system['title'] = 'Бан ' . ($ank['id'] != $user['id'] ? login($ank['id'], 0) : '');
require SYS . 'header.php';
if ($level > $ank['level'] && $user['id'] != $ank['id']) {
?>
<div class="nav2">
<form class="form-horizontal" action="?func=<?= $func?>&id=<?= $ank['id']?>" method="POST" style="margin: 2px;">
<div class="control-group">
<label class="control-label" for="msg">Причина бана</label>
<div class="controls">
<? if (is_file(THEME . 'php/form.textarea.php')) {
require THEME . 'php/form.textarea.php';
} else {
?><textarea style="width: 75%;" name="msg" id="msg" placeholder="Cообщение..."></textarea><br /><?
}
?>
</div>
</div>
<div class="control-group">
<label class="control-label" for="count">Колличество</label>
<div class="controls">
<input type="text" id="count" class="span2" name="count" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="time">Время</label>
<div class="controls">
<select name="time" id="time" class="span2" style="width: auto;">
<option value='<?= (60 * 60)?>' >Часов</option>
<option value='<?= (60 * 60 * 24)?>' >Суток</option>
<option value='<?= (60 * 60 * 24 * 7)?>' >Недель</option>
<option value='<?= (60 * 60 * 24 * 31)?>' >Месяцев</option>
<option value='<?= (60 * 60 * 24 * 365 * 365)?>' >Навсегда</option>
</select>
</div>
</div>
<div class="control-group">
<label class="control-label" for="view">Обжалование</label>
<div class="controls">
<label><input type="radio" name="view" value="1" <?= ($ban['view'] == 1 ? 'checked' : '')?> /> разрешить</label>
<label><input type="radio" name="view" value="0" <?= ($ban['view'] == 0 ? 'checked' : '')?> /> запретить</label>
</div>
</div>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn">Заблокировать</button>
</div>
</div>
</form>
</div>
<?
}
$k_post = $sql -> selectCount("SELECT COUNT(*) FROM `ban` WHERE `id_ban` = '$ank[id]'");
if ($k_post == 0) {
?>
<div class="alert" style="margin: 2px;">Список нарушений пуст</div>
<?
} else {
$k_page = k_page($k_post, $system['page_str']);
$page = page($k_page);
$start = $system['page_str'] * $page - $system['page_str'];
$array = $sql -> select("SELECT * FROM `ban` WHERE `id_ban` = '$ank[id]' ORDER BY `time` DESC LIMIT $start, $system[page_str]");
foreach ($array AS $post) {
$num++;
?>
<div class="<?= ($num % 2 ? "nav1" : "nav2")?>">
<? if ($level > $ank['level']) { ?>
<a href="?func=<?= $func?>&id=<?= $ank['id']?>&delete=<?= $post['id']?>&page=<?= $page?>" class="close">×</a>
<? } ?>
Заблокировал <?= login($post['id_user'], 1)?> до <?= vremja($post['time'])?><br />
Причина: <?= text_out($post['msg'])?><br />
Обжалование: <?= ($post['view'] == 1 ? '<span class="on">Разрешено</span>' : '<span class="off">Запрещено</span>')?>
<? if ($post['time'] > time() && $user['id'] == $ank['id'] && $post['view'] == 1) { ?>
| <a href="?func=user.mail&id=<?= $post['id_user']?>"><i class="icon-envelope"></i> Обжаловать</a>
<? } ?><br />
Статус: <?= ($post['time'] > time() ? '<span class="on"><b>Активен</b></span>' : '<span class="off">Cрок истек</span>')?><br />
</div>
<?
}
if ($k_page > 1) {
str('?func=' . $func . '&id=' . $ank['id'] . '&', $k_page, $page);
}
}
?>
<? if ($user['id'] != $ank['id']) { ?>
<div class="foot">
« <a href="?func=user.profile&id=<?= $ID?>">На страницу пользователя</a>
</div>
<? } ?>