View file chat/index.php

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

$title = 'Чат';
require('../config.php');
require('../includes/sys.php');
require('../includes/start.php');
require('../includes/header.php');

switch($_GET['act']){

###############################################################################
##                         Главная страница чата                             ##
###############################################################################
default:

tp('Чат');

$all_chat = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `chat`"), 0);
if($all_chat > 0){
	$pages = ceil($all_chat/$config['onpage']);
	if(intval($_REQUEST['page'])){
		$page = intval($_REQUEST['page']);
	}else{
		$page = 1;
	}
	$from = ($page-1)*$config['onpage'];
	
	$result_chat = mysql_query("SELECT * FROM `chat` ORDER BY `time` DESC LIMIT $from, $config[onpage]");
	while($chat = mysql_fetch_assoc($result_chat)){
		echo '<a href="../pages/profile.php?u='.$chat['id_user'].'">'.login($chat['id_user']).'</a> '.on($chat['id_user'],  date('d.m.y, H:i', $chat['time'])).' <a href="index.php?act=answer&amp;id='.$chat['id'].'">Отв</a>';
		if($u['user_access'] > 0){
			echo '|<a href="index.php?act=del&amp;id='.$chat['id'].'">Уд</a>';
		}
		echo '<br />';
		echo bb($chat['text']).'<br />';
		echo '<hr />';
	}
	if($u['user_access'] > 1){
		echo '<a href="index.php?act=delete" class="button">Удалить все</a><br />';
	}
}else{
	echo 'Сообщений еще нет. Будь первым!<br />';
}

echo '<hr />';

if($u['id']){
	echo '<form action="index.php?act=add" method="post" name="form">';
	echo 'Добавить сообщение(max250):<br /><textarea name="text" cols="" rows="3"></textarea>';
	echo '<input name="submit" type="submit" value="Ok" />';
	echo '</form>';
}else{
	echo 'Вы не <a href="../pages/login.php">авторизованы</a> для добавления сообщений :(';
}

echo '<hr />';

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

break;

###############################################################################
##                         Добавление сообщения                              ##
###############################################################################
case 'add':

if($u['id']){
	if($_SESSION['spam'] < time()){
		if(!empty($_POST['text'])){
			$text = check($_POST['text']);
			mysql_query("INSERT INTO `chat` SET `id_user` = '$u[id]', `text` = '$text', `time` = '".time()."'");
			mysql_query("UPDATE `users` SET `user_points` = (user_points+1) WHERE `id` = '$u[id]'");
			$_SESSION['spam'] = time() + $config['antispam'];
			info('Сообщение успешно добавлено!');
			echo '<meta http-equiv="refresh" content="0;URL=?" />';
		}else{
			error('Вы не заполнили поле!');
		}
	}else{
		error('Сообщение можно писать не чаще, чем раз в '.$config['antispam'].' сек.!');
	}
}else{
	error('Вы не <a href="../pages/login.php">авторизованы</a> для добавления сообщений :(');
}
nav('?');

break;

###############################################################################
##                         Форма ответа на сообщение                         ##
###############################################################################
case 'answer':

if($u['id']){
	$id = intval($_REQUEST['id']);
	$msg = mysql_fetch_assoc(mysql_query("SELECT `id_user` FROM `chat` WHERE `id` = '$id'"));
	if(isset($msg['id_user'])){
		tp('Ответ на сообщение');
		echo '<form action="?act=answer_do&amp;id='.$id.'" method="post" name="form">
			 Сообщение(max250):<br /><textarea name="text" cols="" rows="4">[b]'.login($msg['id_user']).'[/b], </textarea>
			 <input name="submit" type="submit" value="Ok" /></form>';
	}else{
		error('Сообщение, на которое вы хотите ответить не существует!');
	}
}else{
	error('Вы не <a href="../pages/login.php">авторизованы</a> для добавления сообщений :(');
}
nav('?');

break;

###############################################################################
##                          Ответ на сообщение                               ##
###############################################################################
case 'answer_do':

if($u['id']){
	if($_SESSION['spam'] < time()){
		$id = intval($_REQUEST['id']);
		$msg_result = mysql_query("SELECT `id` FROM `chat` WHERE `id` = '$id'");
		if(mysql_num_rows($msg_result)){
			if(!empty($_POST['text'])){
				$text = check($_POST['text']);
				mysql_query("INSERT INTO `chat` SET `id_user` = '$u[id]', `text` = '$text', `time` = '".time()."'");
				mysql_query("UPDATE `users` SET `user_points` = (user_points+1) WHERE `id` = '$u[id]'");
				$_SESSION['spam'] = time() + $config['antispam'];
				info('Вы успешно ответили на сообщение!');
				echo '<meta http-equiv="refresh" content="0;URL=?" />';
			}else{
				error('Вы не заполнили поле!');
			}
		}else{
			error('Сообщение, на которое вы хотите ответить не существует!');
		}
	}else{
		error('Сообщение можно писать не чаще, чем раз в '.$config['antispam'].' сек.!');
	}
}else{
	error('Вы не <a href="../pages/login.php">авторизованы</a> для добавления сообщений :(');
}
nav('?');

break;

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

if($u['user_access'] > 1){
	$id = intval($_REQUEST['id']);
	$chat = mysql_fetch_assoc(mysql_query("SELECT `id`, `id_user` FROM `chat` WHERE `id` = '$id'"));
	if(isset($chat['id'])){
		mysql_query("UPDATE `users` SET `user_points` = (user_points-1) WHERE `id` = '$chat[id_user]'");
		mysql_query("DELETE FROM `chat` WHERE `id` = '$id'");
		info('Сообщение успешно удалено!');
		echo '<meta http-equiv="refresh" content="0;URL=?" />';	
	}else{
		error('Сообщения не существует!');
	}
}else{
	error('У вас нет доступа!');
}
nav('?');

break;

###############################################################################
##                       Форма удаление всех сообщений                       ##
###############################################################################
case 'delete':

if($u['user_access'] > 0){
	$ok = intval($_REQUEST['ok']);
	if($ok == 1){
		$c_result = mysql_query("SELECT `id` FROM `chat`");
		if(mysql_num_rows($c_result)){
			mysql_query("TRUNCATE `chat`");
			info('Все сообщения успешно удалены!');
		}else{
			error('Чат и так пуст!');
		}
	}else{
		tp('Удалить все');
		echo 'Вы действительно хотите удалить все сообщения в чате?<br />
			 <form action="?act=delete&amp;ok=1" method="post" name="form">
			 <input name="submit" type="submit" value="Да, удалить" /></form>';
	}
}else{
	error('У вас нет доступа!');
}
nav('?');

break;

}

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