Файл: plugins/chat.php
Строк: 115
<?
if (isset($_GET['delete'])) {
$delete = (int) $_GET['delete'];
$delete = $sql -> fetch("SELECT * FROM `chat` WHERE `id` = '$delete' LIMIT 1");
if ($delete['id'] && $level > 1) {
if ($user['id'] != $delete['id_user']) {
admin_log($user['id'], 'Чат|Удаление сообщения', 'Удаление сообщения [red]"' . $delete['msg'] . '"[/red] пользователя [url=?func=user.profile&id=' . $delete['id_user'] . ']' . login($delete['id_user']) . '[/url]');
}
$sql -> delete("DELETE FROM `chat` WHERE `id` = '$delete[id]' LIMIT 1");
$messages[] = 'Сообщение успешно удалено';
}
}
if (isset($_POST['msg']) && $level > 0) {
$cit = 0;
$msg = $sql->esc($_POST['msg']);
/// Если нет покупок то проверяем заполнен ли вмид и если нет не даём писать
$pokupka = $sql -> selectCount("SELECT COUNT(*) FROM `shop_pays` WHERE `id_user` = '".$user['id']."' AND `pays` = '1'");
if ($pokupka == 0) {
//if ($user['wmid']==0)$err[] = 'Не заполнены реквизиты в анкете !'; /// by_Mstivoj
}
if (strlen2($msg) > 20000) {
$err[] = 'Сообщение слишком длинное';
} elseif (strlen2($msg) < 2) {
$err[] = 'Сообщение слишком короткое';
}
if (!isset($err)) {
if (isset($_POST['reply'])) {
$reply = (int) $_POST['reply'];
journal($reply, 'comment', "Пользователь [b]$user[login] [/b], ответил".($user['pol']==0?'a':null)." вам в [url=/index.php?func=chat]Чате[/url]");
}
if (isset($_POST['cit'])) {
$cit = (int) $_POST['cit'];
$citata = $sql -> fetch("SELECT * FROM `chat` WHERE `id` = '$cit' LIMIT 1");
if ($citata['id']) {
journal($citata['id_user'], 'comment', "Пользователь [b]$user[login] [/b], процитировал".($user['pol']==0?'a':null)." ваш пост в [url=/index.php?func=chat]Чате[/url]nr[red]$citata[msg] [/red]");
} else {
$cit = 0;
}
}
$sql -> insert("INSERT INTO `chat` (`id_user`, `id_cit`, `time`, `msg`) VALUES ('" . $user['id'] . "', '" . $cit . "', '$time', '$msg')");
$_SESSION['message'] = 'Сообщение успешно отправлено';
header('Location: ?func=' . $func . '&sid=' . mt_rand(000, 999));
exit;
}
}
if (isset($_GET['reply'])) {
$insert = login($_GET['reply'], 0) . ', ';
}
$system['title'] = 'Гостевая';
require SYS . 'header.php';
if (isset($_GET['truncate']) && $level > 2) {
if (isset($_GET['ok']) && $level > 2) {
$ch=intval($_POST['ch']);
$mn=intval($_POST['mn']);
$nt=$ch*$mn*3600;
$nt=$time-$nt;
$sql -> delete("DELETE FROM `chat` WHERE `time` < '$nt' LIMIT 1");
admin_log($user['id'], 'Чат|Очистка чата', 'Очистка чата от сообщений');
$_SESSION['message'] = 'Чат очищен от сообщений';
header('Location: ?func=' . $func);
exit;
}
else
{
echo "<div class='nav2'>";
echo "<br/><font color='green'>удалить переписку написанную более ... тому назад:</font><br/>
<form method='post' action='?func=$func&truncate&ok'>";
echo'<input type="text" name="ch" size="3" value="1" />';
echo'<select name="mn">';
echo'<option value="1" selected="selected">Часов</option>';
echo'<option value="24">Дней</option>';
echo'<option value="168">Недель</option>';
echo'<option value="744">Месяцев</option>';
echo'</select>';
echo'<br /><input value="Очистить" type="submit" /></form>';
echo "</div>";
echo '<div class="foot">';
echo '« <a href="?func=chat">назад</a>';
echo '</div>';
require '_system/end.php';
}
exit;
}
if ($level > 0) {
?>
<form class="form_t" action="?func=<?= $func?>&sid=<?= mt_rand(000, 999)?>" method="POST" style="margin: 2px;" enctype="multipart/form-data">
<?= (isset($_GET['cit']) ? '<b># Цитата поста №' . (int) $_GET['cit'] . '</b><br />' : '')?>
<? 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ообщение..."><?= $insert?></textarea><br /><?
}
?>
<?= (isset($_GET['reply']) ? '<input type="hidden" name="reply" value="' . (int) $_GET['reply'] . '" />' : '')?>
<?= (isset($_GET['cit']) ? '<input type="hidden" name="cit" value="' . (int) $_GET['cit'] . '" />' : '')?>
<button type="submit" class="btn">Отправить</button> <a href="?func=<?= $func?>" class="btn">Обновить</a>
</form>
<?
}
$k_post = $sql -> selectCount("SELECT COUNT(*) FROM `chat`");
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 `chat` ORDER BY `time` DESC LIMIT $start, $system[page_str]");
foreach ($array AS $post) {
$num++;
?>
<div class="<?= ($num % 2 ? "nav1" : "nav2")?>">
<? if ($level > 1) { ?>
<a href="?func=<?= $func?>&delete=<?= $post['id']?>&page=<?= $page?>" class="close">×</a>
<? } ?>
<?= avatar($post['id_user'], 4)?> <?= login($post['id_user'], 1)?> <?= vremja($post['time'])?><br />
<?= text_out($post['msg'])?><br />
<?
if ($post['id_cit'] != 0) {
$cit = $sql -> fetch("SELECT * FROM `chat` WHERE `id` = '$post[id_cit]' LIMIT 1");
if ($cit['id']) {
?>
<div class="cit">
<span class="on"># Цитата поста</span> <b><?= login($cit['id_user'], 0)?></b> <?= vremja($cit['time'])?><br />
<span class="cit"><?= text_out($cit['msg'])?></span><br />
</div>
<?
}
}?>
<? if ($level > 0 && $user['id'] != $post['id_user']) { ?>
[<a href="?func=<?= $func?>&reply=<?= $post['id_user']?>" class="reply">ответ</a>]
<? } ?>
<? if ($level > 0) { ?>
[<a href="?func=<?= $func?>&cit=<?= $post['id']?>" class="reply">цитата</a>]
<? } ?>
</div>
<?
}
if ($k_page > 1) {
str('?func=' . $func . '&', $k_page, $page);
}
}
if ($level > 1) {
?>
<div class="foot">
« <a href="?func=<?= $func?>&truncate">Очистить</a>
</div>
<?
}
?>