Файл: www/mail.php
Строк: 137
<?
include 'inc/mysql.php';//БД
include 'inc/check.php';//Сессии
include 'inc/functions.php'; //Стиль и кодировка
top();
include 'inc/account.php';//Пользовательская переменная account
echo '<title>Почта</title>';
$mail=true;
include 'inc/interface.php';
echo '<div class="title">Почта</div><div class="tools">Сортировка:
'.($_GET['act']!='all'?'<a href="?act=all">Все</a>':'Все').' | '.($_GET['act']!='in'?'<a href="?act=in">Входящие</a>':'Входящие').'
| '.($_GET['act']!='out'?'<a href="?act=out">Исходящие</a>':'Исходящие').'</div><div class="border-top"></div>';
if (isset($_SESSION['auth']) && $_SESSION['auth']==1){
switch($_GET['act']){
case 'in'://Входящие
$cop=10;
$ca=mysql_result(mysql_query("SELECT COUNT(*) FROM `mail` WHERE `to`='".$account['id']."'"),0);
$cp=ceil($ca/$cop);
if(isset($_GET['page']) && is_numeric($_GET['page'])){
$page = $_GET['page'];
if($_GET['page']>$cp) $page=$cp;
if($_GET['page']<1)$page=1;
}else{
$page=1;
}
$start=$page*$cop-$cop;
if ($ca==0){
echo '
<div class="help">
Нет сообщений
</div>
';
}
$dlist = 'list1';
$q=mysql_query("SELECT * FROM `mail` WHERE `to`='".$account['id']."' ORDER BY `id` DESC LIMIT $start,$cop");
while ($result=mysql_fetch_assoc($q)){
echo '<div class="'.$dlist.'">';
$_user = mysql_fetch_assoc(mysql_query("SELECT * FROM `account` WHERE `id`='".$result['user']."'"));
echo '
<a href="/char.php?id='.$_user['id'].'">'.$_user['name'].'</a> '.untime($result['time']).'<hr><a href="?act=msg&id='.$result['id'].'">';
if ($result['read']==1){
echo '<font color="#555">';
}
$helpg=$result['msg'];
echo smiles(mb_substr(htmlspecialchars(stripslashes($result['msg'])),0,100,'UTF-8'));
if (strlen($helpg)>100){
echo '...';
}
if ($result['read']==1){
echo '</font>';
}
echo '</a> ';
echo '</div>';
if ($dlist == 'list1'){
$dlist = 'list2';
}else{
$dlist = 'list1';
}
}
echo '<a class="link" href="?act=dall">Удалить все прочитанные</a>';
echo '<a class="link" href="?act=dallout">Удалить все исходящие</a>';
echo '<a class="link" href="?act=dalll">Удалить все сообщения</a>';
echo '
<div class="nstr">
Страницы
';
if($page-1>0){
echo '<a href="?act=in&page='.($page-1).'"><</a> ';
}
if($page-1>0){
echo '<a href="?act=in&page='.($page-1).'">'.($page-1).'</a> ';
}
echo '<b>'.$page.'</b>';
if($page+1<=$cp){
echo ' <a href="?act=in&page='.($page+1).'">'.($page+1).'</a>';
}
if($page+1<=$cp){
echo ' <a href="?act=in&page='.($page+1).'">></a>';
}
echo '</div>';
break;
case 'dall' :
mysql_query("DELETE FROM `mail` WHERE `to`='".$account['id']."' AND `read`='1'");
echo '<div class="help">Все прочитанные сообщения удалены</div>';
echo '<div class="nstr"><a class="navi" href="?">Почта</a></div>';
break;
case 'dalll' :
mysql_query("DELETE FROM `mail` WHERE `to`='".$account['id']."' OR `user`='".$account['id']."'");
echo '<div class="help">Все сообщения удалены</div>';
echo '<div class="nstr"><a class="navi" href="?">Почта</a></div>';
break;
case 'dallout' :
mysql_query("DELETE FROM `mail` WHERE `user`='".$account['id']."'");
echo '<div class="help">Все исходящие сообщения удалены</div>';
echo '<div class="nstr"><a class="navi" href="?">Почта</a></div>';
break;
case 'out':
$cop=10;
$ca=mysql_result(mysql_query("SELECT COUNT(*) FROM `mail` WHERE `user`='".$account['id']."'"),0);
$cp=ceil($ca/$cop);
if(isset($_GET['page']) && is_numeric($_GET['page'])){
$page = $_GET['page'];
if($_GET['page']>$cp) $page=$cp;
if($_GET['page']<1)$page=1;
}else{
$page=1;
}
$start=$page*$cop-$cop;
if ($ca==0){
echo '
<div class="help">
Нет сообщений
</div>
';
}
$dlist = 'list1';
$q=mysql_query("SELECT * FROM `mail` WHERE `user`='".$account['id']."' ORDER BY `id` DESC LIMIT $start,$cop");
while ($result=mysql_fetch_assoc($q)){
echo '<div class="'.$dlist.'">';
$_user = mysql_fetch_assoc(mysql_query("SELECT * FROM `account` WHERE `id`='".$result['to']."'"));
echo '
<a href="/char.php?id='.$_user['id'].'">'.$_user['name'].'</a> '.untime($result['time']).'<hr><a href="?act=msg&id='.$result['id'].'">';
echo '<font color="#555">';
$helpg=$result['msg'];
//$result['msg'] = iconv("UTF-8", "CP1251//IGNORE", $result['msg']);
echo smiles(mb_substr(htmlspecialchars(stripslashes($result['msg'])),0,100,'UTF-8'));
//$result['msg'] = iconv("CP1251", "UTF-8", $result['msg']);
if (strlen($helpg)>100){
echo '...';
}
if (!$result['read']){
echo '(не прочитано)';
}
echo '</font>';
echo '</a> ';
echo '</div>';
if ($dlist == 'list1'){
$dlist = 'list2';
}else{
$dlist = 'list1';
}
}
echo '<a class="link" href="?act=dall">Удалить все прочитанные</a>';
echo '<a class="link" href="?act=dallout">Удалить все исходящие</a>';
echo '<a class="link" href="?act=dalll">Удалить все сообщения</a>';
echo '
<div class="nstr">
Страницы
';
if($page-1>0){
echo '<a href="?act=out&page='.($page-1).'"><</a> ';
}
if($page-1>0){
echo '<a href="?act=out&page='.($page-1).'">'.($page-1).'</a> ';
}
echo '<b>'.$page.'</b>';
if($page+1<=$cp){
echo ' <a href="?act=out&page='.($page+1).'">'.($page+1).'</a>';
}
if($page+1<=$cp){
echo ' <a href="?act=out&page='.($page+1).'">></a>';
}
echo '</div>';
break;
default:
$cop=10;
$ca=mysql_result(mysql_query("SELECT COUNT(*) FROM `mail` WHERE `user`='".$account['id']."' OR `to`='".$account['id']."'"),0);
$cp=ceil($ca/$cop);
if(isset($_GET['page']) && is_numeric($_GET['page'])){
$page = $_GET['page'];
if($_GET['page']>$cp) $page=$cp;
if($_GET['page']<1)$page=1;
}else{
$page=1;
}
$start=$page*$cop-$cop;
if ($ca==0){
echo '
<div class="help">
Нет сообщений
</div>
';
}
$dlist = 'list1';
$q=mysql_query("SELECT * FROM `mail` WHERE `user`='".$account['id']."' OR `to`='".$account['id']."' ORDER BY `id` DESC LIMIT $start,$cop");
while ($result=mysql_fetch_assoc($q)){
echo '<div class="'.$dlist.'">';
if ($result['user']==$account['id']){
$_user = mysql_fetch_assoc(mysql_query("SELECT * FROM `account` WHERE `id`='".$result['to']."'"));
}else{
$_user = mysql_fetch_assoc(mysql_query("SELECT * FROM `account` WHERE `id`='".$result['user']."'"));
}
echo '
<a href="/char.php?id='.$_user['id'].'">'.$_user['name'].'</a> '.untime($result['time']).'<hr><a href="?act=msg&id='.$result['id'].'">';
if ($result['to']==$account['id']){
if ($result['read']==1){
echo '<font color="#555">';
}
}else{
echo '<font color="#555">';
}
$helpg=$result['msg'];
//$result['msg'] = iconv("UTF-8", "CP1251//IGNORE", $result['msg']);
echo smiles(mb_substr(htmlspecialchars(stripslashes($result['msg'])),0,100,'UTF-8'));
//$result['msg'] = iconv("CP1251", "UTF-8", $result['msg']);
if (strlen($helpg)>100){
echo '...';
}
if ($result['to']==$account['id']){
if ($result['read']==1){
echo '</font>';
}
}else{
if (!$result['read']){
echo '(не прочитано)';
}
echo '</font>';
}
echo '</a> ';
echo '</div>';
if ($dlist == 'list1'){
$dlist = 'list2';
}else{
$dlist = 'list1';
}
}
echo '<a class="link" href="?act=dall">Удалить все прочитанные</a>';
echo '<a class="link" href="?act=dallout">Удалить все исходящие</a>';
echo '<a class="link" href="?act=dalll">Удалить все сообщения</a>';
echo '
<div class="nstr">
Страницы
';
if($page-1>0){
echo '<a href="?act=out&page='.($page-1).'"><</a> ';
}
if($page-1>0){
echo '<a href="?act=out&page='.($page-1).'">'.($page-1).'</a> ';
}
echo '<b>'.$page.'</b>';
if($page+1<=$cp){
echo ' <a href="?act=out&page='.($page+1).'">'.($page+1).'</a>';
}
if($page+1<=$cp){
echo ' <a href="?act=out&page='.($page+1).'">></a>';
}
echo '</div>';
break;
case 'msg':
if (isset($_GET['id'])){
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `mail` WHERE `id`='".intval($_GET['id'])."' AND (`user`='".$account['id']."' OR `to`='".$account['id']."')"),0)){
$msg=mysql_fetch_assoc(mysql_query("SELECT * FROM `mail` WHERE `id`='".intval($_GET['id'])."'"));
if ($msg['read']==0 AND $msg['user']!=$account['id']){
mysql_query("UPDATE `mail` SET `read`='1' WHERE `id`='".$msg['id']."'");
}
if ($msg['user']==$account['id']){
echo '<div class="help">Кому: <a href="/char.php?id='.$msg['to'].'">'.mysql_result(mysql_query("SELECT `name` FROM `account` WHERE `id`='".$msg['to']."'"),0).'</a>';
if (!$msg['read']){
echo ' (не прочитано)';
}
echo '</div>';
}else{
echo '<div class="help">От: <a href="/char.php?id='.$msg['user'].'">'.mysql_result(mysql_query("SELECT `name` FROM `account` WHERE `id`='".$msg['user']."'"),0).'</a></div>';
}
echo '<div class="help">Когда: '.untime($msg['time']).'</div>';
echo '<div class="list2">';
echo smiles(htmlspecialchars(stripslashes($msg['msg']))).'</div>';
if ($msg['user']!=$account['id']){
echo '<div class="aut">';
echo '<form method="post" action="?act=help&user='.$msg['user'].'">';
echo 'Сообщение:<br />';
echo '<textarea name="help"></textarea><br />';
echo '<input type="submit" class="submit" value="Отправить">';
echo '</form>';
echo '</div>';
}
echo '<a class="link" href="?act=dhelp&id='.$msg['id'].'">Удалить</a>';
echo '<div class="nstr"><a class="navi" href="?">Почта</a></div>';
}else{
header("Location: ?");
exit;
}
}else{
header("Location: ?");
exit;
}
break;
case 'dhelp':
if (isset($_GET['id'])){
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `mail` WHERE `id`='".intval($_GET['id'])."' AND (`user`='".$account['id']."' OR `to`='".$account['id']."')"),0)){
$msg=mysql_fetch_assoc(mysql_query("SELECT * FROM `mail` WHERE `id`='".intval($_GET['id'])."'"));
mysql_query("DELETE FROM `mail` WHERE `id`='".$msg['id']."'");
echo '<div class="help">Сообщение успешно удалено</div>';
echo '<div class="nstr"><a class="navi" href="?">Почта</a></div>';
}else{
header("Location: ?");
exit;
}
}else{
header("Location: ?");
exit;
}
break;
case 'mesg':
if (isset($_GET['user'])){
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `account` WHERE `id`='".intval($_GET['user'])."'"),0)){
if (isset($_POST['help'])){
$_POST['msg'] = trim($_POST['help']);
if(!empty($_POST['msg'])){
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `mail` WHERE `user`='".$account['id']."'"),0)>0 AND 5>(time()-mysql_result(mysql_query("SELECT `time` FROM `mail` WHERE `user`='".$account['id']."' ORDER BY `id` DESC LIMIT 1"),0)))$help[]='Нельзя писать так часто!';
if(strlen($_POST['msg'])>255) $help[]='Слишком длинное сообщение!';
if(strlen($_POST['msg'])<2) $help[]='Слишком короткое сообщение!';
}else{
$help[]='Пустое сообщение!';
}
if(!$help){
$msg = mysql_real_escape_string($_POST['msg']);
$msg = $msg;
mysql_query("INSERT INTO `mail`(`user`,`msg`,`time`,`to`,`read`) VALUES('".$account['id']."','$msg','".time()."','".intval($_GET['user'])."','0')");
echo '<div class="help">Сообщение успешно отправлено</div>';
echo '<div class="nstr"><a class="navi" href="?">Почта</a></div>';
down();
exit;
}else{
foreach($help as $value){
echo '
<div class="help">'.$value.'</div>
';
}
}
}
echo '<div class="help">';
echo 'Письмо для '.mysql_result(mysql_query("SELECT `name` FROM `account` WHERE `id`='".intval($_GET['user'])."'"),0);
echo '</div>';
echo '<div class="aut">';
echo '<form method="post" action="">';
echo 'Сообщение:<br />';
echo '<textarea name="help"></textarea><br />';
echo '<input type="submit" class="submit" value="Отправить">';
echo '</form>';
echo '</div>';
echo '<div class="nstr"><a class="navi" href="?">Почта</a></div>';
}else{
header("Location: ?");
exit;
}
}else{
header("Location: ?");
exit;
}
break;
}
down();
}else{
header("Location: /index.php");
exit;
}
?>