diff --git a/phpBB/templates/Default/viewforum_body.tpl b/phpBB/templates/Default/viewforum_body.tpl
index 2909d02d0c..608797890a 100644
--- a/phpBB/templates/Default/viewforum_body.tpl
+++ b/phpBB/templates/Default/viewforum_body.tpl
@@ -15,7 +15,7 @@
{FOLDER} |
- {TOPIC_TITLE} |
+ {TOPIC_TITLE}{GOTO_PAGE} |
{REPLIES} |
{TOPIC_POSTER} |
{VIEWS} |
diff --git a/phpBB/templates/Default/viewtopic_body.tpl b/phpBB/templates/Default/viewtopic_body.tpl
index 5735a21cff..06624ab151 100644
--- a/phpBB/templates/Default/viewtopic_body.tpl
+++ b/phpBB/templates/Default/viewtopic_body.tpl
@@ -5,8 +5,8 @@
This topic is {PAGES} long. {PAGINATION} |
-
-
+
+
|
diff --git a/phpBB/viewforum.php b/phpBB/viewforum.php
index d091850794..0bd7c4cac7 100644
--- a/phpBB/viewforum.php
+++ b/phpBB/viewforum.php
@@ -103,16 +103,46 @@ if($total_topics)
$topic_title = stripslashes($topic_rowset[$x]["topic_title"]);
$topic_id = $topic_rowset[$x]["topic_id"];
$replies = $topic_rowset[$x]["topic_replies"];
+ if($replies > $posts_per_page)
+ {
+ $goto_page = " (
$l_gotopage: ";
+ $times = 1;
+ for($i = 0; $i < ($replies + 1); $i += $posts_per_page)
+ {
+ if($times > 4)
+ {
+ if(($i + $posts_per_page) >= ($replies + 1))
+ {
+ $goto_page.=" ... $times";
+ }
+ }
+ else
+ {
+ if($times != 1)
+ {
+ $goto_page.= ", ";
+ }
+ $goto_page.= "$times";
+ }
+ $times++;
+ }
+ $goto_page.= ")";
+ }
+ else
+ {
+ $goto_page = "";
+ }
$topic_poster = stripslashes($topic_rowset[$x]["username"]);
$views = $topic_rowset[$x]["topic_views"];
$last_post_time = date($date_format, $topic_rowset[$x]["post_time"]);
$last_post_user = $topic_rowset[$x]["user2"];
$folder_img = "
";
$template->set_var(array("FORUM_ID" => $forum_id,
- "POST_TOPIC_URL" => POST_TOPIC_URL,
+ "POST_TOPIC_URL" => POST_TOPIC_URL,
"TOPIC_ID" => $topic_id,
"FOLDER" => $folder_img,
"TOPIC_POSTER" => "".$topic_poster."",
+ "GOTO_PAGE" => $goto_page,
"REPLIES" => $replies,
"TOPIC_TITLE" => $topic_title,
"VIEWS" => $views,
diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php
index 0452f63843..d036055f12 100644
--- a/phpBB/viewtopic.php
+++ b/phpBB/viewtopic.php
@@ -23,9 +23,6 @@
include('extension.inc');
include('common.'.$phpEx);
-$page_title = "View Topic - $topic_title";
-$topic_title = stripslashes($topic_info[0]["topic_title"]);
-
if(!isset($HTTP_GET_VARS['topic'])) // For backward compatibility
{
$topic_id = $HTTP_GET_VARS[POST_TOPIC_URL];
@@ -59,7 +56,7 @@ 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++)
@@ -76,7 +73,9 @@ for($x = 0; $x < $total_rows; $x++)
// Add checking for private forums here
//
-$total_replies = $topic_info[0]["topic_replies"] + 1;
+$total_replies = $forum_row[0]["topic_replies"] + 1;
+
+$page_title = "View Topic - $topic_title";
$pagetype = "viewtopic";
include('includes/page_header.'.$phpEx);
@@ -171,30 +170,30 @@ for($x = 0; $x < $total_posts; $x++)
$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));
+ "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);
}
@@ -213,7 +212,7 @@ if($total_replies > $posts_per_page)
$last_page = $start - $posts_per_page;
if($start > 0)
{
- $pagination .= "$l_prevpage ";
+ $pagination .= "$l_prevpage ";
}
for($x = 0; $x < $total_replies; $x += $posts_per_page)
@@ -232,7 +231,7 @@ if($total_replies > $posts_per_page)
}
else
{
- $pagination .= "$times";
+ $pagination .= "$times";
}
$times++;
}
@@ -240,7 +239,7 @@ if($total_replies > $posts_per_page)
if(($start + $posts_per_page) < $total_replies)
{
$next_page = $start + $posts_per_page;
- $pagination .= " $l_nextpage";
+ $pagination .= " $l_nextpage";
}
$pagination .= " )";
}
@@ -249,7 +248,7 @@ else
$pages = "1 page";
}
$template->set_var(array("PAGES" => $pages,
- "PAGINATION" => $pagination));
+ "PAGINATION" => $pagination));
$template->pparse("output", array("posts", "body"));