Файл: 4mast/profmas.ru/adm/search_ip.php
Строк: 24
<?php
require_once( '../includes/Headers.php' );
require_once( '../includes/PDO_func.php' );
if ( !isset( $us ) ) {
    header( 'location: /' );
    exit;
}
if ( $us[ 'level' ] < 1 ) {
    header( 'location:/' );
    exit;
}
H( 'Поиск по IP', 'Поиск по IP' );
echo '<div class="list1">
<form action="/adm/search_ip.php" method="GET">
Критерий поиска:<br/><select name="krit">
<option value="osn">Текущий IP</option><option value="logs">Логи авторизаций</option></select><br />
Введите IP-адрес: <br/><input name="ip"/><br/>
<input type="submit" value="Поиск"/>
</form></div>';
if ( isset( $_GET[ 'ip' ] ) ) {
    $ip   = htmlspecialchars( addslashes( trim( $_GET[ 'ip' ] ) ) );
    $krit = htmlspecialchars( addslashes( trim( $_GET[ 'krit' ] ) ) );
    if ( !preg_match( '/([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})/', $ip ) ) {
        echo '<div class="error">Неверный формат IP-адреса</div>';
    } else {
        if ( $krit == 'osn' ) {
            $tabl   = '`us`';
            $search = 'по текущему ip';
            $orby   = '`id`';
            $dis    = '`id`';
        }
        elseif ( $krit == 'logs' ) {
            $tabl   = '`log_auth`';
            $search = 'в логах авторизаций';
            $orby   = '`time`';
            $dis    = '`us`';
        }
        $it             = DB::$dbs->query( "SELECT DISTINCT " . $dis . " FROM " . $tabl . " WHERE (`ip` = ?)", array(
             $ip 
        ) );
        $items          = $it->rowCount();
        $items_per_page = 20;
        echo '<div class="error">' . $ip . '</div><div class="access">Результат поиска ' . $search . '<br /> Кол-во: ' . endi( $items, array(
             'пользователь',
            'пользователя',
            'пользователей' 
        ) ) . '</div>';
        $pages = ceil( $items / $items_per_page );
        if ( $page < 1 )
            $page = 1;
        if ( $page > $pages )
            $page = $pages;
        $start = $page * $items_per_page - $items_per_page;
        if ( $items == 0 ) {
            echo '<div class="error">Никого не найдено..</div>';
        } else {
            $query = DB::$dbs->query( "SELECT DISTINCT " . $dis . " FROM " . $tabl . " WHERE (`ip`=?) ORDER BY " . $orby . " ASC LIMIT $start, $items_per_page", array(
                 $ip 
            ) );
            while ( $u = $query->fetch() ) {
                echo '<div class="block">';
                if ( $krit == 'osn' )
                    echo Nick( $u[ 'id' ] ) . ' <a href="/adm/us_logs/' . $u[ 'id' ] . '"> [Логи] </a>';
                elseif ( $krit == 'logs' )
                    echo Nick( $u[ 'us' ] ) . ' <a href="/adm/us_logs/' . $u[ 'us' ] . '"> [Логи] </a>';
                echo '</div>';
            }
            if ( $pages > 1 ) {
                echo page( '/adm/search_ip/' . $krit . '/' . $ip);
            }
        }
    }
}
echo '<div class="block"><a href="/adm">Вернуться</a></div>';
require_once( '../includes/Footers.php' );
?>