File size: 7.19Kb
<?php
// by mides, icq: 529-899-6, mail: [email protected]
$title = 'Приват';
require("../config.php");
require("../includes/start.php");
if(empty($_SESSION['login'])){header("location: ../");}
require("../includes/functions.php");
tp('Приват');
switch($_GET['act']){
###############################################################################
## Входящие сообщения ##
###############################################################################
default:
echo '<div class="s1">Сообщения</div><div class="s2">';
$private = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `private` WHERE `login` = '".$_SESSION['login']."'"), 0);
if($private > 0){
$pages = ceil($private/$config['onpage']);
if(isset($_REQUEST['page'])){
$page = num($_REQUEST['page']);
}else{
$page = 1;
}
$from = ($page-1)*$config['onpage'];
$result = mysql_query("SELECT `id`, `login`, `sender`, `time`, `type`, `read` FROM `private` WHERE `login` = '".$_SESSION['login']."' ORDER BY `time` DESC");
while($msg = mysql_fetch_assoc($result)){
if($msg['read'] == 0){
$new = '<font color="red">New</font>';
}else{
$new = '';
}
echo '<a href="?act=read&id='.$msg['id'].'">От '.$msg['sender'].'</a> ('.date('d.m.y, H:i', $msg['time']).') '.$new.'<br />';
}
}else{
echo 'Входящих сообщений нет<br />';
}
echo '<br /><a href="?act=send" class="button">Отправить письмо</a>';
echo '</div>';
echo '<div class="s1">Навигация</div>';
echo '<div class="s2">';
navig($page, '?', $pages);
echo '<a href="office.php">назад в кабинет</a><br/><a href="../">на главную</a>';
echo '</div>';
break;
###############################################################################
## Форма отправления сообщения ##
###############################################################################
case 'send':
$u = sec($_REQUEST['u']);
echo '<div class="s1">Отправить письмо</div>';
echo '<div class="s2">';
echo '<form action="?act=send_do" method="post" name="form">';
echo 'Логин:<br /><input name="login" type="text" value="'.$u.'" maxlength="20" /><br />';
echo 'Сообщение(max250):<br /><textarea name="text" cols="" rows="4"></textarea><br />';
echo '<input name="submit" type="submit" value="Отправить" /></form>';
echo '</div>';
nav2('office.php', 'назад в кабинет');
break;
###############################################################################
## Отправка сообщения ##
###############################################################################
case 'send_do':
$u = sec($_POST['login']);
$user = mysql_fetch_assoc(mysql_query("SELECT `user_points` FROM `users` WHERE `user_login` = '".$_SESSION['login']."'"));
if($user['user_points'] >= $config['min_points']){
if(!empty($_POST['login']) and !empty($_POST['text'])){
if(mysql_num_rows(mysql_query("SELECT `id` FROM `users` WHERE `user_login` = '$u'"))){
if($u != sec($_SESSION['login'])){
if(!mysql_num_rows(mysql_query("SELECT `id` FROM `foes` WHERE `login` = '".$_SESSION['login']."' and `is_foe_for` = '$u'"))){
$inbox_u = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `private` WHERE `login` = '$u'"), 0);
if($inbox_u < $config['max_priv']){
if(time() > $_SESSION['antispam']){
$text = sec($_POST['text']);
mysql_query("INSERT INTO `private` SET `login` = '$u', `text` = '$text', `sender` = '".$_SESSION['login']."', `time` = '".time()."'");
$_SESSION['antispam'] == time() + $config['antispam'];
info('Ваще сообщение успешно отправлено!');
nav2('private.php', 'назад в приват');
}else{
error('Антиспам! Разрешено писать раз в '.$config['antispam'].' сек.!');
nav2('private.php?act=send&u='.$u.'', 'назад');
}
}else{
error('Приват получателя переполнен!');
nav2('private.php?act=send&u='.$u.'', 'назад');
}
}else{
error('Вы находитесь в игноре у получателя!');
nav2('private.php?act=send&u='.$u.'', 'назад');
}
}else{
error('Вы не можете отправить сообщение самому себе!=)');
nav2('private.php?act=send&u='.$u.'', 'назад');
}
}else{
error('Получатель не существует!');
nav2('private.php?act=send&u='.$u.'', 'назад');
}
}else{
error('Вы не заполнили поля!');
nav2('private.php?act=send&u='.$u.'', 'назад');
}
}else{
error('Чтобы отправлять приватные сообщения, вам необходимо набрать '.$config['min_points'].' кармы');
nav2('private.php', 'назад в приват');
}
break;
###############################################################################
## Просмотр сообщения ##
###############################################################################
case 'read':
$id = num($_REQUEST['id']);
$msg = mysql_fetch_assoc(mysql_query("SELECT * FROM `private` WHERE `id` = '$id'"));
if(isset($msg['id']) and $msg['login'] == $_SESSION['login']){
if($msg['read'] == 0){
mysql_query("UPDATE `private` SET `read` = 1 WHERE `id` = '$id'");
}
echo '<div class="s1">Сообщение от <a href="profile.php?u='.$msg['sender'].'">'.$msg['sender'].'</a></div>';
echo '<div class="s2">';
echo bb($msg['text']).'<br />';
echo '<i>Отправлено: '.date('d.m.y, H:i', $msg['time']).'</i><br /><br />';
echo '<a href="?act=send&u='.$msg['sender'].'" class="button">Ответить</a><br />';
//echo '<a href="?act=save&id='.$msg['id'].'" class="button">Сохранить</a><br />';
echo '<a href="?act=del&id='.$msg['id'].'" class="button">Удалить сообщение</a><br />';
echo '</div>';
}else{
error('Сообщение не существует!');
}
nav2('private.php', 'назад в приват');
break;
###############################################################################
## Удаление сообщения ##
###############################################################################
case 'del':
$id = num($_REQUEST['id']);
$msg = mysql_fetch_assoc(mysql_query("SELECT `id`, `login` FROM `private` WHERE `id` = '$id'"));
if(isset($msg['id']) and $msg['login'] == $_SESSION['login']){
if($msg['read'] == 0){
mysql_query("UPDATE `private` SET `read` = 1 WHERE `id` = '$id'");
}
mysql_query("DELETE FROM `private` WHERE `id` = '$id'");
info('Сообщение успешно удалено');
}else{
error('Сообщение не существует!');
}
nav2('private.php', 'назад в приват');
break;
}
require ('../includes/tail.php');
?>