Файл: moduls/chat.php
Строк: 52
<?php
include_once'../system/xcms_core.php';$title='Чат';
if($_COOKIE['style']=='web')require_once '../system/web_head.php'; else require_once '../system/head.php';
if($user){
switch($act){
case 'room':
$q=$db->query("select * from `chat_room` where `id`='$id'")->fetch(PDO::FETCH_ASSOC);
if($q){
if(($time-$user['flood']>$da['flood'])){
if(!empty($_POST['text'])){
$text=nl2br(smiles(bb_code(protect($_POST['text']))));
$text_strl=strlen($text);
if($text_strl>$da['min_simb']){
if(!empty($_GET['reply'])){
$reply=protect(intval($_GET['reply']));
$w=$db->query("select * from `chat` where `id`='$reply'")->fetch(PDO::FETCH_ASSOC);
if($w){
$reply=$w['id'];
if($w['author_id']!==$user['id'])$db->query("insert into `notice` set `to`='$w[author_id]', `user`='$user[id]', `text`='Пользователь <a href="/profile$user[id]">$user[login]</a> ответил вам <a href="/chat/$id/page=$page">в чате</a>', `time`='$time', `status`='1'");
}else{$reply=0;}
}else{$reply=0;}
$db->query("insert into `chat` set `id_room`='$id', `author_id`='$user[id]', `text`='$text', `time`='$time', `reply`='$reply'");
$db->prepare("update `user` set `balans`=`balans`+1, `flood`='$time' where `id`='$user[id]'")->execute();
echo'<meta http-equiv="refresh" content="0; url = /chat/'.$id.'">';
}else{echo'<div class="menu">Мин. длина текста - '.$da['min_simb'].' символов</div>';}
}else{
if(!empty($_GET['reply'])){
$r=$db->query("select * from `chat` where `id`='".protect($_GET['reply'])."'")->fetch(PDO::FETCH_ASSOC);
if($r){
$t=$db->query("select `login` from `user` where `id`='$r[author_id]'")->fetch(PDO::FETCH_ASSOC);
echo'<div class="head">Отвечаем пользователю <a href="/profile'.$r['author_id'].'">'.$t['login'].'</a></div>
<div class="menu">'.$r['text'].'</div>';
}
}
echo'<div class="menu"><form action="#" method="POST">
Собщение: <br />
<textarea name="text" rows="1" cols="25" id="text"></textarea>
<input type="submit" value="Отправить" />
</form></div>
<div class="menu" style="text-align:center;"><a href="/info/bb">BB коды</a> |
<a href="/info/smiles">Смайлы</a> | <a href="/chat">Обновить</a></div>';
}
}else{echo'<div class="citatka">Чтобы написать, подождите '.($da['flood']-($time-$user['flood'])).' cek.</div>';}
$total=$db->query("select `id` from `chat` where `id_room`='$id'")->rowCount();
if($total){
$k_page=k_page($total,$set['p_str']);$page=page($k_page);$start=$set['p_str']*$page-$set['p_str'];
$sql=$db->query("select * from `chat` where `id_room`='$id' order by `time` desc limit $start, $set[p_str]");
while($row=$sql->fetch(PDO::FETCH_ASSOC)){
$author=$db->query("SELECT * FROM `user` WHERE `id` = '$row[author_id]' ")->fetch(PDO::FETCH_ASSOC);
echo'<div class="menu">'.avatar($author['avatar']).' <a href="/profile'.$row['author_id'].'"><b>'.$author['login'].'</b></a> '.lvl($row['author_id'],$author['level']);
if($user)echo'<a href="/chat/'.$id.'/reply'.$row['id'].'"> [Отв]</a>';
if($user['level']=='1')echo'<a href="/moduls/delete.php?act=10&id='.$row['id'].'">[x]</a>';
echo'<br/><small>'.clock($row['time']).'</small><br/>';
if($row['reply']){
$y=$db->query("select * from `chat` where `id`='$row[reply]'")->fetch(PDO::FETCH_ASSOC);
if($y){
$e=$db->query("select `login` from `user` where `id`='$y[author_id]'")->fetch(PDO::FETCH_ASSOC);
echo '<div class="citatka" style="width:60%;"><a href="/profile'.$y['author_id'].'">'.$e['login'].'</a>: '.nl2br($y['text']).'</div>';
}
}
echo $row['text'].'</div>';
}
if ($k_page>1)str('/chat/'.$id.'/',$k_page,$page); // Вывод страниц
}else{echo'<div class="menu">Сообщений еще нет</div>';}
}else{echo'<div class="menu">Такой комнаты несуществует</div>';}
back('/chat');
break;
default:
echo'<div class="menu" style="text-align:center;"><b>Выберите комнату</b></div>';
$total=$db->query("select `id` from `chat_room`")->rowCount();
if($total){
$sql=$db->query("select * from `chat_room` order by `id`");
echo'<div class="touch">';
while($res=$sql->fetch(PDO::FETCH_ASSOC))
echo'<div class="menu"><a href="/chat/'.$res['id'].'">'.$res['name'].' '.right($db->query("select `id` from `chat` where `id_room`='$res[id]'")->rowCount()).'</a></div>';
echo'</div>';
}else{echo'<div class="menu">Комнат еще нет</div>';}
back('/');
}
}else{echo'<div class="menu">Авторизуйтесь</div>';}
if($_COOKIE['style']=='web')require_once '../system/web_foot.php'; else require_once '../system/foot.php';
?>