Файл: fsearch.php
Строк: 50
<?php
include 'system/sys.php';
include 'system/funcs.php';
if (!isset ($us)) {
        header ('location: /');
        exit;
}
H ('Поиск по форуму', 'Поиск по форуму');
    if (isset ($_GET['thems'])) {
    
        $_SESSION['thema'] = htmlspecialchars (addslashes (trim ($_SESSION['thema'])));
    
        echo '<div class="list1">';
        echo '<form action="/fsearch.php?thems&get" method="post">';
        echo '<input name="name" value="' . $_SESSION['thema'] . '"/><br/>';
        echo '<input type="submit" value="Поиск"/>';
        echo '</form>';
        echo '</div>';
        if (isset ($_GET['get'])) {
                $_POST['name'] = htmlspecialchars (addslashes (trim ($_POST['name'])));
                if (!empty ($_POST['name'])) {
                        $_SESSION['thema'] = $_POST['name'];
                }
                
                if (isset ($_SESSION['thema'])) {
                
                        $items = DB :: $dbs -> querySingle ("SELECT COUNT(*) FROM `forum_t` WHERE (`name` LIKE '%" . $_SESSION['thema'] . "%') AND (`type`!='2')");
                        $items_per_page = 10;
                        $pages = ceil ( $items / $items_per_page );
                        $page = (int) $_GET['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="list1">По вашему запросу ничего не найдено!</div>';
                        }
                        else {
                                $query = DB :: $dbs -> query ("SELECT * FROM `forum_t` WHERE (`name` LIKE '%" . $_SESSION['thema'] . "%') AND (`type`!='2') ORDER BY `id` DESC LIMIT $start, $items_per_page");
                                while ($t = $query -> fetch()) {
                                        
                                        $c_p = DB :: $dbs -> querySingle ("SELECT COUNT(*) FROM `forum_p` WHERE (`id_r`='" . $r['id'] . "') AND (`id_pr`='" . $pr['id'] . "') AND (`id_t`='" . $t['id'] . "') " . ($us['level'] > 0 ? '':'AND (`del`='0')'));
                                        
                                        echo '<div class="navg">';
                                        echo '<img src="/design/' . ($t['top'] != 0 ? 'prikrep' : ($t['type'] == 0 ? 'closed':'the')) . '.png" alt=""/> <a href="/forum/thema' . $t['id'] . '">' . $t['name'] . '</a> (' . $c_p .') <a href="/forum/thema' . $t['id'] . '/page' . ceil ($c_p / 10) . '">></a><br/>';
                                        $c_f = DB :: $dbs -> querySingle ("SELECT COUNT(*) FROM `forum_f` WHERE (`id_t`= '" . $t['id'] . "')");
                                        if ($c_f != 0) {
                                                echo '<img src="/images/page_white_get.png" alt="" align="middle"/> Файлов: <a href="/forum/files' . $t['id'] . '">' . $c_f . '</a><br/>';
                                        }
                                        
                                        echo uNick ($t['us']) . '/' . uNick ($t['last']) . ' (' . datef ($t['time'])  .')';
                                        echo '</div>';
                                        
                                }
                                
                                if ($pages>1) {
                                        echo '<div class="list1">' . pages ('/fsearch/thems') . '</div>';
                                }
                
                        }
                        
                }
        
        }
}
elseif (isset ($_GET['posts'])) {
        $_SESSION['post'] = htmlspecialchars (addslashes (trim ($_SESSION['post'])));
        
        echo '<div class="list1">';
        echo '<form action="/fsearch.php?posts&get" method="post">';
        echo '<input name="text"/><br/>';
        echo '<input type="submit" value="Поиск"/>';
        echo '</form>';
        echo '</div>';
        
        if (isset ($_GET['get'])) {
                $_POST['text'] = htmlspecialchars (addslashes (trim ($_POST['text'])));
                if (!empty ($_POST['text'])) {
                        $_SESSION['post'] = $_POST['text'];
                }
                
                if (isset ($_SESSION['post'])) {
                
                        $items = DB :: $dbs -> querySingle ("SELECT COUNT(*) FROM `forum_p` WHERE (`text` LIKE '%" . $_SESSION['post'] . "%') AND (`del`='0')");
                        $items_per_page = 10;
                        $pages = ceil ( $items / $items_per_page );
                        $page = (int) $_GET['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="list1">По вашему запросу ничего не найдено!</div>';
                        }
                        else {
                                $query = DB :: $dbs -> query ("SELECT * FROM `forum_p` WHERE (`text` LIKE '%" . $_SESSION['post'] . "%') AND (`del`='0') ORDER BY `id` DESC LIMIT $start, $items_per_page");
                                while ($p = $query -> fetch()) {
                                        $t = DB :: $dbs -> queryFetch ("SELECT * FROM `forum_t` WHERE (`id`='" . $p['id_t'] . "')");
                                    
                                        echo '<div class="list1">';
                                        echo '<img src="/design/' . ($t['top']==1? 'prikrep' : ($t['type']==0 ? 'closed' : 'the')) . '.png" alt=""/> Тема: <a href="/forum/thema' . $t['id'] . '">' . $t['name'] . '</a><br/>';
                                        echo uNick ($p['us']) . ' (' . datef ($p['time']) . ')';
                                            
                                        $za     = DB :: $dbs -> querySingle ("SELECT COUNT(*) FROM `forum_vote` WHERE (`id_p`='" . $p['id'] . "') AND (`vot`='za')");
                                        $protiv = DB :: $dbs -> querySingle ("SELECT COUNT(*) FROM `forum_vote` WHERE (`id_p`='" . $p['id'] . "') AND (`vot`='protiv')");
                                          
                                        // display post votes
                                        echo ' (<span style="color:green;">' . $za . '</span>/<span style="color:red;">' . $protiv . '</span>)<br/>';
                                        
                                        // if post have quote
                                        if ($p['cit'] != 0) {
                                            
                                                echo 'Цитата:';
                                                echo '<div class="cit">';
                                                
                                                $q = DB :: $dbs -> query ("SELECT * FROM `forum_p` WHERE (`id`='" . $p['cit'] . "')");                
                                                if ($q -> rowCount () == 0) {
                                                        echo '<b>Сообщение удалено!</b>';
                                                }
                                                else {
                                                        
                                                        // 
                                                        $cit = $q -> fetch ();
                                                        if ($cit['del'] !=0 ) {
                                                                echo '<b>Сообщение удалено!</b>';
                                                        }
                                                        else {
                                                            
                                                                $citu = DB :: $dbs -> queryFetch ("SELECT * FROM `us` WHERE (`id`='" . $cit['us'] . "')");
                                                                echo '<b style="color:red;">' . $citu['nick'] . '</b>: ' . bb ($cit['text']);
                                                        
                                                        }
                                                
                                                }
                                                
                                                echo '</div>';
                                        
                                        }
                                        
                                        $p['text'] = bb ($p['text']);
                                        
                                        echo $p['text'] . '<br/>';
                                        
                                        // if post have attachment files
                                        if (DB :: $dbs -> querySingle ("SELECT COUNT(*) FROM `forum_f` WHERE (`id_p`='" . $p['id'] . "')") != 0) {
                                        
                                            echo '<b>Прикрепленные файлы:</b><br/>';
                                            
                                            $q = DB :: $dbs -> query ("SELECT * FROM `forum_f` WHERE (`id_p`='" . $p['id'] . "') ORDER BY `id`");
                                            while ($f = $q -> fetch ()) {
                                                echo '<a href="/files/forum/' . $f['name'] . '">' . $f['name'] . '</a> (' . sizef ($f['size']) . ')<br/>';
                                            }
                                        }
                                        
                                        $q = DB :: $dbs -> query ("SELECT * FROM `forum_reds` WHERE (`id_p`='" . $p['id'] . "')");
                                        if ($q -> rowCount () != 0) {
                                                $redk = DB :: $dbs -> queryFetch ("SELECT * FROM `forum_reds` WHERE (`id_p`='" . $p['id'] . "') ORDER BY `id` DESC LIMIT 1");
                                                echo '
                                                ________<br/>
                                                <small>Пост изменён <a href="/forums/reds.php?id=' . $p['id'] . '">' . $q -> rowCount () . ' раз.</a> Посл. ред. ' . uNick ($redk['us']) . ' (' . datef ($redk['time']) . ')</small>
                                                ';
                                        }
                                        
                                        echo '</div>';
                                        
                                }
                                
                                if ($pages>1) {
                                        echo '<div class="list1">' . pages ('/fsearch/posts') . '</div>';
                                }
                
                        }
                        
                }
        
        }
        
}
else {
        echo '<div class="list1"><a href="/fsearch.php?thems">По названию тем</a></div>';
        echo '<div class="list1"><a href="/fsearch.php?posts">По постам</a></div>';
}
F ();
?>