View file pages/ignore.php

File size: 15.79Kb
<?php
#-----------------------------------------------------#
#          ********* ROTORCMS *********               #
#              Made by  :  VANTUZ                     #
#               E-mail  :  [email protected]         #
#                 Site  :  http://pizdec.ru           #
#             WAP-Site  :  http://visavi.net          #
#                  ICQ  :  36-44-66                   #
#  Вы не имеете право вносить изменения в код скрипта #
#        для его дальнейшего распространения          #
#-----------------------------------------------------#	
require_once ('../includes/start.php');
require_once ('../includes/functions.php');
require_once ('../includes/header.php');
include_once ('../themes/' . $config['themes'] . '/index.php');

if (isset($_GET['start'])) {
    $start = abs(intval($_GET['start']));
} else {
    $start = 0;
} 
if (isset($_GET['act'])) {
    $act = check($_GET['act']);
} else {
    $act = "index";
} 

show_title('site.png', 'Игнор-лист');
$config['newtitle'] = 'Игнор-лист';

if (is_user()) {
    switch ($act):
    # ###########################################################################################
    # #                                    Главная страница                                    ##
    # ###########################################################################################
    case "index":

        $total = DB :: $dbh -> query("SELECT count(*) FROM `ignore` WHERE `ignore_user`=?;", array($log));
        $total = $total -> fetchColumn();

        if ($total > 0) {
            if ($start >= $total) {
                $start = 0;
            } 

            $queryignor = DB :: $dbh -> query("SELECT * FROM `ignore` WHERE `ignore_user`=? ORDER BY `ignore_time` DESC LIMIT " . $start . ", " . $config['ignorlist'] . ";", array($log));

            echo '<form action="ignore.php?act=del&amp;start=' . $start . '&amp;uid=' . $_SESSION['token'] . '&amp;' . SID . '" method="post">';

            while ($data = $queryignor -> fetch()) {
                echo '<div class="b">' . user_avatars($data['ignore_name']);
                echo '<b><a href="anketa.php?uz=' . $data['ignore_name'] . '&amp;' . SID . '">' . nickname($data['ignore_name']) . '</a></b> ' . user_online($data['ignore_name']) . ' (' . date_fixed($data['ignore_time']) . ')</div>';
                echo '<div>';
                if (!empty($data['ignore_text'])) {
                    echo 'Заметка: ' . $data['ignore_text'] . '<br />';
                } 

                echo '<input type="checkbox" name="del[]" value="' . $data['ignore_id'] . '" /> ';
                echo '<a href="privat.php?act=submit&amp;uz=' . $data['ignore_name'] . '&amp;' . SID . '">Написать</a> | ';
                echo '<a href="../games/perevod.php?uz=' . $data['ignore_name'] . '&amp;' . SID . '">Перевод</a> | ';
                echo '<a href="ignore.php?act=note&amp;id=' . $data['ignore_id'] . '&amp;' . SID . '">Заметка</a>';
                echo '</div>';
            } 

            echo '<br /><input type="submit" value="Удалить выбранное" /></form>';

            page_jumpnavigation('ignore.php?', $config['ignorlist'], $start, $total);
            page_strnavigation('ignore.php?', $config['ignorlist'], $start, $total);

            echo '<br />Всего в игноре: <b>' . (int)$total . '</b><br />';
            echo 'Объем игнора: <b>' . $config['limitignore'] . '</b><br />';
        } else {
            show_error('Игнор-лист пуст!');
        } 

        echo '<hr /><form method="post" action="ignore.php?act=add&amp;start=' . $start . '&amp;uid=' . $_SESSION['token'] . '&amp;' . SID . '">';
        echo 'Логин юзера:<br /><input name="uz" />';
        echo '<input value="Добавить" type="submit" /></form><br />';

        if ($total > 0) {
            echo '<img src="../images/img/error.gif" alt="image" /> <a href="ignore.php?act=prodel&amp;' . SID . '">Очистить список</a><br />';
        } 
        break;
    # ###########################################################################################
    # #                                 Добавление пользователей                               ##
    # ###########################################################################################
    case "add":

        $uid = check($_GET['uid']);
        if (isset($_POST['uz'])) {
            $uz = check($_POST['uz']);
        } elseif (isset($_GET['uz'])) {
            $uz = check($_GET['uz']);
        } else {
            $uz = "";
        } 

        if ($uid == $_SESSION['token']) {
            if ($uz != $log) {
                $queryuser = DB :: $dbh -> querySingle("SELECT `users_id` FROM `users` WHERE `users_login`=? LIMIT 1;", array($uz));
                if (!empty($queryuser)) {
                    $total = DB :: $dbh -> query("SELECT count(*) FROM `ignore` WHERE `ignore_user`=?;", array($log));
                    $total = $total -> fetchColumn();

                    if ($total <= $config['limitignore']) {
                        // ------------------------ Проверка на существование ------------------------//
                        $addstr = DB :: $dbh -> querySingle("SELECT `ignore_id` FROM `ignore` WHERE `ignore_user`=? AND `ignore_name`=? LIMIT 1;", array($log, $uz));
                        if (empty($addstr)) {
                            if ($udata['users_timeaddlist'] < SITETIME) {
                                DB :: $dbh -> query("INSERT INTO `ignore` (`ignore_user`, `ignore_name`, `ignore_time`) VALUES (?, ?, ?);", array($log, $uz, SITETIME));
                                // ----------------------------- Проверка на игнор ----------------------------//
                                $ignorstr = DB :: $dbh -> querySingle("SELECT `ignore_id` FROM `ignore` WHERE `ignore_user`=? AND `ignore_name`=? LIMIT 1;", array($uz, $log));
                                if (empty($ignorstr)) {
                                    DB :: $dbh -> query("UPDATE `users` SET `users_timeaddlist`=? WHERE `users_login`=?", array(SITETIME + 300, $log));
                                    DB :: $dbh -> query("UPDATE `users` SET `users_newprivat`=`users_newprivat`+1 WHERE `users_login`=?", array($uz));
                                    // ------------------------------Уведомление по привату------------------------//
                                    $textpriv = 'Пользователь [b]' . nickname($log) . '[/b] добавил вас в свой игнор-лист!';
                                    DB :: $dbh -> query("INSERT INTO `inbox` (`inbox_user`, `inbox_author`, `inbox_text`, `inbox_time`) VALUES (?, ?, ?, ?);", array($uz, $log, $textpriv, SITETIME));
                                } 

                                $_SESSION['note'] = 'Пользователь успешно отправлен в игнор!';
                                header ("Location: ignore.php?start=$start&" . SID);
                                exit;
                            } else {
                                show_error('Ошибка! Нельзя слишком часто отправлять в игнор, подождите 5 минут!');
                            } 
                        } else {
                            show_error('Ошибка! Данный пользователь уже есть в игнор-листе!');
                        } 
                    } else {
                        show_error('Ошибка! В игнор-листе разрешено не более ' . $config['limitignore'] . ' пользователей!');
                    } 
                } else {
                    show_error('Ошибка! Данного адресата не существует!');
                } 
            } else {
                show_error('Ошибка! Запрещено добавлять свой логин!');
            } 
        } else {
            show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 

        echo '<img src="../images/img/back.gif" alt="image" /> <a href="ignore.php?start=' . $start . '&amp;' . SID . '">Вернуться</a><br />';
        break;
    # ###########################################################################################
    # #                                    Изменение заметки                                   ##
    # ###########################################################################################
    case "note":

        if (isset($_GET['id'])) {
            $id = abs(intval($_GET['id']));
        } else {
            $id = 0;
        } 

        if ($id > 0) {
            $querynote = DB :: $dbh -> query("SELECT * FROM `ignore` WHERE `ignore_id`=? AND `ignore_user`=? LIMIT 1;", array($id, $log));
            $data = $querynote -> fetch();

            if (!empty($data)) {
                echo '<img src="../images/img/edit.gif" alt="image" /> Заметка для пользователя <b>' . nickname($data['ignore_name']) . '</b> ' . user_online($data['ignore_name']) . ':<br /><br />';

                echo '<div class="form" id="form">';
                echo '<form method="post" action="ignore.php?act=editnote&amp;id=' . $id . '&amp;start=' . $start . '&amp;uid=' . $_SESSION['token'] . '&amp;' . SID . '">';
                echo 'Заметка:<br />';
                echo '<textarea cols="25" rows="3" name="msg">' . $data['ignore_text'] . '</textarea><br />';
                echo '<input value="Редактировать" type="submit" /></form></div><br />';
            } else {
                show_error('Ошибка редактирования заметки!');
            } 
        } else {
            show_error('Ошибка! Не выбран пользователь для добавления заметки!');
        } 

        echo '<img src="../images/img/back.gif" alt="image" /> <a href="ignore.php?start=' . $start . '&amp;' . SID . '">Вернуться</a><br />';
        break;
    # ###########################################################################################
    # #                                   Добавление заметки                                   ##
    # ###########################################################################################
    case "editnote":
        $uid = check($_GET['uid']);
        $msg = check($_POST['msg']);
        if (isset($_GET['id'])) {
            $id = abs(intval($_GET['id']));
        } else {
            $id = 0;
        } 

        if ($uid == $_SESSION['token']) {
            if ($id > 0) {
                if (utf_strlen($msg) < 1000) {
                    DB :: $dbh -> query("UPDATE `ignore` SET `ignore_text`=? WHERE `ignore_id`=? AND `ignore_user`=?;", array($msg, $id, $log));

                    $_SESSION['note'] = 'Заметка успешно отредактирована!';
                    header ("Location: ignore.php?start=$start&" . SID);
                    exit;
                } else {
                    show_error('Ошибка! Слишком длинная заметка (не более 1000 символов)!');
                } 
            } else {
                show_error('Ошибка! Не выбран пользователь для добавления заметки!');
            } 
        } else {
            show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 

        echo '<img src="../images/img/back.gif" alt="image" /> <a href="ignore.php?act=note&amp;id=' . $id . '&amp;start=' . $start . '&amp;' . SID . '">Вернуться</a><br />';
        echo '<img src="../images/img/reload.gif" alt="image" /> <a href="ignore.php?start=' . $start . '&amp;' . SID . '">К спискам</a><br />';
        break;
    # ###########################################################################################
    # #                                   Удаление пользователей                               ##
    # ###########################################################################################
    case "del":

        $uid = check($_GET['uid']);
        if (isset($_POST['del'])) {
            $del = intar($_POST['del']);
        } else {
            $del = 0;
        } 

        if ($uid == $_SESSION['token']) {
            if ($del > 0) {
                $del = implode(',', $del);
                DB :: $dbh -> query("DELETE FROM `ignore` WHERE `ignore_id` IN (" . $del . ") AND `ignore_user`=?;", array($log));

                $_SESSION['note'] = 'Выбранные пользователи успешно удалены из игнора!';
                header ("Location: ignore.php?start=$start&" . SID);
                exit;
            } else {
                show_error('Ошибка! Не выбраны пользователи для удаления!');
            } 
        } else {
            show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 

        echo '<img src="../images/img/back.gif" alt="image" /> <a href="ignore.php?start=' . $start . '&amp;' . SID . '">Вернуться</a><br />';
        break;
    # ###########################################################################################
    # #                                 Подтверждение очистки                                  ##
    # ###########################################################################################
    case "prodel":
        echo 'Вы уверены что хотите удалить всех пользователе из игнора?<br />';
        echo '<img src="../images/img/error.gif" alt="image" /> <b><a href="ignore.php?act=alldel&amp;uid=' . $_SESSION['token'] . '&amp;' . SID . '">Да, уверен!</a></b><br />';

        echo '<img src="../images/img/back.gif" alt="image" /> <a href="ignore.php?start=' . $start . '&amp;' . SID . '">Вернуться</a><br />';
        break;
    # ###########################################################################################
    # #                                      Очистка списка                                    ##
    # ###########################################################################################
    case "alldel":

        $uid = check($_GET['uid']);

        if ($uid == $_SESSION['token']) {
            DB :: $dbh -> query("DELETE FROM `ignore` WHERE `ignore_user`=?;", array($log));

            $_SESSION['note'] = 'Игнор-лист успешно очищен!';
            header ("Location: ignore.php?" . SID);
            exit;
        } else {
            show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 

        echo '<img src="../images/img/back.gif" alt="image" /> <a href="ignore.php?start=' . $start . '&amp;' . SID . '">Вернуться</a><br />';
        break;

    default:
        header("location: ignore.php?" . SID);
        exit;
        endswitch;
    } else {
    show_login('Вы не авторизованы, для просмотра игнор-листа, необходимо');
} 

echo '<img src="../images/img/users.gif" alt="image" /> <a href="contact.php?' . SID . '">Контакты</a><br />';
echo '<img src="../images/img/mail.gif" alt="image" /> <a href="privat.php?' . SID . '">Сообщения</a><br />';
echo '<img src="../images/img/homepage.gif" alt="image" /> <a href="../index.php?' . SID . '">На главную</a>';

include_once ("../themes/" . $config['themes'] . "/foot.php");

?>