Файл: dialog.php
Строк: 81
<?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){
if($id and $id!==$user['id']){
$w=$db->query("select * from `dialog` where `kto`='$id' and `komu`='$user[id]'")->fetch(PDO::FETCH_ASSOC);
$e=$db->query("select * from `dialog` where `kto`='$user[id]' and `komu`='$id'")->fetch(PDO::FETCH_ASSOC);
if(!$e)$db->exec("insert into `dialog` set `kto`='$user[id]', `komu`='$id', `time`='$time'");
if(!$w)$db->exec("insert into `dialog` set `komu`='$user[id]', `kto`='$id', `time`='$time'");
$q=$db->query("select * from `user` 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']))));
$db->query("insert into `mail` set `kto`='$user[id]', `komu`='$id', `time`='$time', `status`='1', `text`='$text'");
$db->prepare("update `dialog` set `last`='$time', `new`=`new`+1 where `kto`='$id' and `komu`='$user[id]'")->execute();
$db->prepare("update `dialog` set `last`='$time' where `kto`='$user[id]' and `komu`='$id'")->execute();
$db->prepare("update `user` set `flood`='$time' where `id`='$user[id]'")->execute();
echo'<meta http-equiv="refresh" content="0; url = /dialog/'.$id.' ">';
}else{
echo'<form action="#" method="post">
<div class="menu">
Текст:<br /><textarea name="text"></textarea><br />
<input type="submit" value="Отправить">
</div>
</form>
<div class="menu" style="text-align:center;"><a href="/info/bb">BB коды</a> | <a href="/info/smiles">Смайлы</a> | <a href="/dialog/'.$id.'">Обновить</a></div>';
}
}else{echo'<div class="citatka">Чтобы написать, подождите '.($da['flood']-($time-$user['flood'])).' cek.</div>';}
echo'<div class="head">Диалог с '.$q['login'].'</div>';
if(($time-$q['visit'])>90)echo'<div class="menu" style="text-align:center;"><i>Был в сети '.clock($q['visit']).'</i></div>';
$total=$db->query("SELECT COUNT(*) as count from `mail` where `kto`='$user[id]' and `komu`='$id' or `kto`='$id' and `komu`='$user[id]'");$total->setFetchMode(PDO::FETCH_ASSOC);$total=$total->fetch();
if($total['count']){
$k_page=k_page($total['count'],$set['p_str']);$page=page($k_page);$start=$set['p_str']*$page-$set['p_str'];
$sql=$db->query("select * from `mail` where `kto`='$user[id]' and `komu`='$id' or `kto`='$id' and `komu`='$user[id]' order by `time` desc limit $start, $set[p_str]");
while($res=$sql->fetch(PDO::FETCH_ASSOC)){
if($res['komu']==$user['id'] and $res['status'])$db->prepare("update `mail` set `status`='0' where `id`='$res[id]'")->execute();
$us=$db->query("select * from `user` where `id`='$res[kto]' limit 1")->fetch(PDO::FETCH_ASSOC);
$usl=($time-$us['visit']);if($usl<90)$stts= ' <span style="color:#9ACD32;">(В сети)</span>'; else $stts=' <span style="color:#B22222;">(Не в сети)</span>';
if($us)$us=avatar($us['avatar']).' <a href="/profile'.$us['id'].'">'.$us['login'].'</a>'.$stts; else $us='Удален';
echo '<div class="menu">'.$us.'<br />'.clock($res['time']).'<br />';
if($res['status'])echo '<span style="color:#B22222;">'.$res['text'].'</span>'; else echo $res['text'];
echo'</div>';
}
if ($k_page>1)str('/dialog/'.$id.'/',$k_page,$page); // Вывод страниц
}else{echo'<div class="menu">Диалога с этим пользователей еще нет</div>';}
}else{echo'<div class="menu">Ошибка идентификатора</div>';}
back('/dialog');
}else{
$total=$db->query("SELECT COUNT(*) as count from `dialog` where `kto`='$user[id]'");$total->setFetchMode(PDO::FETCH_ASSOC);$total=$total->fetch();
if($total['count']){
echo'<div class="touch">';
$k_page=k_page($total['count'],$set['p_str']);$page=page($k_page);$start=$set['p_str']*$page-$set['p_str'];
$sql=$db->query("select * from `dialog` where `kto`='$user[id]' order by `last` desc limit $start, $set[p_str]");
while($res=$sql->fetch(PDO::FETCH_ASSOC)){
$new=$db->query("SELECT COUNT(*) as count from `mail` where `kto`='$res[komu]' and `komu`='$user[id]' and `status`='1'");$new->setFetchMode(PDO::FETCH_ASSOC);$new=$new->fetch();
$us=$db->query("select * from `user` where `id`='$res[komu]' limit 1")->fetch(PDO::FETCH_ASSOC);
$usl=($time-$us['visit']);if($usl<90){$stts='<span style="color:#9ACD32;">(В сети)</span>';}else{$stts='<span style="color:#B22222;">(Не в сети)</span>';}
$kek=$db->query("SELECT COUNT(*) as count from `mail` where `kto`='$user[id]' and `komu`='$res[komu]' or `kto`='$res[komu]' and `komu`='$user[id]'");$kek->setFetchMode(PDO::FETCH_ASSOC);$kek=$kek->fetch();
echo'<div class="menu"><a href="/dialog/'.$res['komu'].'">
<img src="/images/'.$us['avatar'].'" alt="" style="float:left;width:30px;height:30px;margin-right:3px;"/>
'.$us['login'].' '.$stts.' ('.$kek['count'].'/'.$new['count'].')';
if($new['count'])echo' <b>Новое</b>';
echo'<br />';
if($res['last'])echo clock($res['last']);else echo clock($res['time']);
echo'</a></div>';
}
echo'</div>';
if ($k_page>1)str('/dialog/',$k_page,$page); // Вывод страниц
}else{echo'<div class="menu">Диалоги еще не созданы, для создания перейдите на страницу пользователя и напишите ему сообщение</div>';}
}
}else{echo'<div class="menu">Ошибка авторизации</div>';}
if($_COOKIE['style']=='web')require_once 'system/web_foot.php'; else require_once 'system/foot.php';
?>