Esempio n. 1
0
function forum_search_results($id)
{
    global $db;
    if ($id) {
        $search = $db->fetch_assoc('SELECT * FROM ' . DB_PRE . 'ecp_forum_search WHERE (SID = \'' . session_id() . '\' OR userID = ' . (int) @$_SESSION['userID'] . ') AND searchID = ' . $id);
        if (isset($search['searchID'])) {
            if ($search['stichwort'] != '') {
                if ($search['viewas'] == 'comments') {
                    $db->query($search['sqlquery'] . ' ORDER BY ' . $search['sortart'] . ' ' . $search['sortorder']);
                    $anzahl = $db->num_rows();
                    $limits = get_sql_limit($anzahl, LIMIT_FORUM_COMMENTS);
                    $result = $db->query($search['sqlquery'] . ' ORDER BY ' . $search['sortart'] . ' ' . $search['sortorder'] . ' LIMIT ' . $limits[1] . ', ' . LIMIT_FORUM_COMMENTS);
                    $comments = array();
                    while ($row = mysql_fetch_assoc($result)) {
                        $row['adatum'] = forum_make_date($row['adatum']);
                        $row['nr'] = ++$limits[1];
                        $row['countryname'] = @$countries[$row['country']];
                        $row['sex'] == 'male' ? $row['sextext'] = MALE : ($row['sextext'] = FEMALE);
                        if ($row['edits']) {
                            $row['edit'] = str_replace(array('{anzahl}', '{von}', '{last}'), array($row['edits'], '<a href="?section=user&id=' . $row['edituserID'] . '">' . $row['editfrom'] . '</a>', date(LONG_DATE, $row['editdatum'])), COMMENT_EDIT_TXT);
                        }
                        if ($row['attachs']) {
                            $anhaenge = array();
                            $db->query('SELECT `attachID`, `name`, `size`, `downloads` FROM `' . DB_PRE . 'ecp_forum_attachments` WHERE `bID` = ' . $row['bID'] . ' AND `tID` = ' . $row['tID'] . ' AND `mID` = ' . $row['comID']);
                            while ($sub = $db->fetch_assoc()) {
                                $sub['size'] = goodsize($sub['size']);
                                $anhaenge[] = $sub;
                            }
                            $row['attchs'] = $anhaenge;
                        }
                        $comments[] = $row;
                    }
                    $tpl = new smarty();
                    $tpl->assign('comments', $comments);
                    $tpl->assign('words', str_replace(array('AND', 'OR'), array('<strong>AND</strong>', '<strong>OR</strong>'), $search['stichwort']));
                    if ($limits[0] != 1) {
                        $tpl->assign('seiten', '<span class="klammer">[</span> ' . PAGES . ': ' . $anzahl . ' <span class="klammer">|</span> ' . makepagelink('?section=forum&action=searchresults&id=' . $id, (int) @$_GET['page'] == 0 ? 1 : (int) @$_GET['page'], $limits[0]) . ' <span class="klammer">]</span>');
                    }
                    $tpl->assign('path', '<a href="?section=forum">' . FORUM . '</a> <img src="templates/' . DESIGN . '/images/pfeil_o.gif" alt="" /> ' . SEARCH);
                    ob_start();
                    $tpl->display(DESIGN . '/tpl/forum/board_head.html');
                    $tpl->display(DESIGN . '/tpl/forum/search_results_comments.html');
                    echo '</div>';
                    $content = ob_get_contents();
                    ob_end_clean();
                    main_content(FORUM_SEARCH_RESULTS, $content, '', 1);
                } else {
                    if ($search['sortart'] == 'adatum') {
                        $search['sortart'] = 'lastreplay';
                    }
                    $db->query($search['sqlquery']);
                    $anzahl = $db->num_rows();
                    $limits = get_sql_limit($anzahl, LIMIT_THREADS);
                    $result = $db->query($search['sqlquery'] . ' ORDER BY ' . $search['sortart'] . ' ' . $search['sortorder'] . ' LIMIT ' . $limits[1] . ', ' . LIMIT_THREADS);
                    $threads = array();
                    while ($row = mysql_fetch_assoc($result)) {
                        $row['lastreplay'] = forum_make_date($row['lastreplay']);
                        $row['datum'] = forum_make_date($row['datum']);
                        $row['bewertung'] = $row['ratingvotes'] != 0 ? str_replace(array('{anzahl}', '{avg}'), array(format_nr($row['ratingvotes']), format_nr($row['rating'], 2)), FORUM_RATING_VAL) : FORUM_NO_RATINGS;
                        $row['bewertungbild'] = 'rating_' . str_replace('.', '_', get_forum_rating($row['rating']));
                        $threads[] = $row;
                    }
                    $tpl = new smarty();
                    $tpl->assign('threads', $threads);
                    $tpl->assign('words', str_replace(array('AND', 'OR'), array('<strong>AND</strong>', '<strong>OR</strong>'), $search['stichwort']));
                    if ($limits[0] != 1) {
                        $tpl->assign('seiten', '<span class="klammer">[</span> ' . PAGES . ': ' . $anzahl . ' <span class="klammer">|</span> ' . makepagelink('?section=forum&action=searchresults&id=' . $id, (int) @$_GET['page'] == 0 ? 1 : (int) @$_GET['page'], $limits[0]) . ' <span class="klammer">]</span>');
                    }
                    $tpl->assign('path', '<a href="?section=forum">' . FORUM . '</a> <img src="templates/' . DESIGN . '/images/pfeil_o.gif" alt="" /> ' . SEARCH);
                    ob_start();
                    $tpl->display(DESIGN . '/tpl/forum/board_head.html');
                    $tpl->display(DESIGN . '/tpl/forum/search_results_boards.html');
                    echo '</div>';
                    $content = ob_get_contents();
                    ob_end_clean();
                    main_content(FORUM_SEARCH_RESULTS, $content, '', 1);
                }
            } else {
                if ($search['usersuchart'] == 1) {
                    if ($search['sortart'] == 'adatum') {
                        $search['sortart'] == 'datum';
                    }
                    $db->query($search['sqlquery'] . ' ORDER BY ' . $search['sortart'] . ' ' . $search['sortorder']);
                    $anzahl = $db->num_rows();
                    $limits = get_sql_limit($anzahl, LIMIT_FORUM_COMMENTS);
                    $result = $db->query($search['sqlquery'] . ' ORDER BY ' . $search['sortart'] . ' ' . $search['sortorder'] . ' LIMIT ' . $limits[1] . ', ' . LIMIT_FORUM_COMMENTS);
                    $comments = array();
                    while ($row = mysql_fetch_assoc($result)) {
                        $row['adatum'] = forum_make_date($row['adatum']);
                        $row['nr'] = ++$limits[1];
                        $row['countryname'] = @$countries[$row['country']];
                        $row['sex'] == 'male' ? $row['sextext'] = MALE : ($row['sextext'] = FEMALE);
                        if ($row['edits']) {
                            $row['edit'] = str_replace(array('{anzahl}', '{von}', '{last}'), array($row['edits'], '<a href="?section=user&id=' . $row['edituserID'] . '">' . $row['editfrom'] . '</a>', date(LONG_DATE, $row['editdatum'])), COMMENT_EDIT_TXT);
                        }
                        if ($row['attachs']) {
                            $anhaenge = array();
                            $db->query('SELECT `attachID`, `name`, `size`, `downloads` FROM `' . DB_PRE . 'ecp_forum_attachments` WHERE `bID` = ' . $row['bID'] . ' AND `tID` = ' . $row['tID'] . ' AND `mID` = ' . $row['comID']);
                            while ($sub = $db->fetch_assoc()) {
                                $sub['size'] = goodsize($sub['size']);
                                $anhaenge[] = $sub;
                            }
                            $row['attchs'] = $anhaenge;
                        }
                        $comments[] = $row;
                    }
                    $tpl = new smarty();
                    $tpl->assign('search', 'username');
                    $tpl->assign('username', $search['fromusername']);
                    $tpl->assign('comments', $comments);
                    if ($limits[0] != 1) {
                        $tpl->assign('seiten', '<span class="klammer">[</span> ' . PAGES . ': ' . $anzahl . ' <span class="klammer">|</span> ' . makepagelink('?section=forum&action=searchresults&id=' . $id, (int) @$_GET['page'] == 0 ? 1 : (int) @$_GET['page'], $limits[0]) . ' <span class="klammer">]</span>');
                    }
                    $tpl->assign('path', '<a href="?section=forum">' . FORUM . '</a> <img src="templates/' . DESIGN . '/images/pfeil_o.gif" alt="" /> ' . SEARCH);
                    ob_start();
                    $tpl->display(DESIGN . '/tpl/forum/board_head.html');
                    $tpl->display(DESIGN . '/tpl/forum/search_results_comments.html');
                    echo '</div>';
                    $content = ob_get_contents();
                    ob_end_clean();
                    main_content(FORUM_SEARCH_RESULTS, $content, '', 1);
                } else {
                    if ($search['sortart'] == 'adatum') {
                        $search['sortart'] = 'lastreplay';
                    }
                    $db->query($search['sqlquery']);
                    $anzahl = $db->num_rows();
                    $limits = get_sql_limit($anzahl, LIMIT_THREADS);
                    $result = $db->query($search['sqlquery'] . ' ORDER BY ' . $search['sortart'] . ' ' . $search['sortorder'] . ' LIMIT ' . $limits[1] . ', ' . LIMIT_THREADS);
                    $threads = array();
                    while ($row = mysql_fetch_assoc($result)) {
                        $row['lastreplay'] = forum_make_date($row['lastreplay']);
                        $row['datum'] = forum_make_date($row['datum']);
                        $row['bewertung'] = $row['ratingvotes'] != 0 ? str_replace(array('{anzahl}', '{avg}'), array(format_nr($row['ratingvotes']), format_nr($row['rating'], 2)), FORUM_RATING_VAL) : FORUM_NO_RATINGS;
                        $row['bewertungbild'] = 'rating_' . str_replace('.', '_', get_forum_rating($row['rating']));
                        $threads[] = $row;
                    }
                    $tpl = new smarty();
                    $tpl->assign('search', 'username');
                    $tpl->assign('username', $search['fromusername']);
                    $tpl->assign('threads', $threads);
                    if ($limits[0] != 1) {
                        $tpl->assign('seiten', '<span class="klammer">[</span> ' . PAGES . ': ' . $anzahl . ' <span class="klammer">|</span> ' . makepagelink('?section=forum&action=searchresults&id=' . $id, (int) @$_GET['page'] == 0 ? 1 : (int) @$_GET['page'], $limits[0]) . ' <span class="klammer">]</span>');
                    }
                    $tpl->assign('path', '<a href="?section=forum">' . FORUM . '</a> <img src="templates/' . DESIGN . '/images/pfeil_o.gif" alt="" /> ' . SEARCH);
                    ob_start();
                    $tpl->display(DESIGN . '/tpl/forum/board_head.html');
                    $tpl->display(DESIGN . '/tpl/forum/search_results_boards.html');
                    echo '</div>';
                    $content = ob_get_contents();
                    ob_end_clean();
                    main_content(FORUM_SEARCH_RESULTS, $content, '', 1);
                }
            }
        } else {
            table(ERROR, FORUM_SEARCH_NOT_YOURS);
        }
    }
}
Esempio n. 2
0
            $bid = (int) $_GET['boardID'];
            $db->query('UPDATE ' . DB_PRE . 'ecp_forum_threads SET views = views + 1 WHERE threadID = ' . $id);
            $limits = get_sql_limit($thread['posts'] + 1, LIMIT_FORUM_COMMENTS);
            $result = $db->query('SELECT `comID`, ' . DB_PRE . 'ecp_forum_comments.userID, a.rID, rankname, iconname, `postname`, `adatum`, `comment`, `edits`, `editdatum`, `edituserID`, ' . DB_PRE . 'ecp_forum_comments.IP, `attachs`, a.username, a.sex, a.signatur, a.country, comments, d.money, a.avatar, b.username as editfrom, lastklick as online
								FROM `' . DB_PRE . 'ecp_forum_comments` 
								LEFT JOIN ' . DB_PRE . 'ecp_user as a ON (' . DB_PRE . 'ecp_forum_comments.userID = a.ID)
								LEFT JOIN ' . DB_PRE . 'ecp_user as b ON (' . DB_PRE . 'ecp_forum_comments.edituserID = b.ID)
								LEFT JOIN ' . DB_PRE . 'ecp_user_stats as d ON (' . DB_PRE . 'ecp_forum_comments.userID = d.userID)
								LEFT JOIN ' . DB_PRE . 'ecp_ranks ON (a.rID = rankID)
								LEFT JOIN ' . DB_PRE . 'ecp_online ON (uID = ' . DB_PRE . 'ecp_forum_comments.userID AND lastklick > ' . (time() - SHOW_USER_ONLINE) . ')
								WHERE boardID = ' . $bid . ' AND tID = ' . $id . '
								GROUP BY comID
								ORDER BY adatum ' . (@$_GET['order'] == 'DESC' ? 'DESC' : 'ASC') . '
								LIMIT ' . $limits[1] . ', ' . LIMIT_FORUM_COMMENTS);
            while ($row = mysql_fetch_assoc($result)) {
                $row['adatum'] = forum_make_date($row['adatum']);
                $row['nr'] = ++$limits[1];
                $row['comment'] = bb_code($row['comment']);
                $row['comments'] = format_nr($row['comments']);
                $row['countryname'] = @$countries[$row['country']];
                $row['quote'] = $row['comment'];
                $row['sex'] == 'male' ? $row['sextext'] = MALE : ($row['sextext'] = FEMALE);
                if ($row['edits']) {
                    $row['edit'] = str_replace(array('{anzahl}', '{von}', '{last}'), array($row['edits'], '<a href="?section=user&id=' . $row['edituserID'] . '">' . $row['editfrom'] . '</a>', date(LONG_DATE, $row['editdatum'])), COMMENT_EDIT_TXT);
                }
                if ($row['attachs']) {
                    $anhaenge = array();
                    $db->query('SELECT `attachID`, `name`, `size`, `downloads` FROM `' . DB_PRE . 'ecp_forum_attachments` WHERE `bID` = ' . $bid . ' AND `tID` = ' . $id . ' AND `mID` = ' . $row['comID']);
                    while ($sub = $db->fetch_assoc()) {
                        $sub['size'] = goodsize($sub['size']);
                        $anhaenge[] = $sub;