Файл: pages/mchat/index.php
Строк: 295
<?php
include '../../system/mysql.php';
include '../../system/sys_func.php';
switch ($_GET['menu']) {
    default:
        $error = false;
        $errort = '';
        // Отправляем сообщение
        if (isset($_POST['add'])) {
            $msg = filter($_POST['msg']);
            if (strlen($msg) > 20000 || strlen($msg) < 1) {
                $error = true;
                $errort .= '<div class="err">Неправильная длина сообщения.</div>';
            }
            if (!$error) {
                mysql_query("INSERT INTO `mchat` (`id_user`, `msg`, `time`) values('". $user['id'] ."', '$msg', '". time() ."')");
                $bon_rand = rand(1, 5);
                mysql_query("UPDATE `users` SET `bonus` = '". ($user['bonus']+$bon_rand) ."' WHERE `id` = '". $user['id'] ."'");
                header('Location: index.php');
            }
        }
        if (isset($_POST['add'])) {
            $msg = filter($_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="/pages/users/user.php?name=". $user['login'] .""><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 class="resize" name="msg"></textarea><br>';
            include '../../system/smiles.php';
            echo '<input value="Добавить" type="submit" name="add" />
            </form>';
        } else {
            echo '<div class="err">Чтобы писать в чате, вы должны <a href="/pages/registration/">зарегистрироваться</a> или <a href="/pages/registration/?menu=login">авторизоваться</a>!</div>';
        }
        $c_p = mysql_result(mysql_query("SELECT COUNT(*) FROM `mchat`"), 0);
        if (isset($user)) $p_page = $user['p_page'];
        else $p_page = '10';
        $k_page = k_page($c_p, $p_page);
        $page = page($k_page);
        $start = $p_page*$page-$p_page;
        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, ". $p_page);
        while ($post = mysql_fetch_assoc($q)) {
            $ank = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '$post[id_user]' LIMIT 1"));
            $reply = mysql_fetch_array(mysql_query("SELECT `login` FROM `users` WHERE `id` = '". $post['reply'] ."' LIMIT 1"));
            echo '<div class="post">
            <span class="c_date">'. ptime($post['time']) .'</span>
            <table cellpadding="0" cellspacing="0">
            <tr>
            <td>';
            avatar($ank['id'], 'b');
            echo ' </td>
            <td>';
            echo online($ank['id']);
            echo '<a href="?menu=action&post='. $post['id'] .'">'. $ank['login'] .'</a>';
            echo user($ank['id']);
            echo '</td>
            </tr>
            </table>
            <hr>';
            if ($post['reply'] != NULL) echo 'Ответ <a href="/pages/users/user.php?name='. $reply['login'] .'"><b>'. $reply['login'] .'</b></a>:<br>';
            if ($post['quote'] != NULL) echo '<div class="quote">Цитата:<br>'. htmlspecialchars_decode($post['quote']) .'</div>';
            echo output($post['msg']) .'</div>';
        }
        if ($k_page > 1) str('?', $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>';
        include '../../system/foot.php';
    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/"><img src="/design/imgs/arr_b.png" align="center"> Назад</a>';
                include '../../system/foot.php';
                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/"><img src="/design/imgs/arr_b.png" align="center"> Назад</a>';
                include '../../system/foot.php';
                exit;
            }
            $error = false;
            $errort = '';
            if (isset($_POST['msg'])) {
                $msg = filter($_POST['msg']);
                if (strlen($msg) < 1) {
                    $error = true;
                    $errort .= '<div class="err">Длина сообщения должна быть не менее 1-ого символа.</div>';
                } elseif (strlen($msg) > 20000) {
                    $error = true;
                    $errort .= '<div class="err">Длина сообщения должна быть не более 2000 символов.</div>';
                }
                if (!$error) {
                    mysql_query("INSERT INTO `mchat` (`id_user`, `time`, `msg`, `reply`) VALUES ('$user[id]', '". time() ."', '$msg', '". $ank['id'] ."')");
                    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() ."')");
                    $bon_rand = rand(1, 5);
                    mysql_query("UPDATE `users` SET `bonus` = '". ($user['bonus']+$bon_rand) ."' WHERE `id` = '". $user['id'] ."'");
                    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'], 'b');
            echo ' </td>
            <td>';
            echo online($ank['id']);
            echo '<a href="?menu=action&post='. $post['id'] .'">'. $ank['login'] .'</a>';
            echo user($ank['id']);
            echo '</td>
            </tr>
            </table>
            <hr>';
            echo output($post['msg']) .'
            </div>
            <form method="post" name="message">';
            include '../../system/bbcodes.php';
            echo '<textarea class="resize" name="msg"></textarea><br>';
            include '../../system/smiles.php';
            echo '<input value="Ответить" type="submit" name="add" />
            </form>
            <a class="link" href="?menu=action&post='. $post['id'] .'"><img src="/design/imgs/arr_b.png" align="center"> Просмотр поста</a>
            <a class="link" href="/pages/mchat/"><img src="/design/imgs/arr_b.png" align="center"> Вернуться в мини-чат</a>';
            include '../../system/foot.php';
        }
        // Цитирование
        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/"><img src="/design/imgs/arr_b.png" align="center"> Назад</a>';
                include '../../system/foot.php';
                exit;
            }
            $error = false;
            $errort = '';
            if (isset($_POST['msg'])) {
                $msg = filter($_POST['msg']);
                $p_msg = filter($post['msg']);
                if (strlen($msg) < 1) {
                    $error = true;
                    $errort .= '<div class="err">Длина сообщения должна быть не менее 1-ого символа.</div>';
                } elseif (strlen($msg) > 20000) {
                    $error = true;
                    $errort .= '<div class="err">Длина сообщения должна быть не более 2000 символов.</div>';
                }
                if (!$error) {
                    mysql_query("INSERT INTO `mchat` (`id_user`, `time`, `msg`, `reply`, `quote`) VALUES ('$user[id]', '". time() ."', '$msg', '". $ank['id'] ."', '". filter($post['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() ."')");
                    $bon_rand = rand(1, 5);
                    mysql_query("UPDATE `users` SET `bonus` = '". ($user['bonus']+$bon_rand) ."' WHERE `id` = '". $user['id'] ."'");
                    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'], 'b');
            echo ' </td>
            <td>';
            echo online($ank['id']);
            echo '<a href="?menu=action&post='. $post['id'] .'">'. $ank['login'] .'</a>';
            echo user($ank['id']);
            echo '</td>
            </tr>
            </table>
            <hr>';
            echo output($post['msg']) .'
            </div>
            <form method="post" name="message">';
            include '../../system/bbcodes.php';
            echo '<textarea class="resize" name="msg"></textarea><br>';
            include '../../system/smiles.php';
            echo '<input value="Цитировать" type="submit" name="add" />
            </form>
            <a class="link" href="?menu=action&post='. $post['id'] .'"><img src="/design/imgs/arr_b.png" align="center"> Просмотр поста</a>
            <a class="link" href="/pages/mchat/"><img src="/design/imgs/arr_b.png" align="center"> Вернуться в мини-чат</a>';
            include '../../system/foot.php';
        }
        // Удаление сообщения
        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"><img src="/design/imgs/arr_b.png" align="center"> Назад</a>';
                include '../../system/foot.php';
                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>';
                include '../../system/foot.php';
                exit;
            } else {
                $title = 'Мини-Чат/Ошибка';
                include '../../system/head.php';
                echo '<div class="title">Мини-Чат</div>
                <div class="err">У вас недостаточно прав!</div>
                <a class="link" href="index.php"><img src="/design/imgs/arr_b.png" align="center"> Назад</a>';
                include '../../system/foot.php';
                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"><img src="/design/imgs/arr_b.png" align="center"> Назад</a>';
                include '../../system/foot.php';
                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'], 'b');
            echo ' </td>
            <td>';
            echo online($ank['id']);
            echo '<a href="?menu=action&post='. $post['id'] .'">'. $ank['login'] .'</a>';
            echo user($ank['id']);
            echo '</td>
            </tr>
            </table>
            <hr>';
            echo output($post['msg']) .'
            </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"e='. $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"><img src="/design/imgs/arr_b.png" align="center"> Вернуться в мини-чат</a>';
            include '../../system/foot.php';
            exit;
        }
    break;
}
?>