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}View previous topicView next topicView previous topicView next topic
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"));