View file pages/private.php

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&amp;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&amp;u='.$u.'', 'назад');
						}
					}else{
						error('Приват получателя переполнен!');
						nav2('private.php?act=send&amp;u='.$u.'', 'назад');
					}
				}else{
					error('Вы находитесь в игноре у получателя!');
					nav2('private.php?act=send&amp;u='.$u.'', 'назад');
				}
			}else{
				error('Вы не можете отправить сообщение самому себе!=)');
				nav2('private.php?act=send&amp;u='.$u.'', 'назад');
			}
		}else{
			error('Получатель не существует!');
			nav2('private.php?act=send&amp;u='.$u.'', 'назад');
		}
	}else{
		error('Вы не заполнили поля!');
		nav2('private.php?act=send&amp;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&amp;u='.$msg['sender'].'" class="button">Ответить</a><br />';
	//echo '<a href="?act=save&amp;id='.$msg['id'].'" class="button">Сохранить</a><br />';
	echo '<a href="?act=del&amp;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');
?>