query('SELECT f.forum_name, f.redirect_url, f.moderators, f.num_topics, f.sort_by, fp.post_topics, s.user_id AS is_subscribed FROM '.$db->prefix.'forums AS f LEFT JOIN '.$db->prefix.'forum_subscriptions AS s ON (f.id=s.forum_id AND s.user_id='.$pun_user['id'].') LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND f.id='.$bid) or error('Unable to fetch forum info', __FILE__, __LINE__, $db->error()); else $result = $db->query('SELECT f.forum_name, f.redirect_url, f.moderators, f.num_topics, f.sort_by, fp.post_topics, 0 AS is_subscribed FROM '.$db->prefix.'forums AS f LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND f.id='.$bid) or error('Unable to fetch forum info', __FILE__, __LINE__, $db->error()); $cur_forum = $db->fetch_assoc($result); if ($cur_forum['redirect_url'] != '') { header('Location: '.$cur_forum['redirect_url']); exit; } // Can we or can we not post new topics? $post_link = ''; if ($bid > 0) { // Sort out who the moderators are and if we are currently a moderator (or an admin) $mods_array = ($cur_forum['moderators'] != '') ? unserialize($cur_forum['moderators']) : array(); $is_admmod = ($pun_user['g_id'] == PUN_ADMIN || ($pun_user['g_moderator'] == '1' && array_key_exists($pun_user['username'], $mods_array))) ? true : false; if (($cur_forum['post_topics'] == '' && $pun_user['g_post_topics'] == '1') || $cur_forum['post_topics'] == '1' || $is_admmod) $post_link = "\t\t\t".'
'."\n"; else $post_link = ''; } // Count topics if ($pun_user['g_id'] == PUN_ADMIN) { $result = $db->query('SELECT COUNT(t.id), t.forum_id, t.moved_to FROM '.$db->prefix.'topics as t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE t.moved_to IS NULL'.$sql_fid) or error('Unable to get the admin\'s topic list', __FILE__, __LINE__, $db->error()); } elseif ($pun_user['is_guest']) { $result = $db->query('SELECT COUNT(t.id), t.forum_id, t.moved_to FROM '.$db->prefix.'topics as t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.moved_to IS NULL'.$sql_fid) or error('Unable to get the guest\'s topic list', __FILE__, __LINE__, $db->error()); } else { $result = $db->query('SELECT COUNT(t.id), t.forum_id, t.moved_to FROM '.$db->prefix.'topics as t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.moved_to IS NULL'.$sql_fid) or error('Unable to get the member\'s topic list', __FILE__, __LINE__, $db->error()); } $num_topics = $db->result($result); $num_pages = ceil($num_topics / $pun_user['disp_topics']);//$pun_user['disp_posts']; $p = (!isset($_GET['p']) || $_GET['p'] <= 1 || $_GET['p'] > $num_pages) ? 1 : intval($_GET['p']); $start_from = $pun_user['disp_topics'] * ($p - 1); // Generate paging links $paging_links = ''.$lang_common['Pages'].' '.paginate($num_pages, $p, 'viewblog.php?bid='.$bid); $page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_common['Blog']); define('PUN_ALLOW_INDEX', 1); define('PUN_ACTIVE_PAGE', 'index'); require PUN_ROOT.'header.php'; ?>'."\n";
$output .= "\t\t\t\t\t\t".''.pun_htmlspecialchars($cur_forum['forum_name']).''."\n";
$output .= "\t\t\t\t\t".' |
num_rows($result))
{
while ($cur_topic = $db->fetch_assoc($result)) {
if ($pun_config['o_censoring'] == '1')
$cur_topic['subject'] = censor_words($cur_topic['subject']);
if (mb_strlen($cur_topic['subject'])>$cut_str && strlen($cur_topic['subject'])>$cut_str)
{
$cur_topic['subject'] = mb_substr($cur_topic['subject'], 0,$cut_str).'...';
}
$subject = ''.pun_htmlspecialchars($cur_topic['subject']).'';
?>
|