Вход Регистрация
Файл: pages/mchat/index.php
Строк: 214
<?php
include ('../../system/mysql.php');
include (
'../../system/sys_func.php');

switch (
$_GET['menu']) {
    default:
        
$error false;
        
$errort '';
        
// Отправляем сообщение
        
if (isset($_POST['add'])) {
            
$msg htmlspecialchars(mysql_real_escape_string($_POST['msg']));

            if (
strlen($msg) > 1024 || strlen($msg) < 1) {
                
$error true;
                
$errort .= '<div class="err">Неправильная длина сообщения.</div>';
            }
            if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `mchat` WHERE `id_user` = '"$user['id'] ."' AND `msg` = '$msg' LIMIT 1"),0)!=0) {
                
$error true;
                
$errort .= '<div class="err">Ваше сообщение повторяет предыдущее.</div>';
            }
            if (!
$error) {
                
mysql_query("INSERT INTO `mchat` (`id_user`, `msg`, `time`) values('"$user['id'] ."', '$msg', '"time() ."')");
                
header('Location: index.php');
            }
        }
        if (isset(
$_POST['add'])) {
            
$msg htmlspecialchars(mysql_real_escape_string($_POST['msg']));
            if (
preg_match('/Привет/i',$msg)) {
                
mysql_query("INSERT INTO `mchat` (`id_user`, `msg`, `time`) values('2', '<span style="color:gray">Ответ</span> <a href="/anketa/?id=$user[id]"><b>$user[login]</b></a>:<br>Привет :)', '"time() ."')");
             }
        }

        
$title 'Мини чат';
        include (
'../../system/head.php');
        echo 
'<div class="title">Мини-Чат</div>';
        echo 
$errort;

        
// Форма для ввода сообщения
        
if (isset($user)) {
            echo 
'<form method="post" name="message">';
            include 
'../../system/bbcodes.php';
            echo 
'<textarea cols="24" rows="3" name="msg"></textarea><br>';
            include 
'../../system/smiles.php';
            echo 
'<input value="Добавить" type="submit" name="add" />
            </form>'
;
        } else {
            echo 
'<div class="err">Чтобы писать в чате, вы должны <a href="/reg.php">зарегистрироваться</a> или <a href="/login.php">авторизоваться</a>!</div>';
        }

        
$c_p mysql_result(mysql_query("SELECT COUNT(*) FROM `mchat`"), 0);
        
$k_page k_page($c_p10);
        
$page page($k_page);
        
$start 10*$page-10;
        if (
$c_p == '0') {
            echo 
'<div class="post">
            Нет сообщений
            </div>'
;
        } else {
            echo 
'<div class="post">
            <b>Сообщения</b> ('
$c_p .')
            </div>'
;
        }
        
// Вывод сообщений
        
$q mysql_query("SELECT * FROM `mchat` ORDER BY `id` DESC LIMIT $start, 10");
        while (
$post mysql_fetch_assoc($q)) {
            
$ank mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '$post[id_user]' LIMIT 1"));
            echo 
'<div class="post">
            <span class="c_date">'
ptime($post['time']) .'</span>
            <table cellpadding="0" cellspacing="0">
            <tr>
            <td>'
;
            
avatar($ank['id']);
            echo 
'&#160;</td><td>';
            echo 
online($ank['id']);
            echo 
'<a href="?menu=action&post='$post['id'] .'">';
            echo 
$ank['login'];
            echo 
'</a>';
            echo 
browser($ank['id']);
            echo 
'<br>';
            echo 
position($ank['id']);
            echo 
'</td>
            </tr>
            </table>
            '
output($post['msg']) .'
            </div>'
;
        }
        if (
$k_page 1str('?'$k_page$page);
        if (
$c_p '1' && $user['position'] == 'admin' || $user['position'] == 'mod_c') echo '<a class="link" href="?menu=action&truncate"><img src="/design/imgs/delete.png" /> Очистить чат</a>';

        
foot();
    break;

    case 
'action':
        
// Ответ
        
if (isset($_GET['reply']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `mchat` WHERE `id` = '"intval($_GET['reply']) ."'"),0) == 1) {
            
$post mysql_fetch_array(mysql_query("SELECT * FROM `mchat` WHERE `id` = '"intval($_GET['reply']) ."' LIMIT 1"));
            
$ank mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '"$post['id_user'] ."' LIMIT 1"));

            if (!isset(
$user)) {
                
$title 'Мини-Чат/Ошибка';
                include (
'../../system/head.php');
                echo 
'<div class="title"><a href="index.php">Мини-Чат</a> / Ошибка</div>
                <div class="err">Чтобы просматривать данную страницу вы должны <a href="/reg.php">зарегистрироваться</a> или <a href="/login.php">авторизоваться</a>!</div>
                <a class="link" href="/pages/mchat/">← Назад</a>'
;
                
foot();
                exit;
            }

            if (
$post['id_user'] == $user['id']) {
                
$title 'Мини-Чат/Ошибка';
                include (
'../../system/head.php');
                echo 
'<div class="title"><a href="index.php">Мини-Чат</a> / Ошибка</div>
                <div class="err">Вы не можете отвечать сами себе.</div>
                <a class="link" href="/pages/mchat/">← Назад</a>'
;
                
foot();
                exit;
            }

            
$error false;
            
$errort '';
            if (isset(
$_POST['msg'])) {
                
$msg htmlspecialchars(mysql_real_escape_string($_POST['msg']));

                if (
strlen($msg) < 1) {
                    
$error true;
                    
$errort .= '<div class="err">Длина сообщения должна быть не менее 1-ого символа.</div>';
                } elseif (
strlen($msg) > 2000) {
                    
$error true;
                    
$errort .= '<div class="err">Длина сообщения должна быть не более 2000 символов.</div>';
                }
                if (!
$error) {
                    
mysql_query("INSERT INTO `mchat` (`id_user`, `time`, `msg`) VALUES ('$user[id]', '".time()."', '<span style="color:gray">Ответ</span> <b>$ank[login]</b>:<br>$msg')");
                    if(
$user['pol'] == 1$pol 'Ответил';
                    else 
$pol 'Ответила';
                    
mysql_query("INSERT INTO `notifications` (`user_id`, `from_id`, `msg`, `message`, `time`) values('"$ank['id'] ."', '"$user['id'] ."', '"$pol ." на ваше сообщение в "<a href="/pages/mchat/">Мини-Чате</a>".', '"$msg ."', '"time() ."')");
                    
header('Location: /pages/mchat/');
                    exit;
                }
            }

            
$title 'Мини-Чат/Ответ '$ank['login'];
            include (
'../../system/head.php');
            echo 
'<div class="title"><a href="index.php">Мини-Чат</a> / Ответ '$ank['login'] .'</div>';
            echo 
$errort;

            echo 
'<div class="post">
            <span class="c_date">'
ptime($post['time']) .'</span>
            <table cellpadding="0" cellspacing="0">
            <tr>
            <td>'
;
            
avatar($ank['id']);
            echo 
'&#160;</td><td>';
            echo 
online($ank['id']);
            echo 
$ank['login'];
            echo 
browser($ank['id']);
            echo 
'<br>';
            echo 
position($ank['id']);
            echo 
'</td>
            </tr>
            </table>
            <div>
            '
output($post['msg']) .'
            </div>
            </div>
            <form method="post" name="message">
            <textarea cols="20" rows="2" name="msg"></textarea><br>
            <input value="Ответить" type="submit" name="add" />
            </form>
            <a class="link" href="/pages/mchat/">← Вернуться в мини-чат</a>'
;
            
foot();
        }

        
// Цитирование
        
if (isset($_GET['quote']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `mchat` WHERE `id` = '"intval($_GET['quote']) ."'"),0) == 1) {
            
$post mysql_fetch_array(mysql_query("SELECT * FROM `mchat` WHERE `id` = '"intval($_GET['quote']) ."' LIMIT 1"));
            
$ank mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '"$post['id_user'] ."' LIMIT 1"));

            if (!isset(
$user)) {
                
$title 'Мини-Чат/Ошибка';
                include (
'../../system/head.php');
                echo 
'<div class="title"><a href="index.php">Мини-Чат</a> / Ошибка</div>
                <div class="err">Чтобы просматривать данную страницу вы должны <a href="/reg.php">зарегистрироваться</a> или <a href="/login.php">авторизоваться</a>!</div>
                <a class="link" href="/pages/mchat/">← Назад</a>'
;
                
foot();
                exit;
            }

            
$error false;
            
$errort '';
            if (isset(
$_POST['msg'])) {
                
$msg htmlspecialchars(mysql_real_escape_string($_POST['msg']));
                
$p_msg htmlspecialchars(mysql_real_escape_string($post['msg']));

                if (
strlen($msg) < 1) {
                    
$error true;
                    
$errort .= '<div class="err">Длина сообщения должна быть не менее 1-ого символа.</div>';
                } elseif (
strlen($msg) > 2000) {
                    
$error true;
                    
$errort .= '<div class="err">Длина сообщения должна быть не более 2000 символов.</div>';
                }
                if (!
$error) {
                    
mysql_query("INSERT INTO `mchat` (`id_user`, `time`, `msg`) VALUES ('$user[id]', '".time()."', '<span style="color:gray">Ответ</span> <b>$ank[login]</b>:<div class="quote">"htmlspecialchars_decode($p_msg) ."</div>$msg')");
                    if(
$user['pol'] == 1$pol 'Процитировал';
                    else 
$pol 'Процитировала';
                    if (
$user['id'] != $ank['id']) mysql_query("INSERT INTO `notifications` (`user_id`, `from_id`, `msg`, `message`, `time`) values('"$ank['id'] ."', '"$user['id'] ."', '"$pol ." ваше сообщение в "<a href="/pages/mchat/">Мини-Чате</a>".', '"$msg ."', '"time() ."')");
                    
header('Location: /pages/mchat/');
                    exit;
                }
            }

            
$title 'Мини-Чат/Ответ '$ank['login'];
            include (
'../../system/head.php');
            echo 
'<div class="title"><a href="index.php">Мини-Чат</a> / Ответ '$ank['login'] .'</div>';
            echo 
$errort;

            echo 
'<div class="post">
            <span class="c_date">'
ptime($post['time']) .'</span>
            <table cellpadding="0" cellspacing="0">
            <tr>
            <td>'
;
            
avatar($ank['id']);
            echo 
'&#160;</td><td>';
            echo 
online($ank['id']);
            echo 
$ank['login'];
            echo 
browser($ank['id']);
            echo 
'<br>';
            echo 
position($ank['id']);
            echo 
'</td>
            </tr>
            </table>
            <div>
            '
output($post['msg']) .'
            </div>
            </div>
            <form method="post" name="message">
            <textarea cols="20" rows="2" name="msg"></textarea><br>
            <input value="Цитировать" type="submit" name="add" />
            </form>
            <a class="link" href="/pages/mchat/">← Вернуться в мини-чат</a>'
;
            
foot();
        }

        
// Удаление сообщения
        
if (isset($_GET['delete']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `mchat` WHERE `id` = '"intval($_GET['delete']) ."'"), 0) == 1) {
            if (
$user['position'] == 'admin' || $user['position'] == 'mod_c') {
                
mysql_query("DELETE FROM `mchat` WHERE `id` = '"intval($_GET['delete']) ."'");
                
header('Location: index.php');
            } else {
                
$title 'Мини-Чат/Ошибка';
                include (
'../../system/head.php');
                echo 
'<div class="title">Мини-Чат</div>
                <div class="err">У вас недостаточно прав!</div>
                <a class="link" href="index.php">← Назад</a>'
;
                
foot();
                exit;
            }
        }

        
// Очищаем чат
        
if (isset($_GET['truncate'])) {
            if (
$user['position'] == 'admin' || $user['position'] == 'mod_c') {
                if (isset(
$_POST['ok'])) {
                    
mysql_query("TRUNCATE `mchat`");
                    
header('Location: index.php');
                    exit;
                }
                
$title 'Мини-Чат/Очищение чата';
                include (
'../../system/head.php');
                echo 
'<div class="title">Мини-Чат</div>
                <form method="post">
                Вы уверены что хотите удалить все сообщения в чате?<br>
                <input type="submit" name="ok" value="Да"> <a href="index.php">Нет</a>
                </form>'
;
                
foot();
                exit;
            } else {
                
$title 'Мини-Чат/Ошибка';
                include (
'../../system/head.php');
                echo 
'<div class="title">Мини-Чат</div>
                <div class="err">У вас недостаточно прав!</div>
                <a class="link" href="index.php">← Назад</a>'
;
                
foot();
                exit;
            }
        }

        
// Просмотр поста
        
if (isset($_GET['post']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `mchat` WHERE `id` = '"intval($_GET['post']) ."'"), 0) == 1) {
            
$post mysql_fetch_assoc(mysql_query("SELECT * FROM `mchat` WHERE `id` = '"intval($_GET['post']) ."' LIMIT 1"));
            
$ank mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '"$post['id_user'] ."' LIMIT 1"));
            if (!isset(
$user)) {
                
$title 'Мини-Чат/Ошибка';
                include (
'../../system/head.php');
                echo 
'<div class="title"><a href="index.php">Мини-Чат</a> / Ошибка</div>';
                echo 
'<div class="err">Чтобы просматривать данную страницу, вы должны <a href="/pages/registration/">зарегистрироваться</a> или <a href="/pages/registration/?menu=login">авторизоваться</a>!</div>
                <a class="link" href="index.php">← Назад</a>'
;
                
foot();
                exit;
            }
            
$title 'Мини-Чат/Просмотр поста №'$post['id'];
            include (
'../../system/head.php');
            echo 
'<div class="title"><a href="index.php">Мини-Чат</a> / Пост №'$post['id'] .'</div>';
            echo 
'<div class="post">
            <span class="c_date">'
ptime($post['time']) .'</span>
            <table cellpadding="0" cellspacing="0">
            <tr>
            <td>'
;
            
avatar($ank['id']);
            echo 
'&#160;</td><td>';
            echo 
online($ank['id']);
            echo 
$ank['login'];
            echo 
browser($ank['id']);
            echo 
'<br>';
            echo 
position($ank['id']);
            echo 
'</td>
            </tr>
            </table>
            <div>
            '
output($post['msg']) .'
            </div>
            </div>
            <a class="link" href="/pages/users/user.php?name='
$ank['login'] .'"><img src="/design/imgs/ank_view.png"> Посмотреть анкету</a>';
            if (
$user['id'] != $post['id_user']) echo '<a class="link" href="?menu=action&reply='$post['id'] .'"><img src="/design/imgs/reply.png"> Ответить</a>';
            echo 
'<a class="link" href="?menu=action&quote='$post['id'] .'"><img src="/design/imgs/quote_mess.png"> Цитировать</a>';
            if (
$user['position'] == 'admin' || $user['position'] == 'mod_c') echo '<a class="link" href="?menu=action&delete='$post['id'] .'"><img src="/design/imgs/delete.png"> Удалить</a>';
            echo 
'<a class="link" href="index.php">← Вернуться в мини-чат</a>';
            
foot();
            exit;
        }
    break;
}
?>
Онлайн: 0
Реклама