Размер файла: 6.96Kb
<?php
// by Mike O. (mides), coolcms.mobi
$title = 'Мини-чат';
require_once 'system/sys.php';
require_once 'system/header.php';
switch ($act) {
default:
echo '<div class="title"><a href="?">Мини-чат</a>';
if ($u['access'] > 2) {
echo ' [<a href="?act=empty_chat">DEL</a>]';
}
echo '</div>';
if ($u['id']) {
echo '<div class="main">Сообщение(max250):<br />';
echo '<form action="?act=add" method="post">
<textarea name="msg" cols="" rows="3"></textarea>';
echo '<input name="" type="submit" value="Ok">
</form>
</div>';
}
$total = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `chat`"), 0);
if ($total > 0) {
$pages = ceil($total / $config['onpage']);
if ($page > $pages or $page == 0) {
$page = 1;
}
$begin = ($page - 1) * $config['onpage'];
navig($page, '?', $pages);
echo '</div><div class="list">';
$chat_r = mysql_query("SELECT * FROM `chat` ORDER BY `time` DESC LIMIT ".$begin.", ".$config['onpage']."");
while ($chat = mysql_fetch_assoc($chat_r)) {
if (!isset($num) ) $num = 1;
$num++;
$row_class = (!($num % 2)) ? 'row1' : 'row2';
echo '<div class="'.$row_class.'"><a href="profile.php?id='.$chat['id_user'].'">'.login($chat['id_user']).'</a> '.ccdate($chat['time'], $chat['id_user']);
if ($u['id']) {
echo ' <a href="?act=reply&id='.$chat['id'].'">Отв</a>';
}
if ($u['access'] > 0 or $u['id'] and $u['id'] == $chat['id_user'] and time() - $chat['time'] < $config['edit_time']) echo '|<a href="?act=edit&id='.$chat['id'].'">Ред</a>';
if ($u['access'] > 1) echo '|<a href="?act=del&id='.$chat['id'].'">Уд</a>';
echo '<br />'.bb($chat['msg']);
if ($chat['edit_by']) echo '<br />_______<br /><span style="font-size: 10px;">отредактировано: '.justusername($chat['edit_by']).' ('.date('d.m.y, H:i', $chat['edit_time']).' )</span>';
echo '</div>';
}
navig($page, '?', $pages);
} else {
echo '</div><div class="list">В мини-чате пусто.';
}
nav_main();
break;
case 'add':
if ($u['id']) {
if ($_POST['msg']) {
if (time() > $_SESSION['antispam']) {
$msg = check($_POST['msg']);
mysql_query("INSERT INTO `chat` SET `id_user` = '$u[id]', `msg` = '$msg', `time` = '".time()."'");
$_SESSION['antispam'] = time() + $config['antispam'];
header('location: ?');
} else {
error('Антиспам. Разрешено писать раз в '.$config['antispam'].' сек.');
nav('?');
}
} else {
header('location: ?');
}
} else {
if ($_POST['msg'] and $_POST['code']) {
$msg = check($_POST['msg']);
$code = check($_POST['code']);
if ($_SESSION['checkcode'] == $code) {
if (time() > $_SESSION['antispam']) {
mysql_query("INSERT INTO `chat` SET `msg` = '$msg', `time` = '".time()."'");
$_SESSION['antispam'] = time() + $config['antispam'];
header('location: ?');
} else {
error('Антиспам. Разрешено писать раз в '.$config['antispam'].' сек.');
nav('?');
}
} else {
error('Неверный код.');
nav('?');
}
} else {
header('location: ?');
}
}
break;
case 'reply':
if ($u['id']) {
$id = intval($_REQUEST['id']);
$msg_r = mysql_query("SELECT `id`, `id_user` FROM `chat` WHERE `id` = '$id'");
$msg = mysql_fetch_assoc($msg_r);
if ($msg['id']) {
if ($ok) {
if (time() > $_SESSION['antispam']) {
if ($_POST['msg_text']) {
$msg_text = check($_POST['msg_text']);
mysql_query("INSERT INTO `chat` SET `id_user` = '$u[id]', `msg` = '$msg_text', `time` = '".time()."'");
$_SESSION['antispam'] = time() + $config['antispam'];
header('location: ?');
} else {
error('Вы не заполнили поле.');
nav('?act=reply&id='.$id);
}
} else {
error('Антиспам. Разрешено писать раз в '.$config['antispam'].' сек.');
nav('?');
}
} else {
tp('Ответ на сообщение(max250)');
echo '<form action="?act=reply&id='.$id.'&ok=1" method="post">
<textarea name="msg_text" cols="" rows="3">[b]'.justusername($msg['id_user']).'[/b], </textarea><br />';
if (!$u['id']) {
echo 'Введите:
<img src="inc/code.php?'.session_name().'='.session_id().'" alt="" /><br/>
<input name="code" maxlength="5" size="12" /><br />';
}
echo '<input name="submit" type="submit" value="Ok" />
</form>';
nav('?');
}
} else {
error('Сообщение, на которое вы хотите ответить, не существует.');
nav('?');
}
} else {
header('location: ?');
}
break;
case 'edit':
if ($u['id']) {
$id = intval($_REQUEST['id']);
$chat_r = mysql_query("SELECT `id_user`, `msg`, `time` FROM `chat` WHERE `id` = '$id'");
$chat = mysql_fetch_assoc($chat_r);
if ($chat['msg']) {
if ($u['access'] > 0 or $u['id'] == $chat['id_user'] and time() - $chat['time'] < $config['edit_time']) {
tp('Редактирование сообщения');
if (empty($_REQUEST['ok'])) {
echo '<form action="?act=edit&id='.$id.'&ok=1" method="post">
Сообщение(max250):<br /><textarea name="msg" cols="" rows="3">'.$chat['msg'].'</textarea>
<input name="submit" type="submit" value="Ok" />
</form>';
nav('?');
} else {
if ($_POST['msg']) {
$msg = check($_POST['msg']);
mysql_query("UPDATE `chat` SET `msg` = '$msg', `edit_by` = '$u[id]', `edit_time` = '".time()."' WHERE `id` = '$id'");
header('location: ?');
} else {
error('Вы не заполнили поле.');
nav('?act=edit&id='.$id);
}
}
} else {
error('Нельзя отредактировать это сообщение.');
nav('?');
}
} else {
error('Сообщение не существует.');
nav('?');
}
} else {
header('location: login.php');
exit;
}
break;
case 'del':
if ($u['access'] > 1) {
$id = intval($_REQUEST['id']);
$msg_r = mysql_query("SELECT `id` FROM `chat` WHERE `id` = '$id'");
if (mysql_num_rows($msg_r)) {
mysql_query("DELETE FROM `voting` WHERE `type` = 'chat' and `id_for` = '$id'");
mysql_query("DELETE FROM `chat` WHERE `id` = '$id'");
}
}
header('location: ?');
break;
case 'empty_chat':
if ($u['access'] > 2) {
if ($ok) {
mysql_query("DELETE FROM `chat`");
header('location: ?');
} else {
tp('Подтвердите');
echo 'Удалить все сообщ. в мини-чате?
<form action="?act=empty_chat&ok=1" method="post">
<input name="submit" type="submit" value="Ok" />
</form>';
}
nav('?');
}
break;
}
require_once 'system/tail.php';
?>