Файл: chat.php
Строк: 96
<?php
require_once ('system/func.php');
auth(); // Закроем от гостей
if(isset($_GET['text'])){
if(isset($_POST['text'])){
$text = $_POST['text'];
$ban = mysql_query('SELECT * FROM `ban` WHERE `id_user` = "'.$myID.'" AND `last` > "'.time().'" ORDER BY `id` DESC LIMIT 1');
$ban = mysql_fetch_array($ban);
if(strlen($text) < 3 or strlen($text) > 500)$err = 'Длина сообщения должна быть в пределах 3 - 500 символов';
if($ban)$err = "На вас наложен бан осталось ".tl($ban['last']-time());
$ban_ip = mysql_query('SELECT * FROM `ban` WHERE `ip` = "'.$user['ip'].'" AND `last` > "'.time().'" ORDER BY `id` DESC LIMIT 1');
$ban_ip = mysql_fetch_array($ban_ip);
if($ban_ip)$err = "Ваш IP совпадает с нарушителем!<br>Осталось: ".tl($ban_ip['last']-time());
$chat_limit = mysql_query('SELECT * FROM `chat` WHERE `id_user` = "'.$myID.'" AND `time` > "'.(time()-15).'" ORDER BY `id` DESC LIMIT 1');
$chat_limit = mysql_fetch_array($chat_limit);
if($chat_limit)$err = 'Писать можно только раз в 15 сек';
if(!$err){
mysql_query("INSERT INTO `chat` SET `id_user` = '$user[id]', `time` = '".time()."', `text` = '".text($text)."'");
header('Location: /chat');
exit();
}else{
$_SESSION['msg'] = $err;
header('Location: /chat');
exit();
}
}else{
$_SESSION['msg'] = 'Введите сообщение';
header('Location: /chat');
exit();
}
}
$title = 'Общий чат';
require_once ('system/header.php');
if(isset($_GET['delete_post']) and $user['access'] > 0){
mysql_query("DELETE FROM `chat` WHERE `id` = '".num($_GET['delete_post'])."'");
header('Location: ?');
exit();
}
echo "<div class='block center'>";
if($user['level'] < 10){
echo "В чате можно писать только с ".ico('icons','level.png')." 10 уровня";
}else{
require_once ('modules/smiles_ajax.php');
if(isset($_GET['to'])){
echo "<form method='post' action='' id='ajax_form'>";
$opponent = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '".num($_GET['to'])."' LIMIT 1"));
echo "<input type='text' name='text' id='sml' value = '".text($opponent['login']).", '>";
?> <input class="btn" type="button" onClick="mode('ajax_form');" value="Отправить"> <?
echo "<a href='' class='btn'>Обновить</a></form>";
}else{
echo "<form method='post' action='' id='ajax_form'>";
echo "<textarea id='sml' name='text'></textarea>";
?> <input class="btn" type="button" onClick="mode('ajax_form');" value="Отправить"> <?
echo "<a href='' class='btn'>Обновить</a>
</form>";
}
}
echo '<div id="indicator"></div><div id="display"></div>';
echo "</div>";
?>
<script type="text/javascript">
function mode(ajax_form)
{
$('#indicator').addClass('ajax_load'); // Подключаем класс
$.ajax({
url: '/include/chat_form_ajax.php', // Название файла обработчика
type: 'POST',
data: jQuery('#ajax_form').serialize(),
success: function(data)
{
$('#indicator').removeClass('ajax_load'); // Отключаем класс
$('#display').html(data);
}
});
}
</script>
<script type='text/javascript'>
/*<![CDATA[*/
function sml(id, html) {
var e = document.getElementById(id);
if (e != null) {
e.value += ' ' + html + ' ';
e.focus();
}
}
/*]]>*/
</script>
<?
$set['p_str'] = 10;
$k_post = mysql_result(mysql_query("SELECT COUNT(*) FROM `chat`"),0);
$k_page = k_page($k_post,$set['p_str']);
$page = page($k_page);
$start = $set['p_str']*$page-$set['p_str'];
echo "<div id='content'>";
$q = mysql_query("SELECT * FROM `chat` ORDER BY `id` DESC LIMIT $start, $set[p_str]");
if($k_post == 0) echo "Сообщений не найдено...";
while($post = mysql_fetch_assoc($q)) {
echo "<div class='block'>";
$ank = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = $post[id_user] LIMIT 1"));
echo icons_user($ank[id])." <a href='/profile/$ank[id]'><font color='$ank[color]'>$ank[login]</font></a>, ".vremja($post['time'])." ";
if($myID != $ank['id'])echo "<a href='?to=$ank[id]'>[Отв]</a>";
$msg = str_replace(array($user[login].','), "<b>$user[login],</b> ", $post['text']);
echo "<br>".text_msg($msg);
if($user['access'] > 0)echo " <a href='?delete_post=$post[id]'><font color='red'>[×]</font></a>";
echo "</div>";
}
echo "</div>";
echo "<div class='block'>";
str('?',$k_page,$page); // Вывод страниц
echo "</div>";
?>
<script>
function show()
{
$.ajax({
url: "/include/chat_ajax.php?page=<?=$page?>",
cache: false,
success: function(html){
$("#content").html(html);
}
});
}
$(document).ready(function(){
show();
setInterval('show()',1000);
});
</script>
<?
echo "<a href='/prava/' class=".$user[oformlenie]." data-ajax alt=''/ ><center>Пожаловаться на нарушение</center></a>";
echo "<a href='/smiles/' class=".$user[oformlenie]." data-ajax><img src='/images/smiles/ulibka.png' alt=''/> Список смайликов</a>";
require_once ('system/footer.php');
?>