View file ä󿪫¬/modules/groups/chat/index.php

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

only_reg('/reg.php');


$num=1;
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);

$soo = $pdo->query(("SELECT * FROM `soo` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
include_once '../../../modules/groups/inc/ban.php';


$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='tooltipecho' 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 "</div>";


if($pdo->query(("SELECT COUNT(*) FROM `soo_bl` WHERE `id_soo` = '$soo[id]' AND `id_user`='$user[id]' LIMIT 1"),0)->fetchColumn()!=0)
{
echo '<div class="list-group-item">'; 
echo '<div class="err">Вы добавлены в черный список группы и не можете просмотреть данный объект</div>';
echo '</div>'; 
}else{





$mod = $pdo->query(("SELECT COUNT(*) FROM `soo_users` WHERE `id_soo` = '$soo[id]' AND `id_user`='$user[id]' AND `mod` = '1' LIMIT 1"),0)->fetchColumn();

if(isset($user) && $user['id']==$soo['admid'] || $mod)
{
if(isset($_GET['delall'])){
$pdo->query("DELETE FROM `soo_chat` WHERE `id_soo`='$soo[id]'");
msg('Чат успешно очищен');
}    
   
if(isset($_GET['del'])){
$pdo->query("DELETE FROM `soo_chat` WHERE `id`='".intval($_GET['del'])."' LIMIT 1");
msg('Сообщение успешно удалено');
}
}



if (isset($_POST['msg']) && isset($user) && ($pdo->query(("SELECT COUNT(*) FROM `soo_users` WHERE `id_soo` = '$soo[id]' AND `id_user`='$user[id]' AND `invit`='0' AND `activate`='0' LIMIT 1"),0)->fetchColumn()==1 || $user['id']==$soo['admid']))
{
$msg = htmlspecialchars($_POST['msg']);

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

if (utf8_strlen($msg)>1024){$err[]='Сообщение слишком длинное';}
elseif (utf8_strlen($msg)<2){$err[]='Короткое сообщение';}
elseif ($pdo->query(("SELECT COUNT(*) FROM `soo_chat` WHERE `id_soo`='$soo[id]' AND `id_user` = '$user[id]' AND `mess` = '".htmlspecialchars($msg)."' LIMIT 1"),0)->fetchColumn()!=0){$err='Ваше сообщение повторяет предыдущее';}
elseif(!isset($err)){

$pdo->query("INSERT INTO `soo_chat` (`id_soo`, `id_user`, `mess`, `time`) values('$soo[id]', '$user[id]', '".htmlspecialchars($msg)."', '$time')");
msg('Сообщение успешно добавлено');
}
}

if($soo['private_chat']==1 && $pdo->query(("SELECT COUNT(*) FROM `soo_users` WHERE `id_soo` = '$soo[id]' AND `id_user`='$user[id]' LIMIT 1"),0)->fetchColumn()==0 && $user['id']!=$soo['admid'])
{
   
echo '<div class="list-group-item">';   
echo '<center><img src="/style/info/12.png" style="width: 120px; height: 120px;"><br><br><b>Просматривать чат группы могут только её участники</b></center>';
echo '</div>'; 
}else{


$mod = $pdo->query(("SELECT COUNT(*) FROM `soo_users` WHERE `id_soo` = '$soo[id]' AND `id_user`='$user[id]' AND `mod` = '1' LIMIT 1"),0)->fetchColumn();


if(isset($user) && $user['id']==$soo['admid'] || $mod)
{
echo '<div class="list-group-item"><a class="btn btn-primary btn-sm" href="?id='.$soo['id'].'&delall"><i class="fa fa-trash fa-fw"></i> Очистить чат</a></div>';
}


if (isset($user) && ($pdo->query(("SELECT COUNT(*) FROM `soo_users` WHERE `id_soo` = '$soo[id]' AND `id_user`='$user[id]' AND `invit`='0' AND `activate`='0' LIMIT 1"),0)->fetchColumn()==1 || $user['id']==$soo['admid']))
{
echo "<div class='list-group-item'>\n";
echo '<form method="post" name="message" action="?id='.$soo['id'].'">';
echo auto_bb("message", "msg");
echo '<textarea class="form-control" name="msg"></textarea><br/>';
echo '<input class="knopka" value="Добавить" type="submit" />';
echo '</form>';
echo "</div>\n";
}


err();
$k_post=$pdo->query(("SELECT COUNT(*) FROM `soo_chat` WHERE `id_soo`='$soo[id]'"),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_chat` WHERE `id_soo`='$soo[id]' ORDER BY id DESC LIMIT $start, $set[p_str]");
while ($post = $q->fetch(PDO::FETCH_ASSOC))
{
$ank=get_user($post['id_user']);


echo "<div class='list-group-item'>"; 
echo '<table style="cellspacing="0" cellpadding="0" width="100%"><tr>';
if (IS_WEB == 1) {
echo '<td style="width: 8%;">';
    
}else{
echo '<td style="width: 15%;">';    
}

echo '<span style="position: absolute; top: 5%;">';
avatarz($ank['id']);
echo '</span>';
echo '</td>';

echo '<td style="width: 85%;">'; 


echo user($ank['id']) . " ";
echo "<span style = 'float:right;color: grey;'><small title='" . date::timek($post['time']) . "'>" . date::timek($post['time']) . "</small></span><br><br>";





echo output_text($post['mess']).' ';

if(isset($user) && $user['id']==$soo['admid'] || $mod)
{
echo '<span style="float: right;"><a href="?id='.$soo['id'].'&del='.$post['id'].'"><font color=#FD786E><i class="fa fa-trash fa-lg"></i></font></a><br/>';
}

echo "</td>\n";

echo '</tr></table>';
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';
?>