Файл: moduls/dialog.php
Строк: 125
<?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 'ignor':
$ign=$db->query("select * from `ignor` where `user`='$user[id]' and `user2`='$id'")->rowCount();
if($ign)
$db->exec("delete from `ignor` where `user`='$user[id]' and `user2`='$id'");
else
$db->query("insert into `ignor` set `user`='$user[id]', `user2`='$id', `time`='$time'");
echo'<meta http-equiv="refresh" content="0; url = /dialog/'.$id.' ">';
break;
default:
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']){
$ignor=$db->query("select * from `ignor` where `user2`='$user[id]' and `user`='$id'")->rowCount();
if(!$ignor){
if(!empty($_POST['text'])){
$text=nl2br(bb_code(smiles(protect($_POST['text']))));
$text_strl=strlen($text);
if($text_strl>$da['min_simb']){
$rand=rand(0,999999);
$uploadfile = "../files/files_mail/".$user['id']."-".$rand."-".$_FILES['file']['name'];
if(move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)){
$file=$user['id'].'-'.$rand.'-'.$_FILES['file']['name'];
}else{$file=0;}
$db->query("insert into `mail` set `kto`='$user[id]', `komu`='$id', `time`='$time', `status`='1', `text`='$text', `file`='$file'");
$db->prepare("update `dialog` set `last`='$time', `last_text`='$text' where `kto`='$id' and `komu`='$user[id]'")->execute();
$db->prepare("update `dialog` set `last`='$time', `last_text`='$text' 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'<div class="menu">Мин. длина текста не менее '.$da['min_simb'].' символов</div>';}
}else{
echo'<form action="#" method="POST" enctype = "multipart/form-data">';
echo fast_smile().'<div class="menu">
Текст: <a id="up1" href="#" style="text-align:right;">[Смайлы]</a><br />';
echo smile_panel().'<textarea name="text"></textarea><br />
<input type="file" name="file"><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>';}
$ign=$db->query("select * from `ignor` where `user`='$user[id]' and `user2`='$id'")->rowCount();
if($ign)$ign_link='Удалить из игнора';else $ign_link='Добавить в игнор';
echo'<div class="head">Диалог с '.$q['login'].'</div>
<div class="touch">
<div class="menu"><a href="/dialog/'.$id.'/ignor">'.$ign_link.'</a></div>';
if($user['id']==1 and $id!==$user['id']){
if($q['ban']==1)$link_b='Разблокировать';else $link_b='Заблокировать';
echo'<div class="menu"><a href="/moduls/edit.php?act=1&id='.$id.'">'.$link_b.'</a></div>
<div class="menu"><a href="/moduls/delete.php?act=1&id='.$id.'">Удалить пользователя</a></div>';
}
echo'</div>';
if(($time-$q['visit'])>90)echo'<div class="menu" style="text-align:center;"><i>Был в сети '.clock($q['visit']).'</i></div>';
$total=$db->query("SELECT * from `mail` where `kto`='$user[id]' and `komu`='$id' or `kto`='$id' and `komu`='$user[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 `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);
if($us)$us=avatar($us['avatar']).' <a href="/profile'.$us['id'].'">'.$us['login'].'</a> '.lvl($us['id'],$us['level']).on($us['visit']); 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'];
if($res['file'])echo'<br /><br />'.image('attachment.png').' <a href="/files/files_mail/'.$res['file'].'">'.$res['file'].'</a><br />'.sizer('../files/files_mail/'.$res['file']).'';
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 `id` from `dialog` where `kto`='$user[id]'")->rowCount();
if($total){
echo'<div class="touch">';
$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 `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 `id` from `mail` where `kto`='$res[komu]' and `komu`='$user[id]' and `status`='1'")->rowCount();
$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 `id` from `mail` where `kto`='$user[id]' and `komu`='$res[komu]' or `kto`='$res[komu]' and `komu`='$user[id]'")->rowCount();
if($kek>0){
echo'<div class="menu"><a href="/dialog/'.$res['komu'].'">';
if($us)echo avatar($us['avatar']).$us['login'];else echo avatar('default.png').' Удален';
echo $stts.' ('.$kek.'/'.$new.')';if($new)echo' <b>Новое</b>';echo'<br />';
#if($res['last'])echo clock($res['last']);else echo clock($res['time']);
$last_dialog=$db->query("select * from `mail` where `kto`='$us[id]' and `komu`='$user[id]' order by `id` desc limit 1")->fetch(PDO::FETCH_ASSOC);
if($res['last_text'])
echo iconv_substr($res['last_text'], 0, 58, 'UTF-8').'..';
else
echo iconv_substr($last_dialog['text'], 0, 58, 'UTF-8').'..';
echo'</a></div>';
}
}
echo'</div>';
if ($k_page>1)str('/dialog/',$k_page,$page); // Вывод страниц
}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';
?>