View file pages/private.php

File size: 6.69Kb
<?php 
// by mides, wmclub.mobi

$title = 'Приват';
require('../config.php');
require('../includes/sys.php');
require('../includes/start.php');
require('../includes/auth_u.php');
require('../includes/header.php');

switch($_GET['act']){

###############################################################################
##                          Входящие сообщения                               ##
###############################################################################
default:

tp('Приват');

$private = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `private` WHERE `id_user` = '$u[id]'"), 0);
if($private > 0){
	$pages = ceil($private/$config['onpage']);
	if(intval($_REQUEST['page'])){
		$page = intval($_REQUEST['page']);
	}else{
		$page = 1;
	}
	$from = ($page-1)*$config['onpage'];
	
	$result = mysql_query("SELECT `id`, `sender`, `time`, `read` FROM `private` WHERE `id_user` = '$u[id]' ORDER BY `time` DESC LIMIT $from, $config[onpage]");
	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'].'">От '.login($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 '<hr />';

navig($page, '?', $pages);
echo '<a href="office.php">Назад</a><br />';
echo '<a href="../">На главную</a><br />';
echo '</div>';

break;

###############################################################################
##                   Форма отправления сообщения                             ##
###############################################################################
case 'send':

if($_SESSION['spam'] < time()){
	$us = check($_REQUEST['us']);
	tp('Отправить письмо');
	echo '<form action="?act=send_do&amp;us='.$us.'" method="post" name="form">';
	echo 'Логин:<br /><input name="login" type="text" value="'.$us.'" maxlength="20" /><br />';
	echo 'Сообщение(max250):<br /><textarea name="text" cols="" rows="4"></textarea><br />
		<input name="submit" type="submit" value="Отправить" /></form>';
	nav2('office.php', 'Назад в кабинет');
}else{
	error('Антиспам! Разрешено писать раз в '.$config['antispam'].' сек.!');
	nav2('?', 'Назад в приват');
}

break;

###############################################################################
##                          Отправка сообщения                               ##
###############################################################################
case 'send_do':

$us = check($_POST['login']);

if($_SESSION['spam'] < time()){
	if(!empty($_POST['login']) and !empty($_POST['text'])){
		$user = mysql_fetch_assoc(mysql_query("SELECT `id` FROM `users` WHERE `user_login` = '$us'"));
		if(isset($user['id'])){
			if($user['id'] !== $u['id']){
				if(!mysql_num_rows(mysql_query("SELECT `id` FROM `foes` WHERE `id_user` = '$u[id]' and `is_foe_for` = '$user[id]'"))){
					if($u['user_points'] >= $config['min_points']){
						$inbox_u = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `private` WHERE `id_user` = '$user[id]'"), 0);
						if($inbox_u < $config['max_priv']){
							$text = check($_POST['text']);
							mysql_query("INSERT INTO `private` SET `id_user` = '$user[id]', `text` = '$text', `sender` = '$u[id]', `time` = '".time()."'");
							$_SESSION['spam'] = time() + $config['antispam'];
							info('Ваще сообщение успешно отправлено!');
							nav2('private.php', 'Назад в приват');
						}else{
							error('Приват получателя переполнен!');
							nav('?act=send&amp;us='.$us);
						}
					}else{
						error('Чтобы отправлять приватные сообщения, вам необходимо набрать '.$config['min_points'].' кармы');
						nav('?act=send&amp;us='.$us);
					}
				}else{
					error('Вы находитесь в игноре у получателя!');
					nav('?act=send&amp;us='.$us);
				}
			}else{
				error('Вы не можете отправить сообщение самому себе!=)');
				nav('?act=send&amp;us='.$us);
			}
		}else{
			error('Получатель не существует!');
			nav('?act=send&amp;us='.$us);
		}
	}else{
		error('Вы не заполнили поля!');
		nav('?act=send&amp;us='.$us);
	}
}else{
	error('Антиспам! Разрешено писать раз в '.$config['antispam'].' сек.!');
	nav('?act=send&amp;us='.$us);
}

break;

###############################################################################
##                          Просмотр сообщения                               ##
###############################################################################
case 'read':

$id = intval($_REQUEST['id']);

$msg = mysql_fetch_assoc(mysql_query("SELECT * FROM `private` WHERE `id` = '$id'"));
if(isset($msg['id']) and $msg['id_user'] == $u[id]){
	if($msg['read'] == 0){
		mysql_query("UPDATE `private` SET `read` = 1 WHERE `id` = '$id'");
	}
	tp('Сообщение от <a href="profile.php?u='.$msg['sender'].'">'.login($msg['sender']).'</a>');
	echo bb($msg['text']).'<br />';
	echo '<i>Отправлено: '.date('d.m.y, H:i', $msg['time']).'</i><br /><br />';
	echo '<a href="?act=send&amp;us='.login($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 />';
}else{
	error('Сообщение не существует!');
}
nav2('?', 'Назад в приват');

break;

###############################################################################
##                          Удаление сообщения                               ##
###############################################################################
case 'del':

$id = intval($_REQUEST['id']);

$msg = mysql_fetch_assoc(mysql_query("SELECT `id`, `id_user` FROM `private` WHERE `id` = '$id'"));
if($msg['id_user'] == $u['id']){
	mysql_query("DELETE FROM `private` WHERE `id` = '$id'");
	info('Сообщение успешно удалено');
}else{
	error('Сообщение не существует!');
}
nav2('?', 'Назад в приват');

break;

}

require ('../includes/tail.php');
?>