Просмотр файла love/mail.php

Размер файла: 10.05Kb
<?
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();


if ((!isset($_SESSION['refer']) || $_SESSION['refer']==NULL)
&& isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER']!=NULL &&
!preg_match('mail.php#',$_SERVER['HTTP_REFERER']))
$_SESSION['refer']=str_replace('&','&amp;',preg_replace('#^http://[^/]*/#i','/', $_SERVER['HTTP_REFERER']));


if (!isset($_GET['id'])){header("Location: konts.php?".SID);exit;}
$ank=get_user($_GET['id']);
if (!$ank){header("Location: konts.php?".SID);exit;}


$set['title']='Почта: '.$ank['nick'];
include_once '../sys/inc/thead.php';
title();



// добавляем в контакты
if ($user['add_konts']==2 && 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 `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['msg']) && $ank['id']!=0)
{

if ($user['level']==0 && mysql_result(mysql_query("SELECT COUNT(*) FROM `users_konts` WHERE `id_kont` = '$user[id]' AND `id_user` = '$ank[id]'"), 0)==0)
{
if (!isset($_SESSION['captcha']))$err[]='Ошибка проверочного числа';
if (!isset($_POST['chislo']))$err[]='Введите проверочное число';
elseif ($_POST['chislo']==null)$err[]='Введите проверочное число';
elseif ($_POST['chislo']!=$_SESSION['captcha'])$err[]='Проверьте правильность ввода проверочного числа';
}


$msg=$_POST['msg'];
if (isset($_POST['translit']) && $_POST['translit']==1)$msg=translit($msg);
if (utf8_strlen($msg)>1024)$err[]='Сообщение превышает 1024 символа';
if (utf8_strlen($msg)<2)$err[]='Слишком короткое сообщение';

$mat=antimat($msg);
if ($mat)$err[]='В тексте сообщения обнаружен мат: '.$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]'");
msg('Сообщение успешно отправлено');
header("Refresh: 1; url=love/mail.php?id=$ank[id]&$passgen");


$smarty = new Smarty_conf();
$menu=array();
$menu[]=array("love/mail.php?id=$ank[id]&amp;$passgen",'Вернуться');
$menu[]=array("love/konts.php",'Список контактов');
$menu[]=array("love/umenu.php",'Личный кабинет');
$smarty->assign('menu',$menu);
$smarty->display('body.menu.tpl');
/*
echo "<div class='menu'>\n";
echo "<a href='love/mail.php?id=$ank[id]&amp;$passgen'>Вернуться</a><br />\n";
echo "<a href='love/konts.php'>Список контактов</a><br />\n";
echo "<a href='love/umenu.php'>Мое меню</a><br />\n";
echo "</div>\n";
*/
echo '<hr color="DeepSkyBlue1" hr noshade size="1"></font>';
echo "&laquo;<a href='/love/index.php'>В знакомства</a><br/>\n";
include_once '../sys/inc/tfoot.php';
}
}


if (isset($_GET['changed']) && $_GET['changed']=='group')
{
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `users_konts` WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]'"), 0))
{
$kont=mysql_fetch_array(mysql_query("SELECT * FROM `users_konts` WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]'"));
if (isset($_POST['name']) && $_POST['name']!=($kont['name']!=null?$kont['name']:$ank['nick']))
{
if (preg_match('#[^A-zА-я0-9\-_\.,\[\]\(\) ]#iu', $_POST['name']))$err[]='В названии контакта присутствуют запрещенные символы';
if (utf8_strlen($_POST['name'])>64)$err[]='Название контакта длиннее 64-х символов';

if (!isset($err))
{
mysql_query("UPDATE `users_konts` SET `name` = '".my_esc($_POST['name'])."' WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]' LIMIT 1");
msg ('Контакт успешно переименован');
}
}

if (isset($_POST['type']) && preg_match('#^(common|ignor|favorite|deleted)$#iu',$_POST['type']))
{
mysql_query("UPDATE `users_konts` SET `type` = '".my_esc($_POST['type'])."', `time` = '$time' WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]' LIMIT 1");
msg ('Контакт успешно перенесен');
}

}
else $err[]='Пользователь не найден в контактах';
}





aut();
err();


$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'];
$listing = new Smarty_conf();
$posts=array();
$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']);
$posts[]=array('icon'=> array('size'=>'small','src'=> ICONS_USER.'pol_'.$ank2['pol'].'.png'),
'title'=> "<a href='love/info.php?id=$ank2[id]'>$ank2[nick]</a>".online($ank2['id']).' '.vremja($post['time']).($post['read']?null:' (не прочитано)'),
'post' => output_text($post['msg'])
);

}
if (!$posts)$posts[]=array('title' => 'Сообщения отсутствуют');
$listing->assign('post',$posts);
$listing->display('body.conlentlist.tpl');
if ($k_page>1)str("mail.php?id=$ank[id]&amp;",$k_page,$page); // Вывод страниц


if ($ank['id']){
$smarty = new Smarty_conf();
$smarty->assign('form_title','Отправка сообщения');
$smarty->assign('method','POST');
$smarty->assign('action',"?id=$ank[id]&amp;$passgen");
$elements=array();
$elements[]=array('type'=>'textarea', 'title' => 'Сообщение', 'br'=>1, 'info'=>array('name' => 'msg'));
if ($user['set_translit'])$elements[]=array('type'=>'checkbox', 'br'=>1, 'info'=>array('value'=>1,'checked'=>0, 'name'=>'translit', 'text'=>'Транслит'));

if ($user['level']==0 && mysql_result(mysql_query("SELECT COUNT(*) FROM `users_konts` WHERE `id_kont` = '$user[id]' AND `id_user` = '$ank[id]'"), 0)==0)
$elements[]=array('br'=>1, 'type'=>'captcha');

$elements[]=array('type'=>'submit', 'br'=>0, 'info'=>array('name'=>'post', 'value'=>'Отправить сообщение')); // кнопка
$smarty->assign('el',$elements);
$smarty->display('input.form.tpl');

}



if ($ank['id'])
{
$kont=mysql_fetch_assoc(mysql_query("SELECT * FROM `users_konts` WHERE `id_user` = '$user[id]' AND `id_kont` = '$ank[id]'"));
if (isset($_GET['change']) && $_GET['change']==='group' && $kont)
{

$smarty = new Smarty_conf();
$smarty->assign('form_title','Отправка сообщения');
$smarty->assign('method','POST');
$smarty->assign('cancel',"?id=$ank[id]&amp;$passgen");
$smarty->assign('action',"?id=$ank[id]&amp;changed=group&amp;$passgen");
$elements=array();
$elements[]=array('type'=>'input_text','title'=>'Отображать как','br'=>1,'info'=>array('name'=>'name','value'=>($kont['name']?$kont['name']:$ank['nick'])));
$options=array();
$options[]=array('common','Общая',$kont['type']=='common');
$options[]=array('favorite','Друзья',$kont['type']=='favorite');
$options[]=array('ignor','Игнор',$kont['type']=='ignor');
//$options[]=array('deleted','Корзина',$kont['type']=='deleted');
$elements[]=array('type'=>'select', 'title'=>'Группа', 'br'=>1, 'info'=>array('name' => 'type','options' => $options));
$elements[]=array('type'=>'submit', 'br'=>0, 'info'=>array('value'=>'Применить')); // кнопка
$smarty->assign('el',$elements);
$smarty->display('input.form.tpl');

}
else
{
$smarty = new Smarty_conf();
$menu=array();
if ($kont)
{
$menu[]=array("love/konts.php?type=$kont[type]&amp;act=del&amp;id=$ank[id]",'Удалить контакт из списка');
$menu[]=array("love/mail.php?id=$ank[id]&amp;change=group",'Изменить группу');
}
else
$menu[]=array("love/konts.php?type=common&amp;act=add&amp;id=$ank[id]",'Добавить в список контактов');


$smarty->assign('menu',$menu);
$smarty->assign('menu_title','Действия');
$smarty->display('links.links.tpl');
}


}


$smarty = new Smarty_conf();
$smarty->assign('menu',array(array('love/konts.php','Список контактов'),array('umenu.php','Личный кабинет')));
$smarty->assign('menu_title','Навигация');
$smarty->display('links.path.tpl');


echo '<hr color="DeepSkyBlue1" hr noshade size="1"></font>';
echo "&laquo;<a href='/love/index.php'>В знакомства</a><br/>\n";
include_once '../sys/inc/tfoot.php';
?>