Файл: my/mail.php
Строк: 295
<?php
define('GCMS',true);
define('ROOT','../');
require_once (ROOT.'system/power.php');
if ($aut) {
switch($act) {
//Удаляем сообщение
case 'delete':
if ($id) {
$sql = $db -> query("SELECT `text` FROM `mail` WHERE `id` = '".$id."' AND `fid` = '".$ya['id']."' LIMIT 1");
if ($sql -> num_rows > 0) {
if (!isset($_GET['true'])) {
$diz -> head('Сообщения');
$diz -> title('Удаляем сообщение');
$msg .= 'Вы действительно хотите удалить это сообщение?<br/>
<a href="mail.php?act=delete&id='.$id.'&true">Да</a> | <a href="mail.php?act=read&id='.$id.'">Нет</a>';
} else {
$db -> multi_query("DELETE FROM `mail` WHERE `id` = '".(int)$id."' AND `fid` = '".(int)$ya['id']."' LIMIT 1; OPTIMIZE TABLE `mail`");
header('refresh: 3; url=mail.php');
$diz -> head('Сообщения');
$diz -> title('Удаляем сообщение');
$msg .= 'Сообщение удалено!';
}
#####Копирайт#######
require_once (ROOT.'system/kopy.php');
$diz -> out($msg);
} else header('location: mail.php');
} else header('location: mail.php');
break;
//Сохраняем сообщение
case 'save':
if ($id) {
$sql1 = $db -> query("SELECT `id` FROM `mail` WHERE `read` = 'save' AND `fid` = '".$ya['id']."'");
if ($sql1 -> num_rows <= 100) {
$sql = $db -> query("SELECT `text` FROM `mail` WHERE `id` = '".$id."' AND `read` = 'save' and `fid` = '".$ya['id']."' LIMIT 1");
if ($sql -> num_rows == 0) {
if (!isset($_GET['true'])) {
$diz -> head('Сообщения');
$diz -> title('Сохраняем сообщение');
$msg .= 'Вы действительно хотите сохранить это сообщение?<br/>
<a href="mail.php?act=save&id='.$id.'&true">Да</a> | <a href="mail.php?act=readin&id='.$id.'">Нет</a>';
} else {
$db -> query("UPDATE `mail` SET `read` = 'save' WHERE `id` = '".$id."' LIMIT 1");
header('refresh: 3; url=mail.php');
$diz -> head('Сообщения');
$diz -> title('Сохраняем сообщение');
$msg .= 'Сообщение сохранено!';
}
#####Копирайт#######
require_once (ROOT.'system/kopy.php');
$diz -> out($msg);
} else header('location: mail.php?act=readin&id='.$id.'');
} else { header('refresh: 3; url=mail.php?act=readin&id='.$id.'');
$diz -> head('Ошибка');
$diz -> title('Ошибка');
$msg .= 'Вы привысили допустимый лимит!';
}
} else header('location: mail.php?act=readin&id='.$id.'');
break;
//Пишем новое сообщение
case 'new':
$diz -> head('Новое сообщение');
$diz -> title('Новое сообщение');
if($ya['balls']>$nastr['osms']){
if (!isset($_POST['text'])) {
$msg .= '<form action="mail.php?act=new" method="post"><div>
Ник/ID получателя:<br/><input type="text" name="login" maxlength="50"/><br/>
Тема:<br/><input type="text" name="title" maxlength="50"/><br/>
Сообщение:<br/><textarea name="text" cols="20" rows="3"></textarea><br/>
<input type="submit" value="Отправить"/>
</div></form>';
$msg .= '<div class="levo"><a href="./mail.php">Назад</a></div>';
} elseif($ya['id']==$_POST['login'] or $ya['login']==$_POST['login']) {
$msg .= 'Самому себе писать нельзя!<br/><a href="mail.php?act=new">Назад</a>';
} elseif(empty($_POST['login'])) {
$msg .= 'Не введён Ник/ID получателя!<br/><a href="mail.php?act=new">Назад</a>';
} elseif(mb_strlen($func -> delprobel($_POST['text'])) < 2)
{
$diz -> head('Соблюдай длину');
$diz -> title('Ошибка');
$diz -> out('Текст сообщения не может быть короче 2 символов!
<br/><a href="mail.php?act=new">Назад</a>');
} else {
$loading = shit($_POST['login']);
$sql = $db -> query("SELECT `id`,`login` FROM `users` WHERE `login` = '".$loading."' or `id`='".$loading."' LIMIT 1");
if ($sql -> num_rows > 0) {
$otpr = $sql -> fetch_assoc();
$login = shit($otpr['login']);
$sql = $db -> query("SELECT `id` FROM `users` WHERE `login` = '".$login."' LIMIT 1");
if ($sql -> num_rows > 0) {
$tch = abs(intval(htmlentities($db -> real_escape_string($otpr['id']))));
$sql2 = $db -> query("SELECT * FROM `nuts` WHERE `where`='ignor' and `user`='$tch' and `idwh`='$ya[id]' LIMIT 1");
if ($sql2 -> num_rows == 0) {
$tch = shit($_POST['login']);
if (empty($_POST['title'])) $theme = 'Без темы'; else $theme = shit($_POST['title']);
$mesg = shit($_POST['text']);
$db -> query("INSERT INTO `mail` (`fid`,`oid`,`title`,`text`,`time`) VALUES ('".$tch."','".$ya['id']."','".$theme."','".$mesg."','".time()."')");
$msg .= 'Сообщение отправлено!';
$msg .= '<div class="levo">'.$diz -> img('back.png').'<a href="./mail.php">Мои сообщения</a>';
$msg .= '</br>'.$diz -> img('home.png').'<a href="/index.php">На главную</a></div>';
}else{
$diz -> head('Ошибка');
$diz -> title('Ошибка');
$msg .='Пользователь вас игнорирует!</br><a href="mail.php?act=new">Назад</a>';
$msg .= '<div class="levo">'.$diz -> img('back.png').'<a href="./mail.php">Мои сообщения</a>';
$msg .= '</br>'.$diz -> img('home.png').'<a href="/index.php">На главную</a></div>';
}
}else{
$diz -> head('Ошибка');
$diz -> title('Ошибка');
$msg .='Пользователь с введёнными данными не существует!</br><a href="mail.php?act=new">Назад</a>';
$msg .= '<div class="levo">'.$diz -> img('back.png').'<a href="./mail.php">Мои сообщения</a>';
$msg .= '</br>'.$diz -> img('home.png').'<a href="/index.php">На главную</a></div>';
}
}else{
$diz -> head('Ошибка');
$diz -> title('Ошибка');
$msg .='Пользователь с введёнными данными не существует!</br><a href="mail.php?act=new">Назад</a>';
$msg .= '<div class="levo">'.$diz -> img('back.png').'<a href="./mail.php">Мои сообщения</a>';
$msg .= '</br>'.$diz -> img('home.png').'<a href="/index.php">На главную</a></div>';}
}
}else{$msg.='Извините,но вы пока не можете писать личные сообщения!';
header('refresh: 3; url=mail.php');}
#####Копирайт#######
require_once (ROOT.'system/kopy.php');
$diz -> out($msg);
break;
//Пишем быстрое сообщение
case 'write':
if($ya['balls']>$nastr['osms']){
if ($id) {
$sql = $db -> query("SELECT `login` FROM `users` WHERE `id` = '".$id."' LIMIT 1");
if ($sql -> num_rows > 0) {
$name = $sql -> fetch_assoc();
$diz -> head('Ответное сообщение');
$diz -> title('Ответное сообщение');
if (!isset($_POST['text'])) {
$temka = $db -> query("SELECT `title` FROM `mail` WHERE `id` = '".$sid."' LIMIT 1") -> fetch_assoc();
if($sid==0){$tem='Новая тема!';}else{$tem='RE: '.$temka['title'].'';}
$msg .= '<form action="mail.php?act=write&id='.$id.'&sid='.$sid.'" method="post"><div>
Адрес: <b><a href="id'.$id.'">'.$name['login'].'</a></b><br/>
Тема:<br/><textarea name="title" cols="20" rows="1">'.$tem.'</textarea><br/>
Сообщение:<br/><textarea name="text" cols="20" rows="3"></textarea><br/>
<input type="submit" value="Отправить"/>
</div></form>';
if($sid==0){$end='./id'.$id.'';}else{$end='mail.php?act=readin&id='.$sid.'';}
$msg .= '<div class="levo"><a href="'.$end.'">Назад</a></div>';
} elseif($ya['id']==$id) {
$msg .= 'Самому себе писать нельзя!<br/><a href="mail.php?act=write&id='.$id.'&sid='.$sid.'">Назад</a>';
} elseif(mb_strlen($func -> delprobel($_POST['text'])) < 2)
{
$diz -> head('Соблюдай длину');
$diz -> title('Ошибка');
$diz -> out('Текст сообщения не может быть короче 2 символов!
<br/><a href="mail.php?act=write&id='.$id.'&sid='.$sid.'">Назад</a>');
}else{
$sql2 = $db -> query("SELECT * FROM `nuts` WHERE `where`='ignor' and `user`='$id' and `idwh`='$ya[id]' LIMIT 1");
if ($sql2 -> num_rows == 0) {
if (empty($_POST['title'])) $theme = 'Без темы'; else $theme = shit($_POST['title']);
$mesg = shit($_POST['text']);
$db -> query("INSERT INTO `mail` (`fid`,`oid`,`title`,`text`,`time`) VALUES ('$id','$ya[id]','$theme','$mesg','".time()."')");
$msg .= 'Сообщение успешно отправлено!';
$msg .= '<div class="levo">'.$diz -> img('back.png').'<a href="./mail.php">Мои сообщения</a>';
$msg .= '</br>'.$diz -> img('home.png').'<a href="/index.php">На главную</a></div>';
}else{
$diz -> head('Ошибка');
$diz -> title('Ошибка');
$msg .='Пользователь вас игнорирует!';
#####Копирайт#######
require_once (ROOT.'system/kopy.php');
}
}
#####Копирайт#######
require_once (ROOT.'system/kopy.php');
$diz -> out($msg);
} else {$diz -> head('Ошибка');
$diz -> title('Ошибка');
$msg .='Пользователь с данным id не существует!';
#####Копирайт#######
require_once (ROOT.'system/kopy.php');
$diz -> out($msg); }
} else {$msg .='Не введен id или пользователь не найден.';}
}else{$msg.='Извините,но вы пока не можете писать личные сообщения!';
header('refresh: 3; url=mail.php');}
break;
//Чтение входящих сообщений
case 'readin':
if ((int)$id) {
$sql = $db -> query("SELECT * FROM `mail` WHERE `id` = '".$id."' AND `fid` = '".$ya['id']."' and `read`<>'save' LIMIT 1");
if ($sql -> num_rows > 0) {
$arr = $sql -> fetch_assoc();
$diz -> head('Сообщения');
$diz -> title('Входящее сообщение');
$sms = $db -> query("SELECT `fid`,`oid` FROM `mail` WHERE `id` = '".$id."' LIMIT 1") -> fetch_assoc();
$ot = $db -> query("SELECT `login` FROM `users` WHERE `id` = '".$sms['oid']."' LIMIT 1") -> fetch_assoc();
$for = $db -> query("SELECT `login` FROM `users` WHERE `id` = '".$sms['fid']."' LIMIT 1") -> fetch_assoc();
if ($sms['oid'] == $ya['id']) {
$msg .= 'Кому: <a href="./id'.$sms['fid'].'"><span>'.$for['login'].'</span></a><br/>';
}else{
$msg .= 'От: <a href="./id'.$sms['oid'].'"><span>'.$ot['login'].'</span></a><br/>';}
if ($sms['fid'] == $ya['id']) {
$db -> query("UPDATE `mail` SET `read` = 'yes' WHERE `id` = '".$id."' LIMIT 1");
}
$msg .= '<b>Время:</b> '.$func -> vremja($arr['time']).'<br/><b>Сообщение:</b></br>'.$func -> tags($func -> smiles($arr['text']));
if ($sms['fid'] == $ya['id']) {
$msg .= '<div class="top"><a href="mail.php?act=write&id='.$sms['oid'].'&sid='.$id.'">Ответить</a> |
<a href="mail.php?act=delete&id='.$arr['id'].'">Удалить</a> |
<a href="mail.php?act=save&id='.$arr['id'].'">Сохранить</a></div>';}
$msg .= '<div class="levo">'.$diz -> img('back.png').'<a href="./mail.php">Мои сообщения</a>';
$msg .= '</br>'.$diz -> img('home.png').'<a href="/index.php">На главную</a></div>';
#####Копирайт#######
require_once (ROOT.'system/kopy.php');
$diz -> out($msg);
} else header('location: mail.php');
} else header('location: mail.php');
break;
//Чтение сохранённых сообщений
case 'readsav':
if ((int)$id) {
$sql = $db -> query("SELECT * FROM `mail` WHERE `id` = '".$id."' AND `fid` = '".$ya['id']."' and `read`='save' LIMIT 1");
if ($sql -> num_rows > 0) {
$arr = $sql -> fetch_assoc();
$diz -> head('Сообщения');
$diz -> title('Сохранённое сообщение');
$sms = $db -> query("SELECT `fid`,`oid` FROM `mail` WHERE `id` = '".$id."' LIMIT 1") -> fetch_assoc();
$ot = $db -> query("SELECT `login` FROM `users` WHERE `id` = '".$sms['oid']."' LIMIT 1") -> fetch_assoc();
$for = $db -> query("SELECT `login` FROM `users` WHERE `id` = '".$sms['fid']."' LIMIT 1") -> fetch_assoc();
if ($sms['oid'] == $ya['id']) {
$msg .= 'Кому: <a href="./id'.$sms['fid'].'"><span>'.$for['login'].'</span></a><br/>';
}else{
$msg .= 'От: <a href="./id'.$sms['oid'].'"><span>'.$ot['login'].'</span></a><br/>';}
$msg .= '<b>Время:</b> '.$func -> vremja($arr['time']).'<br/><b>Сообщение:</b></br>'.$func -> tags($func -> smiles($arr['text']));
if ($sms['fid'] == $ya['id']) {
$msg .= '<div class="top"><a href="mail.php?act=delete&id='.$arr['id'].'">Удалить</a></div>';}
$msg .= '<div class="levo">'.$diz -> img('back.png').'<a href="./mail.php">Мои сообщения</a>';
$msg .= '</br>'.$diz -> img('home.png').'<a href="/index.php">На главную</a></div>';
#####Копирайт#######
require_once (ROOT.'system/kopy.php');
$diz -> out($msg);
} else header('location: mail.php');
} else header('location: mail.php');
break;
//Чтение исходящих сообщений
case 'readon':
if ((int)$id) {
$sql = $db -> query("SELECT * FROM `mail` WHERE `id` = '".$id."' AND `oid` = '".$ya['id']."' LIMIT 1");
if ($sql -> num_rows > 0) {
$arr = $sql -> fetch_assoc();
$diz -> head('Сообщения');
$diz -> title('Исходящее сообщение');
$sms = $db -> query("SELECT `fid`,`oid` FROM `mail` WHERE `id` = '".$id."' LIMIT 1") -> fetch_assoc();
$ot = $db -> query("SELECT `login` FROM `users` WHERE `id` = '".$sms['oid']."' LIMIT 1") -> fetch_assoc();
$for = $db -> query("SELECT `login` FROM `users` WHERE `id` = '".$sms['fid']."' LIMIT 1") -> fetch_assoc();
$msg .= 'Кому: <a href="./id'.$sms['fid'].'"><span>'.$for['login'].'</span></a><br/>';
if ($sms['fid'] == $ya['id']) {
$db -> query("UPDATE `mail` SET `read` = 'yes' WHERE `id` = '".(int)$id."' LIMIT 1");
}
$msg .= '<b>Время:</b> '.$func -> vremja($arr['time']).'<br/><b>Сообщение:</b></br>'.$func -> tags($func -> smiles($arr['text']));
$msg .= '<div class="levo">'.$diz -> img('back.png').'<a href="./mail.php">Мои сообщения</a>';
$msg .= '</br>'.$diz -> img('home.png').'<a href="/index.php">На главную</a></div>';
#####Копирайт#######
require_once (ROOT.'system/kopy.php');
$diz -> out($msg);
} else header('location: mail.php');
} else header('location: mail.php');
break;
//Сохранённые
case 'saves':
$diz -> head('Сохранённые');
$count = $db -> dbcount('COUNT(*)','mail','`fid` = '.$ya['id'].' and `read`="save"');
$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) {
$diz -> title('Входящие: '.$count);
$sql = $db -> query("SELECT * FROM `mail` WHERE `fid` = '".$ya['id']."' and `read`='save' ORDER BY `id` desc LIMIT ".$start.",".$num);
while ($arr = $sql -> fetch_assoc()) {
$name = $db -> query("SELECT `login` FROM `users` WHERE `id` = '".$arr['oid']."' LIMIT 1") -> fetch_assoc();
if ($arr['read'] == 'no') {$msg .= '<div class="top">[!]<a href="mail.php?act=readsav&id='.$arr['id'].'"><b>'.$arr['title'].'</b></a></div>'.$name['login'].' ('.$func -> vremja($arr['time']).')<br/>';}
else{$msg .= '<div class="top"><a href="mail.php?act=readsav&id='.$arr['id'].'">'.$arr['title'].'</a></div> <a href="id'.$arr['oid'].'">'.$name['login'].'</a> ('.$func -> vremja($arr['time']).')<br/>';}
}
$act = '?act=saves';
$msg .= ''.$func -> pagenav($act,$page,$total).'';
} else {
$diz -> head('Сохранённые сообщения');
$diz -> title('Сохранённые сообщения');
$msg .= 'Сохранённых сообщений нет';
}
$msg .= '<div class="levo">'.$diz -> img('back.png').'<a href="./mail.php">Мои сообщения</a>';
$msg .= '</br>'.$diz -> img('home.png').'<a href="/index.php">На главную</a></div>';
#####Копирайт#######
require_once (ROOT.'system/kopy.php');
$diz -> out($msg);
break;
//Входящие
case 'in':
$diz -> head('Входящие');
if($sid==null or (int)$sid==1){
if($sid==1){$and=' AND `oid`=2';}else{$and=' AND `oid`<>2';}
$count = $db -> dbcount('COUNT(*)','mail','`fid` = '.$ya['id'].''.$and.' and `read`<>"save"');
$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) {
$diz -> title('Входящие: '.$count);
$sql = $db -> query("SELECT * FROM `mail` WHERE `fid` = '".$ya['id']."' $and ORDER BY `id` desc LIMIT ".$start.",".$num);
while ($arr = $sql -> fetch_assoc()) {
$name = $db -> query("SELECT `login` FROM `users` WHERE `id` = '".$arr['oid']."' LIMIT 1") -> fetch_assoc();
if ($arr['read'] == 'no') {$msg .= '<div class="top">[!]<a href="mail.php?act=readin&id='.$arr['id'].'"><b>'.$arr['title'].'</b></a></div>'.$name['login'].' ('.$func -> vremja($arr['time']).')<br/>';}
else{$msg .= '<div class="top"><a href="mail.php?act=readin&id='.$arr['id'].'">'.$arr['title'].'</a></div> <a href="id'.$arr['oid'].'">'.$name['login'].'</a> ('.$func -> vremja($arr['time']).')<br/>';}
}
$act = '?act=in&sid='.(int)$sid;
$msg .= ''.$func -> pagenav($act,$page,$total).'';
} else {
$diz -> head('Входящие сообщения');
$diz -> title('Входящие сообщения');
$msg .= 'Входящих сообщений нет';
}
}else{$msg .='Недопустимое значение!';}
$msg .= '<div class="levo">'.$diz -> img('back.png').'<a href="./mail.php">Мои сообщения</a>';
$msg .= '</br>'.$diz -> img('home.png').'<a href="/index.php">На главную</a></div>';
#####Копирайт#######
require_once (ROOT.'system/kopy.php');
$diz -> out($msg);
break;
//Исходящие
case 'up':
$diz -> head('Исходящие сообщения');
$count = $db -> dbcount('COUNT(*)','mail','`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) {
$diz -> title('Исходящие: '.$count);
$sql = $db -> query("SELECT * FROM `mail` WHERE `oid` = '".$ya['id']."' ORDER BY `id` DESC LIMIT ".$start.",".$num);
while ($arr = $sql -> fetch_assoc()) {
$name = $db -> query("SELECT `login` FROM `users` WHERE `id` = '".$arr['fid']."' LIMIT 1") -> fetch_assoc();
if ($arr['read'] == 'no') $pl = ' <span>[<b>Непрочитано</b>]</span>'; else $pl = '';
$msg .= '<div class="top"><a href="mail.php?act=readon&id='.$arr['id'].'">'.$arr['title'].'</a>'.$pl.'</div> '.$name['login'].' ('.$func -> vremja($arr['time']).')<br/>';
}
$act = '?act=up';
$msg .= ''.$func -> pagenav($act,$page,$total).'';
} else {
$diz -> head('Исходящие сообщения');
$diz -> title('Исходящие сообщения');
$msg .= 'Исходящих сообщений нет';
}
$msg .= '<div class="levo">'.$diz -> img('back.png').'<a href="./mail.php">Мои сообщения</a>';
$msg .= '</br>'.$diz -> img('home.png').'<a href="/index.php">На главную</a></div>';
#####Копирайт#######
require_once (ROOT.'system/kopy.php');
$diz -> out($msg);
break;
default:
$diz -> head('Сообщения');
$diz -> title('Cообщения');
$msg .= '<a href="./mail.php?act=new">Написать письмо</a></br>';
$sms = $db -> dbcount('COUNT(*)','mail','`fid` = '.$ya['id'].' AND `oid`<>2 and `read`<>"save"');
$smsnew = $db -> dbcount('COUNT(`id`)','mail',"`fid` = '".$ya['id']."' AND `read` = 'no' AND `oid`<>'2' and `read`<>'save'");
$msg .= '<a href="./mail.php?act=in">Входящие</a> <b>('.$smsnew.'/'.$sms.')</b></br>';
$sms_s = $db -> dbcount('COUNT(*)','mail','`fid` = '.$ya['id'].' AND `oid`=2 and `read`<>"save"');
$smsnew_s = $db -> dbcount('COUNT(`id`)','mail',"`fid` = '".$ya['id']."' AND `read` = 'no' AND `oid`='2' and `read`<>'save'");
$msg .= '<a href="./mail.php?act=in&sid=1">Системные</a> <b>('.$smsnew_s.'/'.$sms_s.')</b></br>';
$smssev = $db -> dbcount('COUNT(`id`)','mail',"`fid` = '".$ya['id']."' AND `read` = 'save'");
$msg .= '<a href="./mail.php?act=saves">Сохранённые</a> <b>('.$smssev.'/100)</b></br>';
$smsup = $db -> dbcount('COUNT(*)','mail','`oid` = '.$ya['id']);
$smsupi = $db -> dbcount('COUNT(`id`)','mail',"`oid` = '".$ya['id']."' AND `read` = 'no'");
$msg .= '<a href="./mail.php?act=up">Исходящие</a> <b>('.$smsupi.'/'.$smsup.')</b></br>';
$msg .= '<div class="levo">'.$diz -> img('back.png').'<a href="./">Личный кабинет</a></br>';
$msg .= ''.$diz -> img('home.png').'<a href="/index.php">На главную</a></div>';
#####Копирайт#######
require_once (ROOT.'system/kopy.php');
$diz -> out($msg);
}
} else {
header('location: ../aut.php');
}
?>