Файл: mail.php
Строк: 259
<?
include_once 'sys/inc/start.php';
include_once 'sys/inc/compress.php';
include_once 'sys/inc/sess.php';
include_once 'sys/inc/home.php';
include_once 'sys/inc/settings.php';
include_once 'sys/inc/db_connect.php';
include_once 'sys/inc/ipua.php';
include_once 'sys/inc/fnc.php';
include_once 'sys/inc/user.php';
only_reg();
unset($_COOKIE['mail_count']);
if (!isset($_GET['id']))exit(header("Location: /konts.php".SID));
$ank = get_user($_GET['id']);
if ($ank['id'] == $user['id'])
exit(header("Location: /konts.php"));
if (@$ank['nick'] == null)
{
$ank['nick'] = null;
$ank['group_access'] = 0;
$ank['id'] = 0;
}
if (!$ank )
exit(header("Location: /konts.php?us_dell"));
$set['title'] = lang('Почта').' : '. nick($ank['id'],null,0,1);
include_once 'sys/inc/thead.php';
title();
$time_flood = $user['level'] == 0 and $user['date_last'] > time() - $set['flood_mail_time_s'];
// добавляем в контакты
$cu = mysql_result(mysql_query("SELECT COUNT(*) FROM `users_konts` WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]'"),0);
if ($user['id'] != $ank['id'] and $user['add_konts'] == 2 && $cu == 0)
mysql_query("INSERT INTO `users_konts` (`id_user`, `id_kont`, `time`) VALUES ('$user[id]', '$ank[id]', '$time')");
if ($cu == 0)
mysql_query("INSERT INTO `users_konts` (`id_user`, `id_kont`, `time`) VALUES ('$ank[id]', '$user[id]', '$time')");
// обновление сведений о контакте
mysql_query("UPDATE `users_konts` SET `new_msg` = '0' WHERE `id_kont` = '$ank[id]' AND `id_user` = '$user[id]' LIMIT 1");
// помечаем сообщения как прочитанные
mysql_query("UPDATE `mail` SET `read` = '1' WHERE `id_kont` = '$user[id]' AND `id_user` = '$ank[id]'");
if (isset($_POST['refresh']))
exit(header("Location: ?id=$ank[id]"));
if (isset($_POST['msg']) && $_POST['send'] && $ank['id']!=0)
{
if ($user['flood_time'] > time())
{
query("UPDATE `user` SET `flood_count` = '".($user['flood_count'] + 1)."' WHERE `id` = '$user[id]'");
$_SESSION['message'] = lang('Нельзя слать сообщения слишком часто');
exit(header("Location: ?id=$ank[id]"));
}
if ($user['flood_count'] > $set['flood_mail_count'] and $set['flood_mail_on'] == 1)
{
$_SESSION['message'] = lang('Вы временно отправлены на карантин,из-за подозрения в спаме');
$prich = 'Слишком высокая активность в почте';
$timeban = time() + 60 * $set['flood_mail_ban']; // бан на час
query("INSERT INTO `ban` (`id_user`, `id_ban`, `prich`, `time`) VALUES ('$user[id]', '0', '$prich', '$timeban')");
query("UPDATE `user` SET `flood_count` = '".(0)."' WHERE `id` = '$user[id]'");
if ($set['flood_mail_adm_on'] == 1)
{
//сообщаем админам (в разработке)
}
exit(header("Location: ?id=$ank[id]"));
}
if ($time_flood)
{
if (!isset($_SESSION['captcha']))$err[]=lang('Ошибка проверочного числа');
if (!isset($_POST['chislo']))$err[]=lang('Введите проверочное число');
elseif ($_POST['chislo']==null)$err[]=lang('Введите проверочное число');
elseif ($_POST['chislo']!=$_SESSION['captcha'])$err[]=lang('Проверьте правильность ввода проверочного числа');
}
$msg = $_POST['msg'];
if (isset($_POST['translit']) && $_POST['translit']==1)$msg=translit($msg);
if (strlen2($msg)>1024)$err[]=lang('Сообщение превышает 1024 символа');
if (strlen2($msg)<2)$err[]=lang('Слишком короткое сообщение');
$mat=antimat($msg);
if ($mat)$err[]=lang('В тексте сообщения обнаружен мат').': '.$mat;
if (!isset($err) && mysql_result(mysql_query("SELECT COUNT(*) FROM `mail` WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]' AND `time` > '".($time-360)."' AND `msg` = '".my_esc($msg)."'"),0)==0)
{
// отправка сообщения
mysql_query("INSERT INTO `mail` (`id_user`, `id_kont`, `msg`, `time`) values('$user[id]', '$ank[id]', '".my_esc($msg)."', '$time')");
// добавляем в контакты
if ($user['add_konts'] == 1 && mysql_result(mysql_query("SELECT COUNT(*) FROM `users_konts` WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]'"),0)==0)
mysql_query("INSERT INTO `users_konts` (`id_user`, `id_kont`, `time`) VALUES ('$user[id]', '$ank[id]', '$time')");
// обновление сведений о контакте
mysql_query("UPDATE `users_konts` SET `time` = '$time' WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]' OR `id_user` = '$ank[id]' AND `id_kont` = '$user[id]'");
if ($set['flood_mail_on'] == 1 and $time_flood)
{
query("UPDATE `user` SET `flood_time` = '".(time() + $set['flood_mail_time'] )."' WHERE `id` = '$user[id]'");
}
#-------------------------------------#
//вычисляем рейтинг за сообщение
$rating_add_msg = rating :: msgnum($msg);
//сумируем
$add_rating = ($rating_add_msg + 0.01);
//добавляем рейтинг
rating :: add ($user['id'],$add_rating,1,null,'mail');
#-------------------------------------#
query("UPDATE `user` SET `balls` = '".($user['balls'] + $set['balls_mail'])."' WHERE `id` = '$user[id]' LIMIT 1");
//Удаляем кэш
cache_delete::user($user['id']);
$_SESSION['message'] = lang('Сообщение успешно отправлено');
exit(header("Location: ?id=$ank[id]"));
}
}
aut();
err();
if (isset($_GET['Block_act']))
{
msg(lang('Вы уверены?'));
echo "<div class='p_m'> <center><a href='?id=". $ank['id'] ."&Block=".$post['id']."&Block_act=1'><b>".lang('Да')."</b></a> :: <a href='?id=". $ank['id'] ."'>".lang('Нет')."</a></center></div>";
}
if ($user['id'] != $ank['id'] and $ank['group_access'] == 0 and $user['group_access'] == 0 and isset($_GET['Block']) and $_GET['Block_act'] == 1)
{
$msg = lang('Новая жалоба в почте на пользователя').' [url=/'.$ank['mylink'].']'. nick($ank['id'],null,0) .'[/url]
';
$msgt = mysql_fetch_array(query("SELECT `id`,`msg` FROM `mail` WHERE `id` = '".intval($_GET['Block'])."' LIMIT 1"));
$msg .= "
-----------
$msgt[msg]
-----------
";
$msg .= lang('Жалоба подана от').' : [url=/'.$user['mylink'].']'. nick($user['id'],null,0) .'[/url] ';
query("INSERT INTO `jurnal_system` (`time` ,`type` ,`read` ,`id_user`,`msg`,`id_kont`)
VALUES ( '".time()."', 'spam_mail', '0', '".$ank['id']."','". $msg ."','0');");
$_SESSION['message'] = lang('Успешно');
//Удаляем кэш
cache_delete::user($ank['id']);
exit(header('Location: ?id='.$ank['id']));
}
echo "<div class='p_m'>»
<a href='/konts.php?". (isset($kont) ? 'type='.$kont['type'] : null)."'>".lang('Мои контакты')."</a></div>";
if ($user['group_access'] == 0)
$b_count = count::query('ban'," `id_user` = '". $ank['id'] ."' AND `time` > ". time());
else
$b_count = 0;
if ($ank['id'] != 0 and $b_count == 0 )
{
panel_form :: head();
echo "<div class='p_m'>";
echo "<form method='post' name='message' action='?id=$ank[id]&$passgen'>n";
echo "<textarea name='msg'></textarea></div>";
panel_form :: foot();
echo "<div class='p_m'>";
if ($time_flood)
echo "<img src='/captcha.php?SESS=$sess' width='100' height='30' /><br />
<input name='chislo' size='5' maxlength='5' value='' type='text' /><br/>
".lang('Когда вы покажите свою активность код с картинки вводить не надо будет каждый раз')."
<br/>
";
echo "<input type='submit' name='send' value='".lang('Отправить')."' />n";
echo "<input type='submit' name='refresh' value='".lang('Обновить')."' />";
if ($user['set_translit']==1)echo "<label><input type='checkbox' name='translit' value='1' /> ".lang('Транслит')."</label><br />n";
echo "</form></div>";
}else msg('Этому контакту нельзя писать');
$k_post=mysql_result(mysql_query("SELECT COUNT(*) FROM `mail` WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]' OR `id_user` = '$ank[id]' AND `id_kont` = '$user[id]'"),0);
$k_page=k_page($k_post,$set['p_str']);
$page=page($k_page);
$start=$set['p_str']*$page-$set['p_str'];
if ($k_post==0)
msg(lang('Нет сообщений'));
$q=mysql_query("SELECT * FROM `mail` WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]' OR `id_user` = '$ank[id]' AND `id_kont` = '$user[id]' ORDER BY id DESC LIMIT $start, $set[p_str]");
while ($post = mysql_fetch_array($q))
{
$ank2=get_user($post['id_user']);
###########
echo '<table class="p_m" style="width:avto;"><tr><td class="avar">';
avatar($ank2['id'],80,80);
echo '</td><div class="p_m" >';
if ($user['id'] == $ank2['id'])
echo lang('Я');
else
echo nick($ank2['id']);
echo '<td style="" class="">';
if ($post['read'] == 0)echo "<span class='' style='float:right;color:red;'>".lang('не прочитано')."</span></br>";
if (!isset($_GET['Block']) and $user['id'] != $post['id_user'] and $ank['group_access'] == 0 and $user['group_access'] == 0)
{
echo "<span class='ank_span' style='float:right'>";
echo "<a href='?id=". $ank['id'] ."&Block=".$post['id']."&Block_act'> ".lang('Жалоба')."</a><br />";
echo "</span>";
}
if ($user['id'] != $post['id_user'])
$div_mess = 'status_o_mail';
else
$div_mess = 'status_o';
#-----------------------------------------#
//Блокируем сообщение если человек в бане
if (count::query('ban',"`id_user` = '". $ank['id'] ."' AND `time` > ". time()) == 0 and $set['msg_ban_set'] == 1)
{
echo "
<div class='status_o_s_mail'> </div>
<div class='$div_mess'> ".output_text($post['msg'])." </div>
";
}
else
{
echo ($user['group_access'] >= 1 ? '
<br/><span style="color:red">'. $set['msg_ban'] ."</span> : <br/>
<div class='status_o_s_mail'> </div>
<div class='$div_mess'> ".output_text($post['msg'])." </div>
": $set['msg_ban']);
}
#-----------------------------------------#
echo " <span class='' style='float:right;color:green;font-size:9px;'>".vremja($post['time'])."</span>";
echo '</td>';
echo '</tr></table>';
}
if ($k_page>1)str("?id=$ank[id]&",$k_page,$page); // Вывод страниц
include_once 'sys/inc/tfoot.php';
?>