Файл: modules/mini_chat/index.php
Строк: 157
<?php
/* DCMS Special
* Дата последнего редактирования 28.01.2016
* Модифицировал densnet
*/
foreach (array('start', 'compress', 'sess', 'settings', 'db_connect', 'ipua', 'fnc', 'user') as $inc) {
require_once "../../sys/inc/$inc.php";
}
$set['title'] = lang('Мини чат');
require_once H . 'sys/inc/thead.php';
// Действия с комментариями
include 'inc/admin_act.php';
aut();
err();
#Навигация
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 lang('Мини чат');
echo "</div>";
// Отправка комментариев
if (isset($_POST['msg']) && isset($user)) {
$msg = $_POST['msg'];
$mat = antimat($msg);
if ($mat) {
$err[] = lang("В тексте сообщения обнаружен мат") . ": $mat";
}
if (utf8_strlen($msg) > 10024) {
$err[] = lang('Сообщение слишком длинное');
} elseif (utf8_strlen($msg) < 2) {
$err[] = lang('Короткое сообщение');
} elseif (mysql_result(mysql_query("SELECT COUNT(*) FROM `mini_chat` WHERE `id_user` = '" . $user['id'] . "' AND `msg` = '" . mysql_real_escape_string($msg) . "' LIMIT 1"), 0) != 0) {
$err = lang('Ваше сообщение повторяет предыдущее');
} elseif (!isset($err)) {
// Начисление рублей за активность
mysql_query("UPDATE `user` SET `money` = '" . ($user['money'] + 3) . "' WHERE `id` = '" . $user['id'] . "' LIMIT 1");
mysql_query("UPDATE `user` SET `activity` = '" . ($user['activity'] + 2) . "' WHERE `id` = '" . $user['id'] . "' LIMIT 1");
mysql_query("INSERT INTO `mini_chat` (id_user, time, msg) values('" . $user['id'] . "', '$time', '" . mysql_real_escape_string($msg) . "')");
if ($user['id'] != $otvet['id']) {
$msgrat = "$SexOtv " . lang('на Ваше сообщение в') . " [url=/modules/mini_chat/]" . lang('чате') . "[/url] ";
############################################7.2.1
mysql_query("INSERT INTO `notification` (`id_user`, `id_kont`, `id_img`, `msg`, `time`) values('$user[id]', '$otvet[id]', '4', '$msgrat', '$time')");
#############################################
}
$q = mysql_query("SELECT * FROM `friends` WHERE `user` = '$user[id]' AND `lenta_news` = '1' AND `i` = '1'");
while ($f = mysql_fetch_array($q)) {
$a = mysql_fetch_array(mysql_query("SELECT * FROM `user` WHERE `id` = '$f[friends]' LIMIT 1"));
$not_msg = "$SexNap сообщение в [url=/modules/mini_chat/]" . lang('чате') . "[/url]";
#################################################7.2.1
mysql_query("INSERT INTO `notifications` (`id_user`, `id_kont`, `id_img`, `msg`, `time`) values('$user[id]', '$a[id]', '3', '$not_msg', '$time')");
####################################################
}
$_SESSION['message'] = lang('Сообщение успешно добавлено');
header("Location: index.php" . SID);
exit;
}
}
// Отправка комментариев с главной
if (isset($_POST['msgs']) && isset($user)) {
$msg = $_POST['msgs'];
$mat = antimat($msg);
if ($mat) {
$err[] = lang("В тексте сообщения обнаружен мат") . ": $mat";
}
if (utf8_strlen($msg) > 10024) {
$err[] = lang('Сообщение слишком длинное');
} elseif (utf8_strlen($msg) < 2) {
$err[] = lang('Короткое сообщение');
} elseif (mysql_result(mysql_query("SELECT COUNT(*) FROM `mini_chat` WHERE `id_user` = '" . $user['id'] . "' AND `msg` = '" . mysql_real_escape_string($msg) . "' LIMIT 1"), 0) != 0) {
$err = lang('Ваше сообщение повторяет предыдущее');
} elseif (!isset($err)) {
// Начисление рублей за активность
mysql_query("UPDATE `user` SET `money` = '" . ($user['money'] + 3) . "' WHERE `id` = '" . $user['id'] . "' LIMIT 1");
mysql_query("UPDATE `user` SET `activity` = '" . ($user['activity'] + 2) . "' WHERE `id` = '" . $user['id'] . "' LIMIT 1");
mysql_query("INSERT INTO `mini_chat` (id_user, time, msg) values('" . $user['id'] . "', '$time', '" . mysql_real_escape_string($msg) . "')");
if ($user['id'] != $otvet['id']) {
$msgrat = "$SexOtv " . lang('на Ваше сообщение в') . " [url=/modules/mini_chat/]" . lang('чате') . "[/url] ";
mysql_query("INSERT INTO `notification` (`id_user`, `id_kont`, `msg`, `time`) values('$user[id]', '$otvet[id]', '$msgrat', '$time')");
}
$q = mysql_query("SELECT * FROM `friends` WHERE `user` = '$user[id]' AND `lenta_news` = '1' AND `i` = '1'");
while ($f = mysql_fetch_array($q)) {
$a = mysql_fetch_array(mysql_query("SELECT * FROM `user` WHERE `id` = '$f[friends]' LIMIT 1"));
$not_msg = "$SexNap сообщение в [url=/modules/mini_chat/]" . lang('чате') . "[/url]";
mysql_query("INSERT INTO `notifications` (`id_user`, `id_kont`, `msg`, `time`) values('$user[id]', '$a[id]', '$not_msg', '$time')");
}
$_SESSION['message'] = lang('Сообщение успешно добавлено');
header("Location: /index.php");
exit;
}
}
$k_post = mysql_result(mysql_query("SELECT COUNT(id) FROM `mini_chat`"), 0);
$k_page = k_page($k_post, $set['p_str']);
$page = page($k_page);
$start = $set['p_str'] * $page - $set['p_str'];
$chat_count = mysql_result(mysql_query("SELECT COUNT(id) FROM `user` WHERE `date_last` > '" . (time() - 100) . "' AND `url` like '/modules/mini_chat/%'"), 0);
echo "<div class='list-group-item'>";
echo "<a href='who.php'><i class='fa fa-users fa-fw'></i> " . lang('В чате') . " " . sklon_text($chat_count, array(lang('человек'), lang('человека'), lang('человек'))) . "</a>";
echo "</div>";
// Форма для комментариев
if (isset($user)) {
echo "<form method='post' class='list-group-item' name='message' action='?$passgen'>";
echo auto_bb("message", "msg");
echo "<textarea placeholder='" . lang('Введите сообщение') . "...' name='msg' class='form-control'></textarea><br />";
$doc->Button('btn btn-primary btn-sm', null, 'pencil', 'Опубликовать');
echo '</form>';
}
if ($k_post == 0) {
$doc->NoResult();
}
$q = mysql_query("SELECT * FROM `mini_chat` ORDER BY id DESC LIMIT $start, $set[p_str]");
while ($post = mysql_fetch_assoc($q)) {
$ank = mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `id` = " . $post['id_user'] . " LIMIT 1"));
$k_p = mysql_result(mysql_query("SELECT COUNT(*) FROM `mini_chat_layp` WHERE id_post = $post[id]"), 0);
$l = mysql_query("SELECT * FROM `mini_chat_layp` WHERE `id_post` = '$post[id]' ORDER by id ASC");
echo "<table class='list-group-item-komm'><tr><td class='icon14'>";
avatar($ank['id'], '48', 'border-radius: 2px;');
echo "</td><td class='null'>";
while ($layp = mysql_fetch_assoc($l)) {
echo "<img src='img/$layp[dir]/$layp[img].png' style='position: absolute; margin-left: $layp[margin_left]px;' />";
}
echo "<span style = 'float:right;color: grey;'><small title='" . date::time($post['time']) . "'>" . date::timek($post['time']) . "</small></span>";
echo user($ank['id']) . " ";
echo "<br />n";
echo "<div id='accordion' role='tablist' aria-multiselectable='true'>";
echo "<div role='tab' id='headingTwo'>";
echo "<span style='float: right;'><a class='collapsed' data-toggle='collapse' data-parent='#accordion' href='#post_$post[id]' aria-expanded='false' aria-controls='collapseTwo'><i class='fa fa-ellipsis-v fa-fw'></i></a></span>";
echo "</div>";
echo toOutput($post['msg']) . "n";
if (isset($user)) {
echo "<div id='post_$post[id]' class='panel-collapse collapse' role='tabpanel' aria-labelledby='post_$post[id]'><small>";
if ($ank['id'] != $user['id']) {
$doc->Link(null, "reply.php?id=$post[id]", null, 'Ответить');
}
if ($k_p > 0) {
echo " · ";
$doc->Link(null, "act.php?post=$post[id]&page=$page&act=layp", null, 'История ляпов');
}
if (isset($user) && ($ank['id'] != $user['id'])) {
echo " · ";
$doc->Link(null, "layp.php?post=$post[id]&page=$page", null, 'Поставить ляп');
}
if (isset($user) && ($user['level'] > $ank['level'] || $user['level'] != 0 && $user['id'] == $ank['id']) && access('mini_chat_clear')) {
echo " · ";
$doc->Link(null, "delete.php?id=$post[id]", null, 'Удалить');
}
echo "</small></div>";
}
echo "</div>";
echo "</td></tr></table>";
}
if ($k_page > 1) {
echo "<div class='list-group-item'>";
str('index.php?', $k_page, $page);
echo "</div>";
}
// Форма очистки комментов
include 'inc/admin_form.php';
require_once H . 'sys/inc/tfoot.php';