View file Socialnaja_set_na_Dcms_Social_wmzo_ru/mini_chat/index.php

File size: 7.39Kb
<?
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/user.php';

/* Бан пользователя */ 
if (isset($user) && mysql_result(mysql_query("SELECT COUNT(*) FROM `ban` WHERE `razdel` = 'mini_chat' AND `id_user` = '$user[id]' AND (`time` > '$time' OR `view` = '0')"), 0) != 0)
{
	header('Location: /ban.php?'.SID);
	exit;
}

// Очищаем уведомления об ответах
if (isset($user))
mysql_query("UPDATE `notification` SET `read` = '1' WHERE `type` = 'mini_chat' AND `id_user` = '$user[id]'");

// Действия с комментариями
include 'inc/admin_act.php';

// Отправка комментариев
if (isset($_POST['msg']) && isset($user))
{
	$msg = $_POST['msg'];
	$mat = antimat($msg);
	if ($mat)$err[] = 'В тексте сообщения обнаружен мат: ' . $mat;

	if (strlen2($msg) > 1024){ $err[] = 'Сообщение слишком длинное'; }
	elseif (strlen2($msg) < 2){ $err[] = 'Короткое сообщение'; }
	elseif (mysql_result(mysql_query("SELECT COUNT(*) FROM `mini_chat` WHERE `id_user` = '$user[id]' AND `msg` = '".my_esc($msg)."' LIMIT 1"),0) != 0)
	{
		$err = 'Ваше сообщение повторяет предыдущее';
	}
	elseif(!isset($err))
	{
		
//Начисление рейтинга и монет за активность
mysql_query("UPDATE `user` SET `money` = '" . ($user['money'] + 1) . "', `rating` = '" . ($user['rating'] + 0) . "' WHERE `id` = '$user[id]' LIMIT 1");

		/*
		==========================
		Уведомления об ответах
		==========================
		*/
		
		if (isset($ank_reply['id']))
		{
			$notifiacation = mysql_fetch_assoc(mysql_query("SELECT * FROM `notification_set` WHERE `id_user` = '" . $ank_reply['id'] . "' LIMIT 1"));
			
			if ($notifiacation['komm'] == 1 && $ank_reply['id'] != $user['id'])
			mysql_query("INSERT INTO `notification` (`avtor`, `id_user`, `type`, `time`) VALUES ('$user[id]', '$ank_reply[id]', 'mini_chat', '$time')");
		}
		
		
if($user['pol']==1){
$pol = 'Написал';
}else{
$pol='Написала';
}
mysql_query("INSERT INTO `activnost` SET `msg` = '$pol сообщение в [url=/mini_chat/]чате[/url] [img]https://offzon.ru/style/smiles/1/932.gif[/img]', `time`='$time' ,`id_user` = '$user[id]'");


		mysql_query("INSERT INTO `mini_chat` (id_user, time, msg) values('$user[id]', '$time', '" . my_esc($msg) . "')");
		$_SESSION['message'] = 'Сообщение успешно добавлено';
		
		header ("Location: index.php" . SID);
		exit;
	}
} elseif (!isset($user) && isset($set['write_mini_chat']) && $set['write_mini_chat'] == 1 && isset($_SESSION['captcha']) && isset($_POST['chislo'])) {
    
    $msg = $_POST['msg'];
    $mat = antimat($msg);
    
    if ($mat) { 
        $err[] = 'В тексте сообщения обнаружен мат: '.$mat;
    }

    if (strlen2($msg) > 1024) {
        $err = 'Сообщение слишком длинное';
    } elseif ($_SESSION['captcha'] != $_POST['chislo']) {
        $err = 'Неверное проверочное число';
    } elseif (isset($_SESSION['antiflood']) && $_SESSION['antiflood'] > $time - 300) { 
        $err = 'Для того чтобы чаще писать нужно авторизоваться';
    } elseif (strlen2($msg) < 2) {
        $err = 'Короткое сообщение';
    } elseif (mysql_result(mysql_query("SELECT COUNT(*) FROM `mini_chat` WHERE `id_user` = '0' AND `msg` = '".my_esc($msg)."' LIMIT 1"),0) != 0) {
        $err = 'Ваше сообщение повторяет предыдущее';
    } elseif(!isset($err)) {
        $_SESSION['antiflood'] = $time;
        mysql_query("INSERT INTO `mini_chat` (id_user, time, msg) values('0', '$time', '".my_esc($msg)."')");
		$_SESSION['message'] = 'Сообщение успешно добавлено';
		header ("Location: index.php" . SID);
		exit;
    }
}

// заголовок страницы
$set['title'] = 'Общий чат'; 
include_once '../sys/inc/thead.php';
title();
aut();
err();


$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'];

// Форма для комментариев
if (isset($user) || (isset($set['write_mini_chat']) && $set['write_mini_chat'] == 1 && (!isset($_SESSION['antiflood']) || $_SESSION['antiflood'] < $time - 300)))
{
	echo '<div style="margin-bottom:6px;" class="mess">';
	echo '<form method="post" name="message" action="?page=' . $page . REPLY . '">';
	    echo '<textarea placeholder="Введите сообщение..." name="msg">' . $insert . '</textarea>';
    
    if (!isset($user) && isset($set['write_mini_chat']) && $set['write_mini_chat'] == 1) {
        ?>
        <img src="/captcha.php?SESS=<?= $sess?>" width="100" height="30" alt="Captcha" /> <input name="chislo" size="7" maxlength="5" value="" type="text" placeholder="Цифры.."/><br />
        <?
    }
    echo '<table>';
	echo '<td><input value="Отправить" type="submit" /></td>';
	?><td width="1"><a href="#" onclick="$('.smile').toggle();return false;"><i style="color: #757577; font-size: 18px;" class="far fa-smile"></i></a></td><?
	echo '</form>';
	echo '</table>';
	echo '</div>';

	include '../ajax/smile.php';
	
} elseif (!isset($user) && isset($set['write_mini_chat']) && $set['write_mini_chat'] == 1) {
    ?><div class="mess">Вы сможете писать через <span class="on"><?= abs($time - $_SESSION['antiflood'] - 300)?> сек.</span></div><?
}

echo '<table class="post">';

if ($k_post == 0)
{
	echo '<div class="mess" id="no_object">';
	echo 'Нет сообщений';
	echo '</div>';
}

$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"));

	$num++;

echo '<table class="mess">';
echo '<td style="vertical-align: top;" width="3%">'; if (isset($user)){echo '<a href="?page=' . $page . '&amp;response=' . $ank['id'] . '">';} echo avatar($ank['id'], 0) . '</a></td>';
echo '<td>' . group($ank['id'], 0) . '';
echo " ".user::nick($ank['id'])."";
echo '' . medal($ank['id']) . '';
echo '' . online($ank['id']) . '';
echo ' <span style="float:right;font-size: .7em;">' . vremja($post['time']) . '</span></br>';
echo '<div style="padding-top:3px;font-size: 12px;">' . output_text($post['msg']) . '</div>';

if (isset($user) && ($user['level'] > $ank['level'] || $user['level'] != 0 && $user['id'] == $ank['id']) && user_access('mini_chat_delete')) {
echo '<div style="float: right; margin-top: -15px;">';
echo '<a href="delete.php?id=' . $post['id'] . '"><i class="fas fa-times-circle"></i></a>';
echo '</div>';
}

echo '</table>';
	
}

echo '</table>';

if ($k_page > 1)str('index.php?', $k_page, $page); // Вывод страниц

// Форма очистки комментов
include 'inc/admin_form.php';

include_once '../sys/inc/tfoot.php';
?>