Вход Регистрация
Файл: mob-lave.ru/moduls/chat/index.php
Строк: 89
<?php

require_once '../../core/set.php';
$set['title'] = 'Общий чат';
require_once 
H.'core/head.php';
require_once 
H.'core/panel.php';
echo 
'<div class="navig">'.$home$z$set['title'].'</div>';


switch(
$_GET['act']){
    
// ------------ Ответ ----------- //
    
case 'msg_otv':
        if(isset(
$_GET['id']) && isset($_POST['msg'])){
            
$array mysql_fetch_assoc(mysql_query("SELECT `id` FROM `$system[perfix]_chat` ORDER BY `id` DESC"));
            if(
$_GET['id'] > && $array['id'] >= $_GET['id']){
                
$id num($_GET['id']);
                
$otvet check($_POST['msg']);
                
$chat mysql_fetch_assoc(mysql_query("SELECT `id_user` FROM `$system[perfix]_chat` WHERE `id` = '$id'"));
                
$avtor mysql_fetch_assoc(mysql_query("SELECT `id`,`login` FROM `$system[perfix]_users` WHERE `id` = '$chat[id_user]'"));
                
$flood mysql_fetch_assoc(mysql_query("SELECT `post` FROM `$system[perfix]_chat` WHERE `id_user` = '$user[id]' ORDER BY `id` DESC LIMIT 1"));
                if(
$otvet == $flood['post']) $err 'Ваше сообщение повторяет предыдущее';
                if (
strlen($otvet) < or strlen($otvet) > 50000$err 'Сообщение должено быть в пределах 3 - 50 000 символов';
                    
                if(
$user['id'] != $avtor['id']){
                    if(!isset(
$err)){
                        
mysql_query("INSERT INTO `$system[perfix]_jurnal` (`id_user`, `id_ank`, `msg`, `time`, `read`, `link`, `razdel`) values('$avtor[id]', '$user[id]', '$otvet', '$time', '0', '/moduls/chat/', 'Чат')");
                        
mysql_query("INSERT INTO `$system[perfix]_chat` SET `post` = '$otvet', `time` = '$time', `id_user` = '$user[id]',`otv_user` = '$avtor[id]'");
                            
                        
$post_chat mysql_fetch_assoc(mysql_query("SELECT `id_user` FROM `$system[perfix]_user_ank` WHERE `id_user` = '$user[id]'"));
                        
mysql_query("UPDATE `$system[perfix]_user_ank` SET `count_post_chat` = '".($post_chat['count_post_chat']+1)."' WHERE `id_user` = '$user[id]' LIMIT 1"); // Статистика
                        
$_SESSION['message'] = 'Сообщение успешно отправлено';
                        
header("Location: /moduls/chat/");
                        exit();
                    }else{
                        
$_SESSION['err'] = 'Сообщение не отправлено';
                        
header('Location: /moduls/chat/');
                        exit();
                    }
                }else{
                    
$_SESSION['err'] = 'Нельзя отвечать себе';
                    
header('Location: /moduls/chat/');
                    exit();
                }
            }else{
                
$_SESSION['err'] = 'Сообщение не отправлено';
                
header('Location: /moduls/chat/');
                exit();
            }
        }
    break;
    
    case 
'otvet':
        if(isset(
$_GET['id'])){
            
$array mysql_fetch_assoc(mysql_query("SELECT `id` FROM `$system[perfix]_chat` ORDER BY `id` DESC"));
            if(
$_GET['id'] > && $array['id'] >= $_GET['id']){
                
$id num($_GET['id']);
                
$chat mysql_fetch_assoc(mysql_query("SELECT `id_user` FROM `$system[perfix]_chat` WHERE `id` = '$id'"));
                
$avtor mysql_fetch_assoc(mysql_query("SELECT `id`,`login` FROM `$system[perfix]_users` WHERE `id` = '$chat[id_user]'"));
                
$cit mysql_fetch_assoc(mysql_query("SELECT * FROM `$system[perfix]_chat` WHERE `id` = '$id'"));
                
                if(
$user['id'] != $avtor['id']){
                    echo 
'<form method="post" action="/moduls/chat/?act=msg_otv&amp;id='.$id.'">';
                        echo 
'Ответ на сообщение ';
                        echo 
online($avtor['id']);
                        echo 
'<a href="/?login='.$avtor['login'].'">'.$avtor['login'].'</a><br/ >';
                        echo 
text($cit['post']);
                        echo 
'<textarea name="msg"></textarea><br />
                        <input type="submit" value="Ответить"> <a href="/moduls/chat/">Отмена</a>
                    </form>'
;
                }else{
                    
$_SESSION['err'] = 'Нельзя отвечать себе';
                    
header('Location: /moduls/chat/');
                    exit();
                }
            }else{
                
$_SESSION['err'] = 'Сообщение не отправлено';
                
header('Location: /moduls/chat/');
                exit();
            }
        }else{
            
$_SESSION['err'] = 'Сообщение не отправлено';
            
header('Location: /moduls/chat/');
            exit();
        }
    break;
    
    
// ------------ Запись ----------- //
    
case 'msg':
        if(isset(
$_POST['msg'])){
            
$msg check($_POST['msg']);
            
$flood mysql_fetch_assoc(mysql_query("SELECT `post` FROM `$system[perfix]_chat` WHERE `id_user` = '$user[id]' ORDER BY `id` DESC LIMIT 1"));
            if(
$msg == $flood['post']) $err 'Ваше сообщение повторяет предыдущее';
            if (
strlen($msg) < or strlen($msg) > 50000$err 'Сообщение должено быть в пределах 3 - 50 000 символов';

            if(!isset(
$err)){
                
mysql_query("INSERT INTO `$system[perfix]_chat` (`post`, `time`, `id_user`) values('$msg', '$time', '$user[id]')");
                
                
$post_chat mysql_fetch_assoc(mysql_query("SELECT `count_post_chat` FROM `$system[perfix]_user_ank` WHERE `id_user` = '$user[id]'"));
                
mysql_query("UPDATE `$system[perfix]_user_ank` SET `count_post_chat` = '".($post_chat['count_post_chat']+1)."' WHERE `id_user` = '$user[id]' LIMIT 1"); // Статистика
                
$_SESSION['message'] = 'Сообщение успешно добавлено';
                
header('Location: /moduls/chat/');
                exit();
            }else{
                
$_SESSION['err'] = $err;
                
header('Location: /moduls/chat/');
                exit();
            }
        
        }else{
            
$_SESSION['err'] = 'Сообщение не добавлено';
            
header('Location: /moduls/chat/');
            exit();
        }
    break;
    
    
// ----------- Удалить все ------------ //
    
case 'delete_all':
        if(
user_access('chat_del_all_komm') && isset($_GET['da'])){
            
mysql_query("TRUNCATE `$system[perfix]_chat`");
            
$_SESSION['message'] = 'Чат очищен';
            
header('Location: /moduls/chat/');
            exit();
        }else{
            
$_SESSION['err'] = 'Нет прав на очистку чата';
            
header("Location: /moduls/chat/");
            exit();
        }
    break;
    
    case 
'del_all':
        if(
user_access('chat_del_all_komm')){
            echo 
'<div class="mess">Вы действительно хотите удалить все сообщения из чата?<br />
            <div id="dark" class="icon-checkmark"></div>  <a href="/moduls/chat/?act=delete_all&amp;da">Да</a> | <div id="dark" class="icon-undo2 "></div> <a href="/moduls/chat/">Нет</a></div>'
;
        }else{
            
$_SESSION['err'] = 'Нет прав на очистку чата';
            
header("Location: /moduls/chat/");
            exit();
        }
    break;
    
// --------------- Удаление ------------- //
    
case 'del':
    if(
user_access('chat_del_komm')){
        if(isset(
$_GET['id'])) $id num($_GET['id']);
        
mysql_query("DELETE FROM `$system[perfix]_chat` WHERE `id` = '$id'");
        
header("Location: /moduls/chat/");
        
$_SESSION['message'] = 'Сообщение успешно удалено';
        exit();
    }else{
        
$_SESSION['err'] = 'Нет прав на удаление комментариев';
        
header("Location: /moduls/chat/");
        exit();
    }
    break;
    
    default:

        if(isset(
$user['id'])){
        echo 
'<form method="post" action="index.php?act=msg">';
                
panel_bb('textarea');
                echo 
'<textarea id="textarea" name="msg"></textarea><br>
                <input type="submit" value="Написать"> '
.$Panel.' <a href = "/moduls/chat/?refresh='.rand(1,9999).'"><span style="float:right"><div id="dark" class="icon-spinner2"></div></span></a> 
            </form>'
;
        }
        
        
$k_post mysql_result(mysql_query("SELECT COUNT(*) FROM `$system[perfix]_chat`"),0);
        
$k_page k_page($k_post,$set['p_str']);
        
$page page($k_page);
        
$start $set['p_str']*$page-$set['p_str'];

        if (
$k_post == 0) echo '<div class="menu">Сообщений нет</div>';
        
$q mysql_query("SELECT * FROM `$system[perfix]_chat` ORDER BY `id` DESC LIMIT $start$set[p_str]");
        while(
$chat mysql_fetch_assoc($q)){
            
$avtor mysql_fetch_assoc(mysql_query("SELECT `id`,`login` FROM `$system[perfix]_users` WHERE `id` = '".num($chat[id_user])."'"));
            echo 
'<div class="mess">';
            echo 
online($avtor['id']).' <a href="/?login='.$avtor['login'].'"><u>'.login($avtor['login']).'</font></u></a>';
            if(
$chat['otv_user'] != 0){
                
$otvet mysql_fetch_assoc(mysql_query("SELECT `id`,`login` FROM `$system[perfix]_users` WHERE `id` = '".num($chat['otv_user'])."'"));
                echo 
' Ответил <a href="/?login='.$otvet['login'].'">'.$otvet['login'].'</a>';
            }
            echo 
' ('.vremja($chat['time']).')<br />'.text($chat['post']);
            if(
$user['id'] != $avtor['id'] && isset($user['id'])) echo '<br /> <div style="float:left"><a href="/moduls/chat/?act=otvet&amp;id='.$chat['id'].'">Ответ</a></div>';
            if(isset(
$user['id']) && user_access('chat_del_komm')) echo '<div style="float:right"> <a href="/moduls/chat/?act=del&amp;id='.num($chat['id']).'"><div id="dark" class="icon-cancel"></div></a></div>';
            echo 
'<div style="clear:both"></div>';
            echo 
'</div>';
        }

        
mysql_query("OPTIMIZE TABLE `$system[perfix]_chat`");
        if (
$k_page>1)str('index.php?',$k_page,$page); // Вывод страниц
        
if(user_access('chat_del_all_komm')) echo '<div class="navig"><a href="/moduls/chat/?act=del_all"><div id="dark" class="icon-cancel"></div> Очистить чат</a></div>';
}

echo 
'<div class="navig">'.$home$z$set['title'].'</div>';
require_once 
H.'core/foot.php';
?>
Онлайн: 1
Реклама