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&id='.$chat['id'].'">Отв</a>';
if($u['user_access'] > 0){
echo '|<a href="index.php?act=del&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&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&ok=1" method="post" name="form">
<input name="submit" type="submit" value="Да, удалить" /></form>';
}
}else{
error('У вас нет доступа!');
}
nav('?');
break;
}
require('../includes/tail.php');
?>