View file pages/contact.php

File size: 15.83Kb
<?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 -> querySingle("SELECT count(*) FROM `contact` WHERE `contact_user`=?;", array($log));

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

            $querycontact = DB :: $dbh -> query("SELECT * FROM `contact` WHERE `contact_user`=? ORDER BY `contact_time` DESC LIMIT " . $start . ", " . $config['contactlist'] . ";", array($log));

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

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

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

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

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

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

        echo '<hr /><form method="post" action="contact.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="contact.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 -> querySingle("SELECT count(*) FROM `contact` WHERE `contact_user`=?;", array($log));
                    if ($total <= $config['limitcontact']) {
                        // ------------------------ Проверка на существование ------------------------//
                        $addstr = DB :: $dbh -> querySingle("SELECT `contact_id` FROM `contact` WHERE `contact_user`=? AND `contact_name`=? LIMIT 1;", array($log, $uz));
                        if (empty($addstr)) {
                            if ($udata['users_timeaddlist'] < SITETIME) {
                                DB :: $dbh -> query("INSERT INTO `contact` (`contact_user`, `contact_name`, `contact_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: contact.php?start=$start&" . SID);
                                exit;
                            } else {
                                show_error('Ошибка! Нельзя слишком часто добавлять в контакты, подождите 5 минут!');
                            } 
                        } else {
                            show_error('Ошибка! Данный пользователь уже есть в контакт-листе!');
                        } 
                    } else {
                        show_error('Ошибка! В контакт-листе разрешено не более ' . $config['limitcontact'] . ' пользователей!');
                    } 
                } else {
                    show_error('Ошибка! Данного адресата не существует!');
                } 
            } else {
                show_error('Ошибка! Запрещено добавлять свой логин!');
            } 
        } else {
            show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
        } 

        echo '<img src="../images/img/back.gif" alt="image" /> <a href="contact.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 contact WHERE contact_id=? AND contact_user=? LIMIT 1;", array($id, $log));
            $data = $querynote -> fetch();

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

                echo '<div class="form" id="form">';
                echo '<form method="post" action="contact.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['contact_text'] . '</textarea><br />';
                echo '<input value="Редактировать" name="do" type="submit" /></form></div><br />';
            } else {
                show_error('Ошибка редактирования заметки!');
            } 
        } else {
            show_error('Ошибка! Не выбран пользователь для добавления заметки!');
        } 

        echo '<img src="../images/img/back.gif" alt="image" /> <a href="contact.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 contact SET contact_text=? WHERE contact_id=? AND contact_user=?;", array($msg, $id, $log));

                    $_SESSION['note'] = 'Заметка успешно отредактирована!';
                    header ("Location: contact.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="contact.php?act=note&amp;id=' . $id . '&amp;start=' . $start . '&amp;' . SID . '">Вернуться</a><br />';
        echo '<img src="../images/img/reload.gif" alt="image" /> <a href="contact.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 contact WHERE contact_id IN (" . $del . ") AND contact_user=?;", array($log));

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

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

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

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

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

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

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

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

echo '<img src="../images/img/ignor.gif" alt="image" /> <a href="ignore.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");

?>