View file adm/journal.php

File size: 20.77Kb
<?php
define('WBCAT',1);
$title = 'Журнал событий';
require_once ('../inc/head.php');

if(!$allow) exit('Доступ закрыт');

$mod = isset($_GET['mod']) ? $_GET['mod'] : '';
switch($mod) {
    
    case 'komm':
        
        $sort = 0;
        if (isset($_GET['sort'])) {
            $_SESSION['sort'] = intval($_GET['sort']);
            $sort = $_SESSION['sort'];
            //header("Location: journal.php?mod=site&amp;sort=$sort");
        }
        
        $sql = '';
        if (isset($sort)) {
            switch($sort) {
                case 1:
                    $sql = "WHERE `id_news` <> '0'";
                    break;
                case 2:
                    $sql = "WHERE `id_site` <> '0'";
                    break;
                default:
                    $sql = "";
            }
        }        
        
        echo '<div class="zag"><a href="index.php">Админка</a> => <a href="journal.php">Журнал событий</a>[<a href="?mod=komm">Комментарии/Отзывы</a>]</div>';
        echo '<div class="main">Параметры просмотра: ';
        echo $sort == 0 ? 'Все|' : '<a href="?mod=komm">Все</a>|';
        echo $sort == 1 ? 'Комментарии к новостям|' : '<a href="?mod=komm&amp;sort=1">Комментарии к новостям</a>|';
        echo $sort == 2 ? 'Отзывы сайтов' : '<a href="?mod=komm&amp;sort=2">Отзывы сайтов</a>';
        echo '</div>';
        $count = mysql_result(mysql_query("SELECT COUNT(*) FROM `komm` $sql"), 0);
        $pager = new pager($count,10,$home.'/adm/journal.php?mod=komm&amp;sort='.$sort.'&amp;page=');
        $result = mysql_query('SELECT * FROM `komm` '.$sql.' ORDER BY id DESC LIMIT '.$pager->get_start().', '.$pager->on_page.'');
        if ($count > 0 ) {
            while ($m = mysql_fetch_array($result)){
                echo '<div class="title">';
                $new = ($m['date'] >= (time()-3600*24*1)) ? '<font color="red"><small>новое сообщение</small></font>' : '';
                echo '<b>#ID-'.$m['id'].'</b> ['.date("d.m.y в H:i",$m['date']).'] '.$new;
                echo '<br/><b>Имя:</b> '.$m['name'].'<br/><b>Сообщение:</b><br/>'.tags(smileys($m['text']));
                echo '<div class="min">
                    <u>Модуль:</u> '.(!empty($m['id_news']) ? '<a href="'.$homr.'/news.html">Новости</a>' : '<a href="'.$homr.'/review-'.$m['id_site'].'.html">Отзывы</a>').' => 
                        <a href="'.$home.'/'.(!empty($m['id_news']) ? 'comments-'.$m['id_news'].'.html' : 'review-'.$m['id_site'].'.html').'#'.$m['id'].'">К сообщению</a><br/>
                    <u>IP:</u>  '.int2ip($m['ip']).'<br/>
                    <u>USER AGENT:</u> '.$m['browser'].'
                </div>';
                echo '</div>';
            }
            echo $pager->print_nav();
        }
        else {
            echo '<div class="title">Комментариев и отзывов нет</div>';
        }
        
        echo '<div class="main"><a href="journal.php">Журнал событий</a></div>';
        echo '<div class="zag">Записей: '.$count.'</div>';
        
    break;    
    

    case 'site' :
          
        echo '<div class="zag"><a href="index.php">Админка</a> => <a href="journal.php">Журнал событий</a>[<a href="?mod=site">Последние сайты</a>]</div>';
        $count = mysql_result(mysql_query("SELECT COUNT(*) FROM `sites`"), 0);
        $pager = new pager($count,10,$home.'/adm/journal.php?mod=site&amp;page=');
        $result = mysql_query('SELECT * FROM `sites` ORDER BY id DESC LIMIT '.$pager->get_start().', '.$pager->on_page.'');
        if ($count > 0 ) {
            while ($m = mysql_fetch_array($result)){
                echo '<div class="title">';
                $new = ($m['date'] >= (time()-3600*24*3)) ? '<font color="red"><small>новый сайт</small></font>' : '';
                 $name_cat = mysql_result(mysql_query("SELECT `title` FROM `cat` WHERE `id` = '".$m['id_cat']."'"),0,'title');
                echo '<b>#ID-'.$m['id'].'</b> ['.date("d.m.y в H:i",$m['date']).'] '.$new;
                echo '<br/><b>Сайт:</b> <a href="http://'.$m['url'].'">'.$m['name'].'</a> [url:'.$m['url'].']<br/>
                        <b>Категория:</b> <a href="cat-'.$m['id_cat'].'">'.$name_cat.'</a><br/>
                        <b>Описание:</b><br/>'.$m['about'];
                echo '<br/><b>Статус:</b> '.(!$m['type'] ? '<font color="blue">На модерации</font> => <a href="mod_site.php">Модерировать</a>' : 
                                        '<font color="green">Актвивный</font> => <a href="'.$home.'/cat-'.$m['id_cat'].'/site-'.$m['id'].'.html">Перейти к сайту</a>').'';
                echo '<div class="min">
                    <u>IP:</u>  '.int2ip($m['ip']).'<br/>
                    <u>USER AGENT:</u> '.$m['browser'].'
                </div>';
                echo '</div>';
            }
            echo $pager->print_nav();
        }
        else {
            echo '<div class="title">Сайтов нет</div>';
        }
        
        echo '<div class="main"><a href="journal.php">Журнал событий</a></div>';        
    break;
    
    case 'logs':
        
        $sort = 0;
        if (isset($_GET['sort'])) {
            $_SESSION['sort'] = intval($_GET['sort']);
            $sort = $_SESSION['sort'];
            //header("Location: journal.php?mod=site&amp;sort=$sort");
        }
        
        $sql = '';
        if (isset($sort)) {
            switch($sort) {
                case 1:
                    $sql = "WHERE `id_site` = '0'";
                    break;
                case 2:
                    $sql = "WHERE `id_site` <> '0'";
                    break;
                default:
                    $sql = "";
            }
        }        
        
        echo '<div class="zag"><a href="index.php">Админка</a> => <a href="journal.php">Журнал событий</a>[<a href="?mod=logs">Логи</a>]</div>';
        echo '<div class="main">Параметры просмотра: ';
        echo $sort == 0 ? 'Все|' : '<a href="?mod=logs">Все</a>|';
        echo $sort == 1 ? 'Логи входов|' : '<a href="?mod=logs&amp;sort=1">Логи входов</a>|';
        echo $sort == 2 ? 'Логи рейтинга' : '<a href="?mod=logs&amp;sort=2">Логи рейтинга</a>';
        echo '</div>';
        $count = mysql_result(mysql_query("SELECT COUNT(*) FROM `logs` $sql"), 0);
        $pager = new pager($count,10,$home.'/adm/journal.php?mod=logs&amp;sort='.$sort.'&amp;page=');
        $result = mysql_query('SELECT * FROM `logs` '.$sql.' ORDER BY id DESC LIMIT '.$pager->get_start().', '.$pager->on_page.'');
        if ($count > 0 ) {
            while ($m = mysql_fetch_array($result)){
                echo '<div class="title">';
                $new = ($m['time'] >= (time()-3600*24*3)) ? '<font color="red"><small>+</small></font>' : '';
                echo '<b>#ID-'.$m['id'].'</b> ['.date("d.m.y в H:i",$m['time']).'] '.$new;
                echo '<br/>'.(!empty($m['id_site']) ? 'Тип голоса:  '.($m['data'] > 0 ? '<font color="green">'.$m['data'].'</font>' : '<font color="red">'.$m['data'].'</font>') : 
                                        'Результат авторизации: '.($m['data'] == 1 ? '<font color="green">успешный</font>' : '<font color="red">провал</font>'));
                echo '<div class="min">
                    <u>Модуль:</u> '.(!empty($m['id_site']) ? '<a href="'.$home.'/adm/logs.php?mod=site&amp;id='.$m['id_site'].'">Логи рейтинга</a>' : 
                                '<a href="'.$home.'/adm/logs.php">Логи входов</a>').'<br/>
                    <u>IP:</u>  '.int2ip($m['ip']).'<br/>
                    <u>USER AGENT:</u> '.$m['ua'].'
                </div>';
                echo '</div>';
            }
            echo $pager->print_nav();
        }
        else {
            echo '<div class="title">Логов нет</div>';
        }
        
        echo '<div class="main"><a href="journal.php">Журнал событий</a></div>';
        echo '<div class="zag">Записей: '.$count.'</div>';            
    break;
    
    
    case 'search_ip':
        echo '<div class="zag"><a href="index.php">Админка</a> => <a href="journal.php">Журнал событий</a>[Поиск IP]</div>';
        if (isset($_REQUEST['ip'])) {
            if (empty($_REQUEST['ip'])) {
                echo '<div class="error">Неверный ip</div>';
                require_once('../inc/foot.php');
                exit;                
            }
            $ip = mysql_real_escape_string(ip2int($_REQUEST['ip']));
            $type = isset($_REQUEST['type']) ? intval($_REQUEST['type']) : 1;
            
            $count_site_ip = mysql_result(mysql_query("SELECT COUNT(*) FROM `sites` WHERE `ip` = '$ip'"), 0);
            $count_ban_ip = mysql_result(mysql_query("SELECT COUNT(*) FROM `ban_ip` WHERE `ip` = '$ip'"), 0);
            $count_komm_ip = mysql_result(mysql_query("SELECT COUNT(*) FROM `komm` WHERE `ip` = '$ip'"), 0);
            $count_logs_ip = mysql_result(mysql_query("SELECT COUNT(*) FROM `logs` WHERE `ip` = '$ip'"), 0);
            $count_book_ip = mysql_result(mysql_query("SELECT COUNT(*) FROM `book` WHERE `ip` = '$ip'"), 0);
            
            
            if (empty($count_ban_ip) && empty($count_book_ip) && empty($count_komm_ip) && empty($count_logs_ip) && empty($count_site_ip)) {
                echo '<div class="title">Ничего не найдено</div>';
                echo '<div class="main"><a href="journal.php">Журнал событий</a></div>';
                require_once('../inc/foot.php');
                exit;     
            }
            $cc = array(1=>$count_ban_ip,2=>$count_site_ip,3=>$count_komm_ip,4=>$count_logs_ip,5=>$count_book_ip);
            $pager = new pager($cc[$type],2,$home.'/adm/journal.php?mod=search_ip&amp;ip='.htmlspecialchars($_REQUEST['ip']).'&amp;type='.intval($_REQUEST['type']).'&amp;page=');
            $types = array(1 => 'Забаненные IP' , 2 => 'Сайты' , 3 => 'Комментарии/Отзывы' , 4 => 'Логи' , 5 => 'Гостевая книга');
            echo '<div class="main">Поисковый запрос: <b>'.htmlspecialchars($_POST['ip']).'</b><br/>
                    Место поиска: <b>'.$types[$type].'</b></div>';
            if ($count_ban_ip > 0 && $type == 1) {
                $sql = mysql_query("SELECT * FROM `ban_ip` WHERE `ip` = '$ip' ORDER BY id DESC LIMIT '.$pager->get_start().', '.$pager->on_page.'");
                echo '<div class="zag2">Модуль: <a href="ban_ip.php">IP-адреса</a></div>';
                while ($m = mysql_fetch_array($sql)) {
                    echo '<div class="title">';
                    echo '<u>Тип бана </u>: '.($m['type'] == 1 ? 'полная блокировка' : 'редирект').'<br/>';
                    echo '<u>Причина бана</u>: '.(empty($m['reason']) ? 'Причина не указана' : ''.$m['reason'].'').'<br/>';
                    echo ''.($m['type'] == 2 ? '<u>Редирект</u> : '.$m['url'].'<br/>' : '').'';
                    echo '<u>Дата бана</u>: '.date('d.m.y H:i',$m['date']).'';
                    echo '</div>';
                }
                echo $pager->print_nav();
                echo '<div class="zag">Найдено совпадений: '.$count_ban_ip.'</div>';
            }
            elseif ($count_site_ip > 0 && $type == 2) {
                $sql = mysql_query("SELECT * FROM `sites` WHERE `ip` = '$ip' ORDER BY `id` DESC LIMIT ".$pager->get_start().", ".$pager->on_page."");
                echo '<div class="zag2">Модуль: Добавленные сайты</div>';
                while ($m = mysql_fetch_array($sql)) {
                    $new = ($m['date'] >= (time()-3600*24*3)) ? '<font color="red"><small>новый сайт</small></font>' : '';
                    $name_cat = mysql_result(mysql_query("SELECT `title` FROM `cat` WHERE `id` = '".$m['id_cat']."'"),`title`);
                    echo '<div class="title">';
                    echo '<b>#ID-'.$m['id'].'</b> ['.date("m.d.y в H:i",$m['date']).'] '.$new;
                    echo '<br/><b>Сайт:</b> <a href="http://'.$m['url'].'">'.$m['name'].'</a> [url:'.$m['url'].']<br/>
                            <b>Категория:</b> <a href="cat-'.$m['id_cat'].'">'.$name_cat.'</a><br/>
                            <b>Описание:</b><br/>'.$m['about'];
                    echo '<br/><b>Статус:</b> '.(!$m['type'] ? '<font color="blue">На модерации</font> => <a href="mod_site.php">Модерировать</a>' : 
                                            '<font color="green">Актвивный</font> => <a href="'.$home.'/cat-'.$m['id_cat'].'/site-'.$m['id'].'.html">Перейти к сайту</a>').'';
                
                     echo '</div>';
                }
                echo $pager->print_nav();
                echo '<div class="zag">Найдено совпадений: '.$count_site_ip.'</div>';
            }
            elseif ($count_komm_ip > 0 && $type == 3) {
                $sql = mysql_query("SELECT * FROM `komm` WHERE `ip` = '$ip' ORDER BY id DESC LIMIT ".$pager->get_start().", ".$pager->on_page."");
                echo '<div class="zag2">Модуль: Комментарии</div>';
                while ($m = mysql_fetch_array($sql)) {
                    $new = ($m['date'] >= (time()-3600*24*3)) ? '<font color="red"><small>новое сообщение</small></font>' : '';
                    echo '<div class="title">';
                    echo '<b>#ID-'.$m['id'].'</b> ['.date("m.d.y в H:i",$m['date']).'] '.$new;
                    echo '<br/><b>Имя:</b> '.$m['name'].'<br/><b>Сообщение:</b><br/>'.tags(smileys($m['text']));
                    echo '<div class="min">
                        <u>Модуль:</u> '.(!empty($m['id_news']) ? '<a href="'.$homr.'/news.html">Новости</a>' : '<a href="'.$homr.'/review-'.$m['id_site'].'.html">Отзывы</a>').' => 
                            <a href="'.$home.'/'.(!empty($m['id_news']) ? 'comments-'.$m['id_news'].'.html' : 'review-'.$m['id_site'].'.html').'#'.$m['id'].'">К сообщению</a>
                    </div>';
                    echo '</div>';
                }
                echo $pager->print_nav();
                echo '<div class="zag">Найдено совпадений: '.$count_komm_ip.'</div>';
            }         
            elseif ($count_logs_ip > 0 && $type == 4) {
                $sql = mysql_query("SELECT * FROM `logs` WHERE `ip` = '$ip' ORDER BY id DESC LIMIT ".$pager->get_start().", ".$pager->on_page."");
                echo '<div class="zag2">Модуль: Логи</div>';
                while ($m = mysql_fetch_array($sql)) {
                    echo '<div class="title">';
                    $new = ($m['time'] >= (time()-3600*24*3)) ? '<font color="red"><small>+</small></font>' : '';
                    echo '<b>#ID-'.$m['id'].'</b> ['.date("m.d.y в H:i",$m['time']).'] '.$new;
                    echo '<br/>'.(!empty($m['id_site']) ? 'Тип голоса:  '.($m['data'] > 0 ? '<font color="green">'.$m['data'].'</font>' : '<font color="red">'.$m['data'].'</font>') : 
                                            'Результат авторизации: '.($m['data'] == 1 ? '<font color="green">успешный</font>' : '<font color="red">провал</font>'));
                    echo '<div class="min">
                        <u>Модуль:</u> '.(!empty($m['id_site']) ? '<a href="'.$home.'/adm/logs.php?mod=site&amp;id='.$m['id_site'].'">Логи рейтинга</a>' : 
                                    '<a href="'.$home.'/adm/logs.php">Логи входов</a>').'
                    </div>';
                    echo '</div>';
                }
                echo $pager->print_nav();
                echo '<div class="zag">Найдено совпадений: '.$count_logs_ip.'</div>';
            }
            elseif ($count_book_ip > 0 && $type == 5) {
                $sql = mysql_query("SELECT * FROM `book` WHERE `ip` = '$ip' ORDER BY id DESC LIMIT ".$pager->get_start().", ".$pager->on_page."");
                echo '<div class="zag2">Модуль: <a href="book.php">Гостевая книга</a></div>';
                while ($m = mysql_fetch_array($sql)) {
                    echo '<div class="title">';
                    echo '<b>Имя </b>:'.$m['name'].'<br/>';
                    echo '<b>Сообщение</b>: '.tags($m['text']).'<br/>';
                    echo '<b>Дата добавления</b>: '.date('d.m.y H:i',$m['time']).'';
                    echo '</div>';
                }
                echo $pager->print_nav();
                echo '<div class="zag">Найдено совпадений: '.$count_book_ip.'</div>';
            } else {
                echo '<div class="title">Ничего не найдено</div>';
            }            
        } else {
            echo '<div class="error">Неверный запрос</div>';
            require_once('../inc/foot.php');
            exit;
        }
        echo '<div class="main"><a href="journal.php">Журнал событий</a></div>';
    break;
    
    default:
        echo '<div class="zag"><a href="index.php">Админка</a> => <a href="journal.php">Журнал событий</a></div>';
        echo '<div class="zag2"><img src="'.$home.'/images/adm_img/obzor.png" alt="obzor"/> Обзор</div>'; 
        echo '<div class="title">';
        echo '  &bull; <a href="?mod=komm">Комментарии/Отзывы</a><br/>
                &bull; <a href="?mod=site">Сайты</a><br/>
                &bull; <a href="?mod=logs">Логи</a><br/>'; 
        echo '</div>';
        
        
        $last_book = mysql_result(mysql_query("SELECT COUNT(*) FROM `book` WHERE `time` >= '".(time()-3600*24*1)."'"), 0);
        $last_news = mysql_result(mysql_query("SELECT COUNT(*) FROM `komm` WHERE `id_news` <> 0 AND `date` >= '".(time()-3600*24*1)."'"), 0);
        $last_review = mysql_result(mysql_query("SELECT COUNT(*) FROM `komm` WHERE `id_site` <> 0 AND `date` >= '".(time()-3600*24*1)."'"), 0);
        $last_review = mysql_result(mysql_query("SELECT COUNT(*) FROM `komm` WHERE `id_site` <> 0 AND `date` >= '".(time()-3600*24*1)."'"), 0);
        $last_sites = mysql_result(mysql_query("SELECT COUNT(*) FROM `sites` WHERE `date` >= '".(time()-3600*24*1)."'"), 0);
        
        echo '<div class="zag2"><img src="'.$home.'/images/adm_img/digest.png" alt="digest"/> Дайджест</div>'; 
        echo '<div class="title">';
        echo '<b>Последняя активность за 24 часа</b><br/>';
        echo '<ul type="square">
                <li>Новые комментарии в новостях: <a href="journal.php?mod=komm"><font color="red">+'.$last_news.'</font></a></li>
                <li>Новые отзывы: <a href="journal.php?mod=komm"><font color="red">+'.$last_review.'</font></a></li>
                <li>Новые сообщение в гостевой <a href="'.$home.'/book.php"><font color="red">+'.$last_book.'</font></a></li>
                <li>Последние сайты: <font color="red">+'.$last_sites.'</font></li>
                </ul>';
        echo '</div>'; 
        echo '<div class="zag2"><img src="'.$home.'/images/adm_img/search_ip.png" alt="serach_ip"/> Поиск IP</div>'; 
        echo '<div class="title">';
        echo '<form action="journal.php?mod=search_ip" method="POST">
                <b>Введите IP:</b><br/><small><font color="red">например 127.0.01</font></small><br/>
                <input type="text" name="ip"/><br/>
                <b>Место поиска:</b><br/>
                <input type="radio" name="type" value="1"/> Забаненные IP<br/>
                <input type="radio" name="type" value="2"/> Сайты<br/>
                <input type="radio" name="type" value="3"/> Комментарии/Отзывы<br/>
                <input type="radio" name="type" value="4"/> Логи<br/>
                <input type="radio" name="type" value="5"/> Гостевая книга<br/>
                
                <input type="submit" name="submit" value="Искать"/>
                </form>';
        echo '</div>';
        echo '<div class="main"><a href="index.php">Админка</a></div>';
}
require_once('../inc/foot.php');
?>