Файл: mail.php
Строк: 62
<?php
require('includes/header.php');
require('includes/utils.php');
require('includes/db.php');
require('includes/config.php');
switch($_GET['page'])
{
default:
$inbox = @mysql_result(@mysql_query("SELECT COUNT(*) FROM `letters` WHERE `to` = '".$autorize['id']."' AND `type` = '1';"), 0);
$outbox = @mysql_result(@mysql_query("SELECT COUNT(*) FROM `letters` WHERE `from` = '".$autorize['id']."' AND `type` = '2';"), 0);
$new_inbox = @mysql_result(@mysql_query("SELECT COUNT(*) FROM `letters` WHERE `to` = '".$autorize['id']."' AND `new` = '1' AND `type` = '1';"), 0);
?>
<a href='?mdl=letters&page=inbox'>Входящие</a> (<?=$new_inbox?>/<?=$inbox?>)<br/>
<a href='?mdl=letters&page=outbox'>Отправленные</a> (<?=$outbox?>)<br/>
<a href='?mdl=letters&page=new'>Написать письмо</a><br/>
<br/>
<a href='?mdl=letters&page=clear'>Удалить все письма</a><br/>
<?
break;
case 'clear':
if(!isset($_GET['yes']))
{
?>
Вы уверены что хотите удалить все письма?<br/>
<a href='?mdl=letters'>Нет</a>/<a href='?mdl=letters&page=clear&yes'>Да</a><br/>
<?
}
else
{
@mysql_query("DELETE FROM `letters` WHERE (`from` = '".$autorize['id']."' AND `type` = '1') OR (`to` = '".$autorize['id']."' AND `new` = '1');");
echo 'Очистка писем выполнена.<br/>';
}
break;
case 'inbox':
$all = @mysql_result(@mysql_query("SELECT COUNT(*) FROM `letters` WHERE `to` = '".$autorize['id']."' AND `type` = '1';"), 0);
$lt = (int)$_GET['lt'];
if(empty($lt)) $lt = 0;
$max = 5;
$query = @mysql_query("SELECT * FROM `letters` WHERE `to` = '".$autorize['id']."' AND `type` != '2' ORDER BY `time` DESC LIMIT $lt, $max;");
$i = 0;
while($array = @mysql_fetch_array($query))
{
$from = @mysql_result(@mysql_query("SELECT `name` FROM `accounts` WHERE `id` = '".$array['from']."';"), 0);
if($array['new'] == 1) echo '<span style="color: #FF0000"><b>[New]</b></span>';
?>
<small>[<?=date('d/m/Y, H:i:s', $array['time'])?>]</small><br/>
От: <?=clear($from)?> (ID: <?=$array['from']?>)<br/>
Тема: <?=clear($array['subject'])?><br/>
Сообщение: <?=clear($array['message'])?><br/>
[<a href='?mdl=letters&page=new&to=<?=(int)$array['to']?>&th=<?=base64_encode('RE: '.$array['subject'])?>'>ответить</a>]<br/>
---<br/>
<?
if($array['new'] == 1) @mysql_query("UPDATE `letters` SET `new` = 0 WHERE `id` = '".$array['id']."';");
$i++;
}
if($i == 0) echo 'Писем нет..<br/>';
if($lt > 0) echo '<a href="?mdl=letters&page=inbox&lt='.($lt - $max).'">Пред.стр.</a><br/>';
if($lt + $max < $all) echo '<a href="?mdl=letters&page=inbox&lt='.($lt + $max).'">След.стр.</a><br/>';
break;
case 'outbox':
$all = @mysql_result(@mysql_query("SELECT COUNT(*) FROM `letters` WHERE `to` = '".$autorize['id']."' AND `type` = '2';"), 0);
$lt = (int)$_GET['lt'];
if(empty($lt)) $lt = 0;
$max = 5;
$query = @mysql_query("SELECT * FROM `letters` WHERE `to` = '".$autorize['id']."' AND `type` != '1' ORDER BY `time` DESC LIMIT $lt, $max;");
$i = 0;
while($array = @mysql_fetch_array($query))
{
$to = @mysql_result(@mysql_query("SELECT `name` FROM `accounts` WHERE `id` = '".$array['to']."';"), 0);
?>
<small>[<?=date('d/m/Y, H:i:s', $array['time'])?>]</small><br/>
Для: <?=clear($to)?> (ID: <?=$array['to']?>)<br/>
Тема: <?=clear($array['subject'])?><br/>
Сообщение: <?=clear($array['message'])?><br/>
---<br/>
<?
$i++;
}
if($i == 0) echo 'Писем нет<br/>';
if($lt > 0) echo '<a href="?mdl=letters&page=outbox&lt='.($lt - $max).'">Пред.стр.</a><br/>';
if($lt + $max < $all) echo '<a href="?mdl=letters&page=outbox&lt='.($lt + $max).'">След.стр.</a><br/>';
break;
case 'new':
if(!isset($_POST['save']))
{
if(isset($_GET['to']))
$to = (int)$_GET['to'];
else
$to = '';
if($to == 0) $to = '';
if(isset($_GET['th']))
$th = clear(base64_decode($_GET['th']));
else
$th = '';
?>
<div class='form'>
<form method='post' action='?mdl=letters&page=new'>
<input type='hidden' name='save' value='true'/>
Кому (ID)? <input style='width: 40px' type='text' name='to' maxlength='6' title='Кому (ID)?' value="<?=$to?>"/><br/>
<br/>
Тема?<br/>
<input type='text' name='subject' maxlength='256' title='Тема?' value="<?=$th?>"/><br/>
Сообщение?<br/>
<textarea name='message' cols='20' rows='5'></textarea><br/>
<input type='submit' value='Отправить'/>
</form>
</div>
<?
}
else
{
$err = '';
$to = intval($_POST['to']);
$subject = clear($_POST['subject']);
$message = clear($_POST['message']);
if(empty($to) OR empty($subject) OR empty($message)) $err .= 'Заполнены не все поля<br/>';
if(strlen(iconv('utf-8', 'cp1251', $subject)) > 256) $err .= 'Слишком длинная тема сообщения<br/>';
if(strlen(iconv('utf-8', 'cp1251', $subject)) < 4) $err .= 'Слишком короткая тема сообщения<br/>';
if(strlen(iconv('utf-8', 'cp1251', $message)) > 1024) $err .= 'Слишком длинное сообщение<br/>';
if(strlen(iconv('utf-8', 'cp1251', $message)) < 10) $err .= 'Слишком короткое сообщение<br/>';
$query = @mysql_query("SELECT `id` FROM `accounts` WHERE `id` = '$to';");
if(@mysql_affected_rows() == 0) $err .= 'Пользователя не существует<br/>';
$query = @mysql_query("SELECT `id` FROM `letters` WHERE `from` = '".$autorize['id']."' AND `to` = '$to' AND `subject` = '$subject';");
if(@mysql_affected_rows() > 0) $err .= 'Такое письмо уже существует<br/>';
$ltime = @mysql_result(@mysql_query("SELECT `rtime` FROM `letters` WHERE `from` = '".$autorize['id']."' ORDER BY `id` DESC LIMIT 1;"), 0);
if(time() - $ltime < 30) $err .= 'Отправлять сообщения можно раз в 30 секунд, подождите '.(30 - (time() - $ltime)).' секунд<br/>';
if($err != '')
{
echo $err;
echo '<br/><a href="?mdl=letters&page=new">Повторить</a>';
}
else
{
if(@mysql_query("INSERT INTO `letters` (`from`, `to`, `time`, `subject`, `message`, `type`) VALUES ('".$autorize['id']."', '$to', '".time()."', '$subject', '$message', '1');"))
{
@mysql_query("INSERT INTO `letters` (`from`, `to`, `time`, `subject`, `message`, `type`) VALUES ('".$autorize['id']."', '$to', '".time()."', '$subject', '$message', '2');")
?>
Письмо <b><?=$subject?></b> успешно отправлено<br/>
<?
}
else
echo 'Письмо не отправлено<br/><br/><a href="?mdl=letters&page=new">Повторить</a>';
}
}
break;
}
echo '<br/>';
if(isset($_GET['page'])) echo '<a href="?mdl=letters">Почта</a><br/>';
echo '<a href="?mdl=cabinet">Личный кабинет</a><br/>';require('includes/footer.php');
?>