Файл: soc-set/panel/spam.php
Строк: 50
<?php
require_once('../core/start.php');
check_auth();
if (privilegy('spam') == FALSE) {
    header("Location: ".HOME."/panel/");
    exit();
}
head('Система спама');
echo DIV_TITLE . 'Система спама' . CLOSE_DIV;
switch ($select) {
    
    default:
    echo DIV_BLOCK . '<b>Выберите раздел:</b>' . CLOSE_DIV;
    $dialog = DB::$dbs->querySingle("SELECT COUNT(`id`) FROM ".SPAM." WHERE `type` = ? ", array('mail'));
    echo DIV_LI . '<a href="'.HOME.'/panel/spam/dialog/">Диалоги</a>'.($dialog > 0 ? ' <b>[' . $dialog .']</b>' : NULL) . CLOSE_DIV;
    break;
    
    case 'dialog':
    $all = DB::$dbs->querySingle("SELECT COUNT(`id`) FROM ".SPAM." WHERE `type` = ? ", array('mail'));
    
    if (empty($all)) {
        echo DIV_BLOCK . 'Список пуст' . CLOSE_DIV;
    } else {
        if (!empty($_POST['send'])) {
            $post_id = abs(num($_POST['post_id']));
            $post = DB::$dbs->queryFetch("SELECT * FROM ".SPAM." WHERE `id` = ? ",array($post_id));
            
            if (empty($post)) {
                DIV_BLOCK . 'Сообщение не найдено' . CLOSE_DIV;
            } else {
                switch ($_POST['dey']) {
                    
                    case 1:
                    /* Удаляем сообщение */
                    DB::$dbs->query("DELETE FROM ".DIALOG_MSG." WHERE `id` = ? ",array($post['post_id']));
                    DB::$dbs->query("DELETE FROM ".SPAM." WHERE `id` = ? ",array($post['id']));
                    echo DIV_BLOCK . 'Сообщение удалено' . CLOSE_DIV;
                    break;
                    
                    case 2:
                    /* Удалить сообщение и все похожие */
                    DB::$dbs->query("DELETE FROM ".DIALOG_MSG." WHERE `msg` LIKE '%".$post['msg']."%' && `user` = ? ",array($post['spam_user']));
                    DB::$dbs->query("DELETE FROM ".SPAM." WHERE `id` = ? ",array($post['id']));
                    echo DIV_BLOCK . 'Сообщения удалены' . CLOSE_DIV;
                    break;
                    
                    case 3:
                    /* Удалить все сообщение от нарушителя */
                    DB::$dbs->query("DELETE FROM ".DIALOG_MSG." WHERE `user` = ? ",array($post['spam_user']));
                    DB::$dbs->query("DELETE FROM ".SPAM." WHERE `id` = ? ",array($post['id']));
                    echo DIV_BLOCK . 'Сообщения удалены' . CLOSE_DIV;
                    break;
                    
                    case 4:
                    /* Разблокировать сообщение */
                    DB::$dbs->query("UPDATE ".DIALOG_MSG." SET `spam` = ? WHERE `id` = ? ",array('', $post['post_id']));
                    DB::$dbs->query("DELETE FROM ".SPAM." WHERE `id` = ? ",array($post['id']));
                    echo DIV_BLOCK . 'Сообщение разблокировано' . CLOSE_DIV;
                    break;
                    
                    case 5:
                    /* Разблокировать сообщение и все похожие */
                    DB::$dbs->query("UPDATE ".DIALOG_MSG." SET `spam` = ? WHERE `id` = ? && `msg` LIKE '%".$post['msg']."%'",array('', $post['post_id']));
                    DB::$dbs->query("DELETE FROM ".SPAM." WHERE `id` = ? ",array($post['id']));
                    echo DIV_BLOCK . 'Сообщения разблокированы' . CLOSE_DIV;
                    break;
                    
                    case 6:
                    /* Заблокировать нарушителя */
                    DB::$dbs->query("INSERT INTO ".BANN." (`user_id`, `moder`, `time_bann`, `prich`, `time`) VALUES (?, ?, ?, ?, ?)", array($post['spam_user'], $user['user_id'], (time() + 99999999), 'Рассылка спама.', time()));
                    DB::$dbs->query("DELETE FROM ".SPAM." WHERE `id` = ? ",array($post['id']));
                    echo DIV_BLOCK . 'Пользователь успешно заблокирован' . CLOSE_DIV;    
                    break;
                    
                    case 7:
                    /* Удалить нарушителя */
                    DB::$dbs->query("DELETE FROM ".USERS." WHERE `user_id` = ? ",array($post['spam_user']));
                    DB::$dbs->query("DELETE FROM ".SPAM." WHERE `id` = ? ",array($post['id']));
                    echo DIV_BLOCK . 'Пользователь успешно удален' . CLOSE_DIV;
                    break;
                    
                    case 8:
                    /* Удалить нарушителя + удалить все от него */
                    
                    # Удаление фотоальбомов/Фотографий
                    $sql = DB::$dbs->query("SELECT * FROM ".ALBUMS." WHERE `user_id` = ?", array($post['spam_user']));
                    while($album = $sql -> fetch()) {
                        $sql2 = DB::$dbs->query("SELECT * FROM ".ALBUMS_PHOTOS." WHERE `album_id` = ?", array($album['id']));
                        while($photo = $sql2 -> fetch()) {
                            @unlink('../album/'.$photo['url']);
                        }
                        DB::$dbs->query("DELETE FROM ".ALBUMS_PHOTOS." WHERE `album_id` = ? ",array($album['id']));
                    }
                    DB::$dbs->query("DELETE FROM ".ALBUMS." WHERE `user_id` = ? ",array($post['spam_user']));
                    
                    # Чистка черного списка
                    DB::$dbs->query("DELETE FROM ".BLACKUSERS." WHERE `user_id` = ? ",array($post['spam_user']));
                    
                    # Чистка в блоге
                    DB::$dbs->query("DELETE FROM ".BLOG." WHERE `user_id` = ? ",array($post['spam_user']));
                    DB::$dbs->query("DELETE FROM ".BLOG_COMM." WHERE `user_id` = ? ",array($post['spam_user']));
                    
                    # Чистка сообщений в чате
                    DB::$dbs->query("DELETE FROM ".CHAT_MSG." WHERE `user_id` = ? ",array($post['spam_user']));
                    
                    # Чистка сообщений в диалоге
                    DB::$dbs->query("DELETE FROM ".DIALOG_MSG." WHERE `user` = ? ",array($post['spam_user']));
                    # Удаление тем на форуме
                    DB::$dbs->query("DELETE FROM ".FORUMS_THEME." WHERE `user_id` = ? ",array($post['spam_user']));
                                        
                    # Чистка сообщений на форуме
                    DB::$dbs->query("DELETE FROM ".FORUMS_POST." WHERE `user_id` = ? ",array($post['spam_user']));
                    
                    # Чистка сообщений в беседке
                    DB::$dbs->query("DELETE FROM ".GUESTBOOK." WHERE `user_id` = ? ",array($post['spam_user']));
                    
                    # Чистка сообщений в личных гостевых
                    DB::$dbs->query("DELETE FROM ".GUEST." WHERE `autor_id` = ? ",array($post['spam_user']));
                    
                    # Удаление пользователя
                    DB::$dbs->query("DELETE FROM ".USERS." WHERE `user_id` = ? ",array($post['spam_user']));
                    
                    DB::$dbs->query("DELETE FROM ".SPAM." WHERE `id` = ? ",array($post['id']));
                    
                    echo DIV_BLOCK . 'Операция прошла успешно' . CLOSE_DIV;
                    break;
                    case 9:
                    /* Удаление уведомления */
                    DB::$dbs->query("DELETE FROM ".SPAM." WHERE `id` = ? ",array($post['id']));
                    echo DIV_BLOCK . 'Уведомление успешно удалено' . CLOSE_DIV;
                    break;
                                        
                    default:
                    echo DIV_BLOCK . 'Не известная операция' . CLOSE_DIV;
                    break;
                    
                }
            }
        }
        $n = new Navigator($all,5,'');
        $sql = DB::$dbs->query("SELECT * FROM ".SPAM." WHERE `type` = ? ORDER BY `id` DESC LIMIT {$n->start()}, 5", array('mail'));
        while($post = $sql -> fetch()){
            echo DIV_BLOCK;
            echo '<b>Жалоба на сообщение:</b><br />' . text($post['msg']) . '<br /><br />'
            . '<b>Уведомил(а):</b> ' . user_choice($post['user_id'], 'link') . '<br />'
            . '<b>Нарушитель:</b> ' . user_choice($post['spam_user'], 'link') . '<br />'
            . '<b>Дата:</b> ' . vrem($post['time']) . '<br /><br />'
            . '<form action="#" method="POST">'
            . '<select name="dey">'
            . '<option value="0">Выбрать действие</option>'
            . '<option value="1">Удалить сообщение</option>'
            . '<option value="2">Удалить сообщение и все похожие</option>'
            . '<option value="3">Удалить все сообщения от нарушителя</option>'
            . '<option value="4">Разблокировать сообщение</option>'
            . '<option value="5">Разблокировать сообщение и все похожие</option>'
            . '<option value="6">Заблокировать нарушителя</option>'
            . '<option value="7">Удалить нарушителя</option>'
            . '<option value="8">Удалить нарушителя + удалить все от него</option>'
            . '<option value="9">Удалить уведомление</option>'
            . '</select><br />'
            . '<input type="hidden" name="post_id" value="'.$post['id'].'"/>'
            . '<input type="submit" name="send" value="Далее" />'
            . '</form>';
            echo CLOSE_DIV;
        }
        echo $n->navi();        
    }
    break;
    
}
echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/panel/">Панель управления</a> / <b>Система спама</b>' . CLOSE_DIV;    
require_once('../core/stop.php');
?>