function generate_search_crumbs($action = null)
{
    global $forum_page, $lang_common, $lang_search, $forum_url, $forum_user, $num_hits, $search_set, $search_id, $show_as;
    $return = ($hook = get_hook('sf_fn_generate_search_crumbs_start')) ? eval($hook) : null;
    if ($return != null) {
        return;
    }
    switch ($action) {
        case 'show_new':
            $forum_page['crumbs'][] = $lang_search['Topics with new'];
            $forum_page['items_info'] = generate_items_info($lang_search['Topics found'], $forum_page['start_from'] + 1, $num_hits);
            $forum_page['main_head_options']['defined_search'] = '<span' . (empty($forum_page['main_head_options']) ? ' class="first-item"' : '') . '><a href="' . forum_link($forum_url['search']) . '">' . $lang_search['User defined search'] . '</a></span>';
            $forum_page['main_foot_options']['mark_all'] = '<span' . (empty($forum_page['main_foot_options']) ? ' class="first-item"' : '') . '><a href="' . forum_link($forum_url['mark_read'], generate_form_token('markread' . $forum_user['id'])) . '">' . $lang_common['Mark all as read'] . '</a></span>';
            // Add link for show all topics, not only new (updated)
            if ($search_id != -1) {
                $forum_page['main_head_options']['show_all'] = '<span' . (empty($forum_page['main_head_options']) ? ' class="first-item"' : '') . '><a href="' . forum_link($forum_url['forum'], $search_set[0]['forum_id']) . '">' . $lang_search['All Topics'] . '</a></span>';
            }
            break;
        case 'show_recent':
            $forum_page['crumbs'][] = $lang_search['Recently active topics'];
            $forum_page['items_info'] = generate_items_info($lang_search['Topics found'], $forum_page['start_from'] + 1, $num_hits);
            $forum_page['main_head_options']['defined_search'] = '<span' . (empty($forum_page['main_head_options']) ? ' class="first-item"' : '') . '><a href="' . forum_link($forum_url['search']) . '">' . $lang_search['User defined search'] . '</a></span>';
            break;
        case 'show_unanswered':
            $forum_page['crumbs'][] = $lang_search['Unanswered topics'];
            $forum_page['items_info'] = generate_items_info($lang_search['Topics found'], $forum_page['start_from'] + 1, $num_hits);
            $forum_page['main_head_options']['defined_search'] = '<span' . (empty($forum_page['main_head_options']) ? ' class="first-item"' : '') . '><a href="' . forum_link($forum_url['search']) . '">' . $lang_search['User defined search'] . '</a></span>';
            break;
        case 'show_user_posts':
            $forum_page['crumbs'][] = sprintf($lang_search['Posts by'], $search_set[0]['pposter'], $forum_page['start_from'] + 1, $num_hits);
            $forum_page['items_info'] = generate_items_info($lang_search['Posts found'], $forum_page['start_from'] + 1, $num_hits);
            $forum_page['main_head_options']['user_topics'] = '<span' . (empty($forum_page['main_head_options']) ? ' class="first-item"' : '') . '><a href="' . forum_link($forum_url['search_user_topics'], $search_id) . '">' . sprintf($lang_search['Topics by'], forum_htmlencode($search_set[0]['pposter'])) . '</a></span>';
            $forum_page['main_head_options']['defined_search'] = '<span' . (empty($forum_page['main_head_options']) ? ' class="first-item"' : '') . '><a href="' . forum_link($forum_url['search']) . '">' . $lang_search['User defined search'] . '</a></span>';
            break;
        case 'show_user_topics':
            $forum_page['crumbs'][] = sprintf($lang_search['Topics by'], $search_set[0]['poster']);
            $forum_page['items_info'] = generate_items_info($lang_search['Topics found'], $forum_page['start_from'] + 1, $num_hits);
            $forum_page['main_head_options']['user_posts'] = '<span' . (empty($forum_page['main_head_options']) ? ' class="first-item"' : '') . '><a href="' . forum_link($forum_url['search_user_posts'], $search_id) . '">' . sprintf($lang_search['Posts by'], forum_htmlencode($search_set[0]['poster'])) . '</a></span>';
            $forum_page['main_head_options']['defined_search'] = '<span' . (empty($forum_page['main_head_options']) ? ' class="first-item"' : '') . '><a href="' . forum_link($forum_url['search']) . '">' . $lang_search['User defined search'] . '</a></span>';
            break;
        case 'show_subscriptions':
            $forum_page['crumbs'][] = $lang_search['Subscriptions'];
            $forum_page['items_info'] = generate_items_info($lang_search['Topics found'], $forum_page['start_from'] + 1, $num_hits);
            $forum_page['main_head_options']['defined_search'] = '<span' . (empty($forum_page['main_head_options']) ? ' class="first-item"' : '') . '><a href="' . forum_link($forum_url['search']) . '">' . $lang_search['User defined search'] . '</a></span>';
            break;
        case 'show_forum_subscriptions':
            $forum_page['crumbs'][] = $lang_search['Forum subscriptions'];
            $forum_page['items_info'] = generate_items_info($lang_search['Forums found'], $forum_page['start_from'] + 1, $num_hits);
            $forum_page['main_head_options']['defined_search'] = '<span' . (empty($forum_page['main_head_options']) ? ' class="first-item"' : '') . '><a href="' . forum_link($forum_url['search']) . '">' . $lang_search['User defined search'] . '</a></span>';
            break;
        default:
            $forum_page['crumbs'][] = $lang_search['Search results'];
            $forum_page['items_info'] = generate_items_info($show_as == 'topics' ? $lang_search['Topics found'] : $lang_search['Posts found'], $forum_page['start_from'] + 1, $num_hits);
            $forum_page['main_head_options']['new_search'] = '<span' . (empty($forum_page['main_head_options']) ? ' class="first-item"' : '') . '><a href="' . forum_link($forum_url['search']) . '">' . $lang_search['Perform new search'] . '</a></span>';
            break;
    }
}
Beispiel #2
0
    }
}
($hook = get_hook('mr_new_action')) ? eval($hook) : null;
// No specific forum moderation action was specified in the query string, so we'll display the moderate forum view
// If forum is empty
if ($cur_forum['num_topics'] == 0) {
    message($lang_common['Bad request']);
}
// Load the viewforum.php language file
require FORUM_ROOT . 'lang/' . $forum_user['language'] . '/forum.php';
// Determine the topic offset (based on $_GET['p'])
$forum_page['num_pages'] = ceil($cur_forum['num_topics'] / $forum_user['disp_topics']);
$forum_page['page'] = !isset($_GET['p']) || !is_numeric($_GET['p']) || $_GET['p'] <= 1 || $_GET['p'] > $forum_page['num_pages'] ? 1 : $_GET['p'];
$forum_page['start_from'] = $forum_user['disp_topics'] * ($forum_page['page'] - 1);
$forum_page['finish_at'] = min($forum_page['start_from'] + $forum_user['disp_topics'], $cur_forum['num_topics']);
$forum_page['items_info'] = generate_items_info($lang_misc['Topics'], $forum_page['start_from'] + 1, $cur_forum['num_topics']);
// Select topics
$query = array('SELECT' => 't.id, t.poster, t.subject, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_views, t.num_replies, t.closed, t.sticky, t.moved_to', 'FROM' => 'topics AS t', 'WHERE' => 'forum_id=' . $fid, 'ORDER BY' => 't.sticky DESC, ' . ($cur_forum['sort_by'] == '1' ? 't.posted' : 't.last_post') . ' DESC', 'LIMIT' => $forum_page['start_from'] . ', ' . $forum_user['disp_topics']);
// With "has posted" indication
if (!$forum_user['is_guest'] && $forum_config['o_show_dot'] == '1') {
    $query['SELECT'] .= ', p.poster_id AS has_posted';
    $query['JOINS'][] = array('LEFT JOIN' => 'posts AS p', 'ON' => '(p.poster_id=' . $forum_user['id'] . ' AND p.topic_id=t.id)');
    // Must have same columns as in prev SELECT
    $query['GROUP BY'] = 't.id, t.poster, t.subject, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_views, t.num_replies, t.closed, t.sticky, t.moved_to, p.poster_id';
    ($hook = get_hook('mr_qr_get_has_posted')) ? eval($hook) : null;
}
($hook = get_hook('mr_qr_get_topics')) ? eval($hook) : null;
$result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
// Generate paging links
$forum_page['page_post']['paging'] = '<p class="paging"><span class="pages">' . $lang_common['Pages'] . '</span> ' . paginate($forum_page['num_pages'], $forum_page['page'], $forum_url['moderate_forum'], $lang_common['Paging separator'], $fid) . '</p>';
// Navigation links for header and page numbering for title/meta description
Beispiel #3
0
    $forum_user['may_post'] = $cur_topic['post_replies'] == '' && $forum_user['g_post_replies'] == '1' || $cur_topic['post_replies'] == '1' || $forum_page['is_admmod'] ? true : false;
} else {
    $forum_user['may_post'] = false;
}
// Add/update this topic in our list of tracked topics
if (!$forum_user['is_guest']) {
    $tracked_topics = get_tracked_topics();
    $tracked_topics['topics'][$id] = time();
    set_tracked_topics($tracked_topics);
}
// Determine the post offset (based on $_GET['p'])
$forum_page['num_pages'] = ceil(($cur_topic['num_replies'] + 1) / $forum_user['disp_posts']);
$forum_page['page'] = !isset($_GET['p']) || !is_numeric($_GET['p']) || $_GET['p'] <= 1 || $_GET['p'] > $forum_page['num_pages'] ? 1 : $_GET['p'];
$forum_page['start_from'] = $forum_user['disp_posts'] * ($forum_page['page'] - 1);
$forum_page['finish_at'] = min($forum_page['start_from'] + $forum_user['disp_posts'], $cur_topic['num_replies'] + 1);
$forum_page['items_info'] = generate_items_info($lang_topic['Posts'], $forum_page['start_from'] + 1, $cur_topic['num_replies'] + 1);
($hook = get_hook('vt_modify_page_details')) ? eval($hook) : null;
// Navigation links for header and page numbering for title/meta description
if ($forum_page['page'] < $forum_page['num_pages']) {
    $forum_page['nav']['last'] = '<link rel="last" href="' . forum_sublink($forum_url['topic'], $forum_url['page'], $forum_page['num_pages'], array($id, sef_friendly($cur_topic['subject']))) . '" title="' . $lang_common['Page'] . ' ' . $forum_page['num_pages'] . '" />';
    $forum_page['nav']['next'] = '<link rel="next" href="' . forum_sublink($forum_url['topic'], $forum_url['page'], $forum_page['page'] + 1, array($id, sef_friendly($cur_topic['subject']))) . '" title="' . $lang_common['Page'] . ' ' . ($forum_page['page'] + 1) . '" />';
}
if ($forum_page['page'] > 1) {
    $forum_page['nav']['prev'] = '<link rel="prev" href="' . forum_sublink($forum_url['topic'], $forum_url['page'], $forum_page['page'] - 1, array($id, sef_friendly($cur_topic['subject']))) . '" title="' . $lang_common['Page'] . ' ' . ($forum_page['page'] - 1) . '" />';
    $forum_page['nav']['first'] = '<link rel="first" href="' . forum_link($forum_url['topic'], array($id, sef_friendly($cur_topic['subject']))) . '" title="' . $lang_common['Page'] . ' 1" />';
}
if ($forum_config['o_censoring'] == '1') {
    $cur_topic['subject'] = censor_words($cur_topic['subject']);
}
// Generate paging and posting links
$forum_page['page_post']['paging'] = '<p class="paging"><span class="pages">' . $lang_common['Pages'] . '</span> ' . paginate($forum_page['num_pages'], $forum_page['page'], $forum_url['topic'], $lang_common['Paging separator'], array($id, sef_friendly($cur_topic['subject']))) . '</p>';
Beispiel #4
0
// Fetch user count
$query = array('SELECT' => 'COUNT(u.id)', 'FROM' => 'users AS u', 'WHERE' => 'u.id > 1 AND u.group_id != ' . FORUM_UNVERIFIED);
if (!empty($where_sql)) {
    $query['WHERE'] .= ' AND ' . implode(' AND ', $where_sql);
}
($hook = get_hook('ul_qr_get_user_count')) ? eval($hook) : null;
$result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
$forum_page['num_users'] = $forum_db->result($result);
// Determine the user offset (based on $_GET['p'])
$forum_page['num_pages'] = ceil($forum_page['num_users'] / 50);
$forum_page['page'] = !isset($_GET['p']) || !is_numeric($_GET['p']) || $_GET['p'] <= 1 || $_GET['p'] > $forum_page['num_pages'] ? 1 : intval($_GET['p']);
$forum_page['start_from'] = 50 * ($forum_page['page'] - 1);
$forum_page['finish_at'] = min($forum_page['start_from'] + 50, $forum_page['num_users']);
$forum_page['users_searched'] = $forum_user['g_search_users'] == '1' && $forum_page['username'] != '' || $forum_page['show_group'] > -1;
if ($forum_page['num_users'] > 0) {
    $forum_page['items_info'] = generate_items_info($forum_page['users_searched'] ? $lang_ul['Users found'] : $lang_ul['Users'], $forum_page['start_from'] + 1, $forum_page['num_users']);
} else {
    $forum_page['items_info'] = $lang_ul['Users'];
}
// Generate paging links
$forum_page['page_post']['paging'] = '<p class="paging"><span class="pages">' . $lang_common['Pages'] . '</span> ' . paginate($forum_page['num_pages'], $forum_page['page'], $forum_url['users_browse'], $lang_common['Paging separator'], array($forum_page['show_group'], $forum_page['sort_by'], $forum_page['sort_dir'], $forum_page['username'] != '' ? urlencode($forum_page['username']) : '-')) . '</p>';
// Navigation links for header and page numbering for title/meta description
if ($forum_page['page'] < $forum_page['num_pages']) {
    $forum_page['nav']['last'] = '<link rel="last" href="' . forum_sublink($forum_url['users_browse'], $forum_url['page'], $forum_page['num_pages'], array($forum_page['show_group'], $forum_page['sort_by'], $forum_page['sort_dir'], $forum_page['username'] != '' ? urlencode($forum_page['username']) : '-')) . '" title="' . $lang_common['Page'] . ' ' . $forum_page['num_pages'] . '" />';
    $forum_page['nav']['next'] = '<link rel="next" href="' . forum_sublink($forum_url['users_browse'], $forum_url['page'], $forum_page['page'] + 1, array($forum_page['show_group'], $forum_page['sort_by'], $forum_page['sort_dir'], $forum_page['username'] != '' ? urlencode($forum_page['username']) : '-')) . '" title="' . $lang_common['Page'] . ' ' . ($forum_page['page'] + 1) . '" />';
}
if ($forum_page['page'] > 1) {
    $forum_page['nav']['prev'] = '<link rel="prev" href="' . forum_sublink($forum_url['users_browse'], $forum_url['page'], $forum_page['page'] - 1, array($forum_page['show_group'], $forum_page['sort_by'], $forum_page['sort_dir'], $forum_page['username'] != '' ? urlencode($forum_page['username']) : '-')) . '" title="' . $lang_common['Page'] . ' ' . ($forum_page['page'] - 1) . '" />';
    $forum_page['nav']['first'] = '<link rel="first" href="' . forum_link($forum_url['users_browse'], array($forum_page['show_group'], $forum_page['sort_by'], $forum_page['sort_dir'], $forum_page['username'] != '' ? urlencode($forum_page['username']) : '-')) . '" title="' . $lang_common['Page'] . ' 1" />';
}
// Setup main options