Файл: 3/chat.php
Строк: 108
<?php
require_once ('system/func.php');
auth(); // Закроем от гостей
$title = 'Общий чат';
require_once ('system/header.php');
echo'<div class="lent mlra w80">
<div class="bl-ttl"><div class="te"><div class="ttl">
'.$title.'
</div></div></div>';
if(isset($_GET['text'])){
if(isset($_POST['text'])){
$text = text($_POST['text']);
$ban = $db->query('SELECT * FROM `ban` WHERE `id_user` = "'.$myID.'" AND `last` > "'.time().'" ORDER BY `id` DESC LIMIT 1')->fetch_assoc();
if(strlen($text) < 3 or strlen($text) > 2000)$err = 'Длина сообщения должна быть в пределах 3 - 2000 символов';
if($ban)$err = "На вас наложен, бан осталось ".tl($ban[last]-time());
if(!$err){
$db->query("INSERT INTO `chat` SET `id_user` = '$user[id]', `time` = '".time()."', `text` = '".text($text)."'");
$_SESSION['msg'] = 'Сообщение отправлено';
header('Location: /chat');
exit();
}else{
$_SESSION['msg'] = $err;
header('Location: /chat');
exit();
}
}else{
$_SESSION['msg'] = 'Введите сообщение';
header('Location: /chat');
exit();
}
}
if(isset($_GET['trinti'])){
if($user[access] == 3)
{
$db->query("DELETE FROM chat");
echo "<div class="block2 tmar center">Все сообщения удалены!</div></div>";
echo "<a class='link' href="/chat">Назад</a>";
require_once ('system/footer.php');
exit();
}
else
{
echo "<div class="block2 tmar center">Ошибка! Доступ закрыт!</div></div>";
require_once ('system/footer.php');
exit();
}
}
if(isset($_GET['delete_post']) and $user['access'] > 0){
$db->query("DELETE FROM `chat` WHERE `id` = '".num($_GET['delete_post'])."'");
$_SESSION['msg'] = 'Пост удален';
header('Location: ?');
exit();
}
echo "<div class='block center'>";
if($user['level'] < 5){
echo "В чате можно писать только с ".ico('icons','level.png')." 5 уровня";
}else{
if(isset($_GET['to'])){
echo "<form name='form' method='post' action='?text='". num($_GET['to'])."'><div class='fight center'>".bbpanel('form', 'text')."</div><script type='text/javascript'>
function ctrlEnter(event, formElem)
{
if((event.ctrlKey) && ((event.keyCode == 0xA)||(event.keyCode == 0xD)))
{
formElem.form.submit();
}
}
</script>
";
$opponent = $db->query("SELECT * FROM `users` WHERE `id` = '".num($_GET['to'])."' LIMIT 1")->fetch_assoc();
echo "<textarea name='text' style='width:100% ;resize:vertical;' placeholder='Введите сообщение...' rows='1' onkeypress='ctrlEnter(event, this);'>$opponent[login], </textarea><br>";
echo "<input type='submit' class='btn' value='Отправить'>
<a href='/chat' class='btn'>Обновить</a> <a href='/smiles.php' class='btn'>Смайлы</a>
</form>";
}else{
echo "<form name='form' method='post' action='?text'><div class='fight center'>".bbpanel('form', 'text')."</div><script type='text/javascript'>
function ctrlEnter(event, formElem)
{
if((event.ctrlKey) && ((event.keyCode == 0xA)||(event.keyCode == 0xD)))
{
formElem.form.submit();
}
}
</script>";
echo "<textarea name='text' style='width:100% ;resize:vertical;' placeholder='Введите сообщение...' rows='1' onkeypress='ctrlEnter(event, this);'></textarea><br>";
echo "<br><input type='submit' class='btn' value='Отправить'>
<a href='/chat' class='btn'>Обновить</a> <a href='/smiles.php' class='btn'>Смайлы</a>
</form>";
}
}
echo "</div>";
echo "<div class='block'>";
$db->query("DELETE FROM `chat` WHERE `time` < '".(time() - 3600 * 2)."'");
$set['p_str'] = 10;
$k_post = $db->query("SELECT * FROM `chat`")->num_rows;
$k_page = k_page($k_post,$set['p_str']);
$page = page($k_page);
$start = $set['p_str']*$page-$set['p_str'];
$q = $db->query("SELECT * FROM `chat` ORDER BY `id` DESC LIMIT $start, $set[p_str]");
if($k_post == 0) echo "Сообщений не найдено...";
while($post = $q->fetch_assoc()) {
echo "<div class='fight'>";
$ank = $db->query("SELECT * FROM `users` WHERE `id` = $post[id_user] LIMIT 1")->fetch_assoc();
$nik='<span style="text-shadow: 1px 0 10px #'.$ank[gradient2].';">'.gradient(''.$ank[login].'',''.$ank[gradient1].'', ''.$ank[gradient2].'').'</span>';
echo icons_user($ank[id])." <a href='/profile/$ank[id]'>".$nik."</a>";
if($ank['vip']==1)echo ' '.ico('icons','vip.png').'';
echo", ".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>";
}
if($k_post>10){
str('?',$k_page,$page); // Вывод страниц
}
$online = $db->query("SELECT * FROM `users` WHERE `online` > '".(time()-300)."' AND `fix_mesto` = '$title'")->num_rows;
if($user[access] == 3)
{
//echo "<small><br><br><a href="?trinti"><span style="color: #e32636; font-weight: bold;text-shadow: 1px 0 8px red;">Очистить чат</span></a></small></div>";
}
require_once ('system/footer.php');
?>