<?php
include_once 'sys/inc/start.php';
$doc = new document(1);
$doc->title = 'Моя почта';




if (isset($_GET['id']))
{
$id_kont=(int)$_GET['id'];
$ank= new user($id_kont);
if (!$ank->group && !mysql_result(mysql_query("SELECT COUNT(*) FROM `mail` WHERE `id_user` = '{$user->id}' AND `id_sender` = '$id_kont'"), 0))
{
$doc->err('Пользователь не найден');
$doc->ret('К почте','?');
exit;
}


if (isset($_POST['mess']) && $ank->id)
{
$mess=text::input_text($_POST['mess']);


header('Refresh: 1; url=?id='.$id_kont);
if ($mess)
{
mysql_query("UPDATE `users` SET `mail_new_count` = `mail_new_count` + '1' WHERE `id` = '$id_kont' LIMIT 1");
mysql_query("INSERT INTO `mail` (`id_user`,`id_sender`,`time`,`mess`)
VALUES ('$id_kont', '{$user->id}', '".TIME."', '".my_esc($mess)."' )");
$doc->msg('Сообщение успешно отправлено');
}
else
$doc->err('Сообщение пусто');

$doc->ret('К собщениям','?id='.$id_kont);
exit;


}


$doc->title = 'Переписка с "'.$ank->login.'"';


$posts = array();


$pages = new pages;
$pages->posts = mysql_result(mysql_query("SELECT COUNT(*) FROM `mail` WHERE (`id_user` = '{$user->id}' AND `id_sender` = '$id_kont') OR (`id_user` = '$id_kont' AND `id_sender` = '{$user->id}')"), 0); // количество писем
$pages->this_page(); // получаем текущую страницу


$q = mysql_query("SELECT * FROM `mail`
WHERE (`id_user` = '{$user->id}' AND `id_sender` = '$id_kont')
      OR (`id_user` = '$id_kont' AND `id_sender` = '{$user->id}')
ORDER BY `id` DESC
LIMIT {$pages->my_start()}, {$pages->items_per_page}");

// отметка о прочтении писем
mysql_query("UPDATE `mail` SET `is_read` = '1' WHERE `id_user` = '{$user->id}' AND `id_sender` = '$id_kont'");
//echo mysql_info();
if (preg_match('#Changed: ([0-9]+)#i', mysql_info(), $ch))
{
if ($ch[1])$user->mail_new_count = $user->mail_new_count-$ch[1];
}

 


while ($mail=mysql_fetch_assoc($q)) {
$ank2 = new user((int)$mail['id_sender']);
$title = '<a href="/profile.view.php?id='.$ank2->id.'">'.$ank2->nick.'</a> '.vremja($mail['time']);
$posts[]=array('title'=>$title,'icon'=>$ank2->icon(), 'post'=>text::output_text($mail['mess']) ,'new'=>!$mail['is_read']);
unset($ank2);
}
if (!$posts)$posts[]=array('icon'=>array('size'=>'small','src'=>'/sys/images/icons/empty.png'),'title'=>'Переписка отсутствует');

$show = new design();
$show->assign('post',$posts);
$show->display('design.listing.tpl');


if ($ank->id){
if (isset($_GET['mess']))
{
$smarty = new design();
$smarty->assign('method','post');
$smarty->assign('action',"/my.mail.php?id=$id_kont&amp;".passgen());
$elements=array();
$elements[]=array('type'=>'textarea', 'title' => 'Сообщение', 'br'=>1, 'info'=>array('name' => 'mess'));
$elements[]=array('type'=>'submit', 'br'=>0, 'info'=>array('name'=>'post', 'value'=>'Отправить сообщение')); // кнопка
$smarty->assign('el',$elements);
$smarty->display('input.form.tpl');
}

$doc->act('Написать сообщение',"/my.mail.php?id=$id_kont&amp;mess");
}

$doc->ret('Все сообщения','/my.mail.php');
$doc->ret('Личное меню','/menu.user.php');
exit;
}

$user -> mail_new_count = mysql_result(mysql_query("SELECT COUNT(*) FROM `mail` WHERE `id_user` = '$user->id' AND `is_read` = '0'"), 0);
$posts = array();

if (isset($_GET['only_unreaded']))$sql_add = " AND `is_read` = '0'";else $sql_add = '';

$pages = new pages;
$pages->posts = mysql_result(mysql_query("SELECT COUNT(DISTINCT(`id_sender`)) FROM `mail` WHERE `id_user` = '{$user->id}'$sql_add"), 0); // количество написавших пользователей
$pages->this_page(); // получаем текущую страницу





$q = mysql_query("SELECT `users`.`id`, `mail`.`id_sender`, MAX(`mail`.`time`) AS `time`, MIN(`mail`.`is_read`) AS `is_read`
FROM `mail`
LEFT JOIN `users` ON `mail`.`id_sender` = `users`.`id`
WHERE `mail`.`id_user` = '{$user->id}'$sql_add
GROUP BY `mail`.`id_sender`
ORDER BY `time` DESC
LIMIT {$pages->my_start()}, {$pages->items_per_page}");

while ($mail=mysql_fetch_assoc($q)) {
$ank = new user((int)$mail['id_sender']);
$t="<a href='?id=$ank->id'>".$ank->nick.'</a>';
$posts[]=array('title'=>$t,'icon'=>$ank->icon(),'new'=>!$mail['is_read']);
unset($ank);
}
if (!$posts)$posts[]=array('icon'=>array('size'=>'small','src'=>'/sys/images/icons/empty.png'),'title'=>'Почта отсутствует');

$show = new design();
$show->assign('post',$posts);
$show->display('design.listing.tpl');

$pages->listing('?'); // вывод страниц


$doc->ret('Личное меню','/menu.user.php');

?>
