sql_query($sql))
{
error_die($db, QUERY_ERROR);
}
if(!$total_rows = $db->sql_numrows($result))
{
error_die($db, GENERAL_ERROR, "The forum you selected does not exist. Please go back and try again.");
}
$forum_row = $db->sql_fetchrowset($result);
$topic_title = $forum_row[0]["topic_title"];
$forum_id = $forum_row[0]["forum_id"];
$forum_name = stripslashes($forum_row[0]["forum_name"]);
for($x = 0; $x < $total_rows; $x++)
{
$moderators[] = array("user_id" => $forum_row[$x]["user_id"],
"username" => $forum_row[$x]["username"]);
if($userdata["user_id"] == $forum_row[$x]["user_id"])
{
$is_moderator = 1;
}
}
//
// Add checking for private forums here
//
$total_replies = $forum_row[0]["topic_replies"] + 1;
$page_title = "View Topic - $topic_title";
$pagetype = "viewtopic";
include('includes/page_header.'.$phpEx);
if(!isset($start))
{
$start = 0;
}
$sql = "SELECT u.username, u.user_id, u.user_posts, u.user_from, u.user_website, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, r.rank_title, r.rank_image, p.post_time, p.post_id, pt.post_text
FROM ".POSTS_TABLE." p
LEFT JOIN ".USERS_TABLE." u ON p.poster_id = u.user_id
LEFT JOIN ".RANKS_TABLE." r ON (u.user_rank = r.rank_id)
AND NOT (u.user_posts > r.rank_min AND u.user_posts < r.rank_max)
LEFT JOIN ".POSTS_TEXT_TABLE." pt ON p.post_id = pt.post_id
WHERE p.topic_id = '$topic_id'
ORDER BY p.post_time ASC
LIMIT $start, $posts_per_page";
if(!$result = $db->sql_query($sql))
{
error_die($db, QUERY_ERROR);
}
if(!$total_posts = $db->sql_numrows($result))
{
error_die($db, GENERAL_ERROR, "Error getting post data.");
}
$postrow = $db->sql_fetchrowset($result);
$template->set_block("body", "postrow", "posts");
for($x = 0; $x < $total_posts; $x++)
{
$poster = stripslashes($postrow[$x]["username"]);
$poster_id = $postrow[$x]["user_id"];
$poster_rank = stripslashes($postrow[$x]["rank_title"]);
$rank_image = ($postrow[$x]["rank_image"]) ? "
" : "";
$post_date = date($date_format, $postrow[$x]["post_time"]);
$poster_posts = $postrow[$x]["user_posts"];
$poster_from = ($postrow[$x]["user_from"]) ? "$l_from: ".$postrow[$x]["user_from"] : "";
$poster_joined = $postrow[$x]["user_regdate"];
$profile_img = "
";
$email_img = ($postrow[$x]["user_viewemail"] == 1) ? "
" : "";
$www_img = ($postrow[$x]["user_website"]) ? "
" : "";
if($postrow[$x]["user_icq"])
{
$icq_status_img = "
";
$icq_add_img = "
";
}
else
{
$icq_status_img = "";
$icq_add_img = "";
}
$aim_img = ($postrow[$x]["user_aim"]) ? "
" : "";
$msn_img = ($postrow[$x]["user_msnm"]) ? "
" : "";
$yim_img = ($postrow[$x]["user_yim"]) ? "
" : "";
$edit_img = "
";
$quote_img = "
";
$pmsg_img = "
";
if($is_moderator)
{
$ip_img = "
";
$delpost_img = "
";
}
$message = stripslashes($postrow[$x]["post_text"]);
if(!$allow_html)
{
$message = strip_tags($message);
}
if($allow_bbcode)
{
// do bbcode stuff here
}
if(!($x % 2))
{
$color = "#DDDDDD";
}
else
{
$color = "#CCCCCC";
}
$message = eregi_replace("\[addsig]$", "
_________________
" . stripslashes($postrow[$x]["user_sig"]), $message);
$template->set_var(array("TOPIC_TITLE" => $topic_title,
"L_POSTED" => $l_posted,
"L_JOINED" => $l_joined,
"POSTER_NAME" => $poster,
"POSTER_RANK" => $poster_rank,
"RANK_IMAGE" => $rank_image,
"ROW_COLOR" => $color,
"POSTER_JOINED" => $poster_joined,
"POSTER_POSTS" => $poster_posts,
"POSTER_FROM" => $poster_from,
"POST_DATE" => $post_date,
"MESSAGE" => $message,
"PROFILE_IMG" => $profile_img,
"EMAIL_IMG" => $email_img,
"WWW_IMG" => $www_img,
"ICQ_STATUS_IMG" => $icq_status_img,
"ICQ_ADD_IMG" => $icq_add_img,
"AIM_IMG" => $aim_img,
"MSN_IMG" => $msn_img,
"YIM_IMG" => $yim_img,
"EDIT_IMG" => $edit_img,
"QUOTE_IMG" => $quote_img,
"PMSG_IMG" => $pmsg_img,
"IP_IMG" => $ip_img,
"DELPOST_IMG" => $delpost_img));
$template->parse("posts", "postrow", true);
}
if($total_replies > $posts_per_page)
{
$times = 0;
for($x = 0; $x < $total_replies; $x += $posts_per_page)
{
$times++;
}
$pages = $times . " pages";
$times = 1;
$pagination = "$l_gotopage (";
$last_page = $start - $posts_per_page;
if($start > 0)
{
$pagination .= "$l_prevpage ";
}
for($x = 0; $x < $total_replies; $x += $posts_per_page)
{
if($times != 1)
{
$pagination .= " | ";
}
if($start && ($start == $x))
{
$pagination .= $times;
}
else if($start == 0 && $x == 0)
{
$pagination .= "1";
}
else
{
$pagination .= "$times";
}
$times++;
}
if(($start + $posts_per_page) < $total_replies)
{
$next_page = $start + $posts_per_page;
$pagination .= " $l_nextpage";
}
$pagination .= " )";
}
else
{
$pages = "1 page";
}
$template->set_var(array("PAGES" => $pages,
"PAGINATION" => $pagination));
$template->pparse("output", array("posts", "body"));
include('includes/page_tail.'.$phpEx);
?>