Файл: my/mail.php
Строк: 247
<?
define('GCMS',true);
define('ROOT','../');
require_once (ROOT.'system/power.php');
if ($aut) {
$diz -> head('Личные сообщения');
$diz -> title('Личные сообщения');
switch($act) {
///Удаление диалога
case 'deldialog':
$sql = $db -> query("SELECT `id` FROM `dialogs` WHERE `id` = '".$id."' and `oid`='$ya[id]' or `id` = '".$id."' and `user`='$ya[id]' LIMIT 1");
if ($sql -> num_rows > 0) {
if (!isset($_GET['true'])) {
$diz -> head('Очистка диалога');
echo '<div class="fon">Вы действительно желаете удалить данный диалог и все сообщения в нём?</div>';
echo '<div class="dialog">
<a class="dialog_m" href="?act=deldialog&id='.$id.'&true">Да</a>
<a class="dialog_m" href="'.ROOT.'mail">Нет</a>
</div>';
} else {
$db -> query("DELETE FROM `dialogs` WHERE `id`='".$id."'");
$db -> query("DELETE FROM `mail` WHERE `dialog`='".$id."'");
header('Refresh: 2, url='.ROOT.'mail');
echo '<div class="fon">Диалог был удалён!</div>';
}
} else header('location: '.ROOT.'mail');
break;
///Чистка диалога
case 'clear':
$sql = $db -> query("SELECT `id` FROM `dialogs` WHERE `id` = '".$id."' and `oid`='$ya[id]' or `id` = '".$id."' and `user`='$ya[id]' LIMIT 1");
if ($sql -> num_rows > 0) {
if (!isset($_GET['true'])) {
$diz -> head('Очистка диалога');
echo '<div class="fon">Вы действительно желаете удалить все сообщения в данном диалоге?</div>';
echo '<div class="dialog">
<a class="dialog_m" href="?act=clear&id='.$id.'&true">Да</a>
<a class="dialog_m" href="mail.php?act=read&id='.$id.'">Нет</a>
</div>';
} else {
$db -> query("DELETE FROM `mail` WHERE `dialog`='".$id."'");
header('Refresh: 2, url='.ROOT.'mail');
echo '<div class="fon">Все сообщения диалога успешно удалены!</div>';
}
} else header('location: '.ROOT.'mail');
break;
//Пишем новое сообщение
case 'new':
if (!isset($_POST['text'])) {
echo '<div class="fon"><form action="mail.php?act=new" method="post">
Кому:<br/><input type="text" name="login" maxlength="50"/><br/>
Сообщение:<br/><textarea name="text" cols="'.$ya['width'].'" rows="'.$ya['height'].'"></textarea><br/>
<input type="submit" value="Отправить"/></form></div>';
echo '<div class="levo"><a href="./mail.php" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
} elseif($ya['login']==$_POST['login']) {
echo '<div class="fon">Самому себе писать нельзя!</div>';
echo '<div class="levo"><a href="mail.php?act=new" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
} elseif(empty($_POST['login'])) {
echo '<div class="fon">Не введён Ник получателя!</div>';
echo '<div class="levo"><a href="mail.php?act=new" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
} elseif(mb_strlen($func -> delprobel($_POST['text'])) < 2)
{
echo '<div class="levo"><a href="./mail.php?act=new" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
} else {
$loading = shit($_POST['login']);
$sql = $db -> query("SELECT `id`,`login`,`mail` FROM `users` WHERE `login` = '".$loading."' LIMIT 1");
if ($sql -> num_rows > 0) {
$otpr = $sql -> fetch_assoc();
if($otpr['mail']=='0'){
$tch = abs(intval(htmlentities($db -> real_escape_string($otpr['id']))));
$sql2 = $db -> query("SELECT `id` FROM `nuts` WHERE `where`='ignor' and `user`='$tch' and `idwh`='$ya[id]' LIMIT 1");
if ($sql2 -> num_rows == 0) {
/////////////////
$mtime = $db -> query("SELECT * FROM `mail` WHERE `oid` = '".$ya['id']."' order by `time` DESC")->fetch_assoc();
if($mtime['time']+$nastr['floodpm']<=time()){
//////////////
$mesg = shit($_POST['text']);
$sq1 = $db -> query("SELECT `id` FROM `dialogs` WHERE `user`='$tch' and `oid`='$ya[id]' LIMIT 1");
$sq2= $db -> query("SELECT `id` FROM `dialogs` WHERE `oid`='$ya[id]' and `user`='$tch' LIMIT 1");
if (($sq1-> num_rows == 0)and($sq2-> num_rows == 0)) {
$db -> query("INSERT INTO `dialogs` (`user`,`oid`,`time`) VALUES ('".$tch."','".$ya['id']."','".time()."')");
$dialog = $db -> insert_id;
$db -> query("INSERT INTO `mail` (`fid`,`oid`,`dialog`,`text`,`time`) VALUES ('".$tch."','".$ya['id']."','".$dialog."','".$mesg."','".time()."')");
}else{
if ($sq1-> num_rows > 0) {
$d=$sq1->fetch_assoc();
}elseif($sq2-> num_rows > 0){
$d=$sq2->fetch_assoc();
}
$dialog=$d['id'];
$db -> query("INSERT INTO `mail` (`fid`,`oid`,`dialog`,`text`,`time`) VALUES ('".$tch."','".$ya['id']."','".$dialog['id']."','".$mesg."','".time()."')");
$db -> query("Update `dialogs` set `time`='".time()."' where `id`='$dialog'");
}
header('location: mail.php?act=read&id='.$dialog);
}else{
echo '<div class="fon">Следующее сообщение можно написать через '.$nastr['floodpm'].' сек.!</div>';
echo '<div class="levo"><a href="mail.php?act=new" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
echo '<div class="levo"><a href="./mail.php" class="levo_tuch">'.$diz -> img('back.png').' Мои сообщения</a></div>';
}
}else{
echo '<div class="fon">Пользователь вас игнорирует!</div>';
echo '<div class="levo"><a href="mail.php?act=new" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
echo '<div class="levo"><a href="./mail.php" class="levo_tuch">'.$diz -> img('back.png').' Мои сообщения</a></div>';
}
}else{
echo '<div class="fon">Данный пользователь отключил личные сообщения!</div>';
echo '<div class="levo"><a href="mail.php?act=new" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
echo '<div class="levo"><a href="./mail.php" class="levo_tuch">'.$diz -> img('back.png').' Мои сообщения</a></div>';
}
}else{
echo '<div class="fon">Пользователь с введёнными данными не существует!</div>';
echo '<div class="levo"><a href="mail.php?act=new" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
echo '<div class="levo"><a href="./mail.php" class="levo_tuch">'.$diz -> img('back.png').' Мои сообщения</a></div>';
}
}
break;
//Пишем быстрое сообщение
case 'write':
$sql = $db -> query("SELECT `login`,`mail` FROM `users` WHERE `id` = '".$id."' LIMIT 1");
if ($sql -> num_rows > 0) {
if($ya['id']!=$id){
$name = $sql -> fetch_assoc();
if($name['mail']=='0'){
if (!isset($_POST['text'])) {
echo '<div class="fon"><table><tr><td>'.$func->avatar($id).'</td>
<td> Сообщение для<br/> '.$func->famname($id).' '.$func->online($id).'
</td></tr></table></div>
<div class="fon"/><form action="mail.php?act=write&id='.$id.'" method="post">
Сообщение:<br/><textarea name="text" cols="'.$ya['width'].'" rows="'.$ya['height'].'"></textarea><br/>
<input type="submit" value="Отправить"/></form></div>';
echo '<div class="levo"><a href="'.ROOT.'mail" class="levo_tuch">'.$diz -> img('back.png').' Личные сообщения</a></div>';
} elseif($ya['id']==$id) {
echo '<div class="fon">Самому себе писать нельзя!<br/>';
echo '<div class="levo"><a href="mail.php?act=new" class="levo_tuch">Написать новое сообщение</a></div>';
} elseif(mb_strlen($func -> delprobel($_POST['text'])) < 2)
{
echo '<div class="fon">Текст сообщения не может быть короче 2 символов!</div>';
echo '<div class="levo"><a href="mail.php?act=new" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
}else{
$mesg = shit($_POST['text']);
/////////////////
$mtime = $db -> query("SELECT * FROM `mail` WHERE `oid` = '".$ya['id']."' order by `time` DESC")->fetch_assoc();
if($mtime['time']+$nastr['floodpm']<=time()){
//////////////
if ($func->ignor($id,$ya['id'])==false) {
$sq1 = $db -> query("SELECT `id` FROM `dialogs` WHERE `user`='$id' and `oid`='$ya[id]' LIMIT 1");
$sq2= $db -> query("SELECT `id` FROM `dialogs` WHERE `oid`='$id' and `user`='$ya[id]' LIMIT 1");
if (($sq1-> num_rows == 0)and($sq2-> num_rows == 0)) {
$db -> query("INSERT INTO `dialogs` (`user`,`oid`,`time`) VALUES ('".$id."','".$ya['id']."','".time()."')");
$dialog = $db -> insert_id;
$db -> query("INSERT INTO `mail` (`fid`,`oid`,`dialog`,`text`,`time`) VALUES ('$id','$ya[id]','$dialog','$mesg','".time()."')");
}else{
if ($sq1-> num_rows > 0) {
$d=$sq1->fetch_assoc();
}elseif($sq2-> num_rows > 0){
$d=$sq2->fetch_assoc();
}
$dialog=$d['id'];
$db -> query("INSERT INTO `mail` (`fid`,`oid`,`dialog`,`text`,`time`) VALUES ('$id','$ya[id]','$dialog','$mesg','".time()."')");
$db -> query("Update `dialogs` set `time`='".time()."' where `id`='$dialog'");
}
header('location: mail.php?act=read&id='.$dialog);
}else{
echo '<div class="fon">Пользователь вас игнорирует!</div>';
echo '<div class="levo"><a href="mail.php?act=new" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
}
}else{
echo '<div class="fon">Следующее сообщение можно написать через '.$nastr['floodpm'].' сек.!</div>';
echo '<div class="levo"><a href="mail.php?act=new" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
echo '<div class="levo"><a href="./mail.php" class="levo_tuch">'.$diz -> img('back.png').' Мои сообщения</a></div>';
}
}
} else {
echo '<div class="fon">Данный пользователь отключил личные сообщения!</div>';
echo '<div class="levo"><a href="mail.php?act=new" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
echo '<div class="levo"><a href="./mail.php" class="levo_tuch">'.$diz -> img('back.png').' Мои сообщения</a></div>';
}
} else {
echo '<div class="fon">Самому себе писать нельзя!</div>';
echo '<div class="levo"><a href="mail.php?act=new" class="levo_tuch">Назад</a></div>';
echo '<div class="levo"><a href="./mail.php" class="levo_tuch">'.$diz -> img('back.png').' Мои сообщения</a></div>';
}
} else {
echo '<div class="fon">Пользователь с данным id не существует!</div>';
echo '<div class="levo"><a href="mail.php?act=new" class="levo_tuch">Назад</a></div>';
echo '<div class="levo"><a href="./mail.php" class="levo_tuch">'.$diz -> img('back.png').' Мои сообщения</a></div>';
}
break;
//Чтение входящих сообщений
case 'read':
$di = $db -> dbcount('COUNT(`id`)','dialogs','`id` = '.$id.' and `user` = '.$ya['id'].' or `id` = '.$id.' and `oid` = '.$ya['id'].'');
if($di>0){
$count = $db -> dbcount('COUNT(`id`)','mail','`dialog` = '.$id.' and `fid` = '.$ya['id'].' or `dialog` = '.$id.' and `oid` = '.$ya['id'].'');
$num = isset($ya['num']) ? $ya['num'] : 10;
$total = intval(($count - 1) / $num) + 1;
if (!isset($_GET['page']) || !is_numeric($_GET['page']) || $_GET['page'] < 1 )
{
$page = 1;
} elseif($_GET['page'] > $total)
{ $page = $total;
} else $page = (int)$_GET['page'];
$start = $page * $num - $num;
$d = $db -> query("SELECT `oid`,`user` FROM `dialogs` WHERE `id`='".$id."'")-> fetch_assoc();
if($d['oid']==$ya['id']){$clo=$d['user']; }else{ $clo=$d['oid'];}
echo '<div class="fon"><form action="mail.php?act=write&id='.$clo.'" method="post">
<textarea name="text" cols="'.$ya['width'].'" rows="'.$ya['height'].'"></textarea><br/>
<input type="submit" value="Отправить"/>
<a href="?id='.$id.'&act=read">Обновить</a>
<a href="?id='.$id.'&act=clear">Очистить</a>
</form></div>';
echo '<div class="new"/>'.$func->avatar($clo).' Диалог с '.$func->famname($clo).' '.$func->online($clo).'</div>';
if ($count > 0) {
$sql = $db -> query("SELECT * FROM `mail` WHERE `dialog`='".$id."' ORDER BY `time` desc LIMIT ".$start.",".$num);
while ($arr = $sql -> fetch_assoc()) {
if($arr['oid']==$ya['id']){
$user=$arr['fid'];
$ava=$arr['oid'];
$mail=$func->famname($ya['id']);
}else{
$user=$arr['oid'];
$ava=$arr['oid'];
$mail=$func->famname($user);
}
if($arr['read']=='no')$st='<small><span class="chet">(не прочитано)</span></small>'; else $st=null;
echo'<div class="fon"><table width="100%"><tr>
<td>'.$func->avatar($ava).'</td><td width=100% style="padding-left:5px;">
'.$mail.' '.$st.' <br />'.$func -> vremja($arr['time']).'<hr>
'.$func -> tags($func -> smiles($arr['text'])).'</td></tr></table></div>';
if ($arr['fid'] == $ya['id']) {
$db -> query("UPDATE `mail` SET `read` = 'yes' WHERE `id` = '".$arr['id']."' and `fid`='$ya[id]' LIMIT 1");
}
}
$act = '?act=read&id='.$id;
echo ''.$func -> pagenav($act,$page,$total).'';
}else{echo'<div class="fon">У вас нет истории общения с данным пользователем</div>';}
}else header('location: mail.php');
echo '<div class="levo"><a href="./mail.php" class="levo_tuch">'.$diz -> img('back.png').' Мои сообщения</a></div>';
break;
default:
echo '<div class="levo"><a href="/my/mail.php?act=new" class="levo_tuch">'.$diz -> img('mail.png').' Написать сообщение</a></div>';
$count = $db -> dbcount('COUNT(`id`)','dialogs','`user` = '.$ya['id'].' or `oid` = '.$ya['id'].'');
$num = isset($ya['num']) ? $ya['num'] : 10;
$total = intval(($count - 1) / $num) + 1;
if (!isset($_GET['page']) || !is_numeric($_GET['page']) || $_GET['page'] < 1 )
{
$page = 1;
} elseif($_GET['page'] > $total)
{ $page = $total;
} else $page = (int)$_GET['page'];
$start = $page * $num - $num;
if ($count > 0) {
$sql = $db -> query("SELECT * FROM `dialogs` WHERE `user` = '".$ya['id']."' or `oid` = '".$ya['id']."' ORDER BY `time` desc LIMIT ".$start.",".$num);
while ($arr = $sql -> fetch_assoc()) {
if($arr['user']==$ya['id'])$us=$arr['oid']; else $us=$arr['user'];
$f= $db -> query("SELECT `login`,`id`,`sex` FROM `users` WHERE `id` = '".$us."' LIMIT 1") -> fetch_assoc();
$count1 = $db -> dbcount('COUNT(`id`)','mail','`fid` = '.$ya['id'].' and `dialog` = '.$arr['id'].'');
$count2 = $db -> dbcount('COUNT(`id`)','mail','`dialog` = '.$arr['id'].' and `oid` = '.$ya['id'].'');
$count3 = $db -> dbcount('COUNT(`id`)','mail','`dialog` = '.$arr['id'].' and `fid` = '.$ya['id'].' and `read`="no"');
$new=null;
if($count3>0)$new='<span class="chet">+'.$count3.'</span>';
$max = $db -> dbcount('MAX(`id`)','mail','`dialog` = '.$arr['id'].'');
if($max>0){
$post_max = $db -> query("SELECT `text`,`oid`,`time` FROM `mail` WHERE `id` = '".$max."'")->fetch_assoc();
if($post_max['oid']==$ya['id'])$us_max=$ya['id']; else $us_max=$post_max['oid'];
}
echo '<a href="/my/mail.php?act=read&id='.$arr['id'].'" class="mail">
<table width=100%><tr valign="top">
<td width="5%">'.$func->avatar($us).'</td>
<td>'.$func->famname($us).'<br/>
'.$func->online($us).'<br/>
Сообщения <span class="count"/>'.$count1.'/'.$count2.''.$new.'</span>
</td>';
if(($_COOKIE['version']=='web' or !isset($_COOKIE['version']))and(VERSION=='1')){
echo '<td width="40%" style="padding-left:5px;">';
if($max>0){
if($arr['oid']!=$post_max['oid'])echo''.$func->avatar($us_max,24,24,1).' ';
echo ''.mb_substr($post_max['text'],0,20).'<br/>
'.$func -> vremja($post_max['time']).'';
}else echo 'Диалог пуст.';
echo '</td>';
}
echo'<td width="20%" style="padding-left:5px;">
<a href="/my/mail.php?id='.$arr['id'].'&act=deldialog">Удалить диалог</a></td>
</tr></table></a>
';
}
$act = '?';
echo ''.$func -> pagenav($act,$page,$total).'';
} else echo '<div class="fon">Почта пуста!</div>';
}
echo '<div class="levo"><a href="/my/" class="levo_tuch">'.$diz -> img('back.png').' Личный кабинет</a></div>';
echo '<div class="levo"><a href="/index.php" class="levo_tuch">'.$diz -> img('home.png').' На главную</a></div>';
#####Копирайт#######
$diz -> out($msg);
} else header('location: '.ROOT.'aut.php');
?>