diff options
Diffstat (limited to 'phpBB/includes/functions_display.php')
-rw-r--r-- | phpBB/includes/functions_display.php | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/phpBB/includes/functions_display.php b/phpBB/includes/functions_display.php index 00efd281c0..15e20ab541 100644 --- a/phpBB/includes/functions_display.php +++ b/phpBB/includes/functions_display.php @@ -640,6 +640,49 @@ function get_forum_parents(&$forum_data) } /** +* Generate topic pagination +* @deprecated - Use phpbb_generate_template_pagination +*/ +function topic_generate_pagination($replies, $url) +{ + global $config, $user; + + // Make sure $per_page is a valid value + $per_page = ($config['posts_per_page'] <= 0) ? 1 : $config['posts_per_page']; + + if (($replies + 1) > $per_page) + { + $total_pages = ceil(($replies + 1) / $per_page); + $pagination = ''; + + $times = 1; + for ($j = 0; $j < $replies + 1; $j += $per_page) + { + $pagination .= '<a href="' . $url . ($j == 0 ? '' : '&start=' . $j) . '">' . $times . '</a>'; + if ($times == 1 && $total_pages > 5) + { + $pagination .= '<span class="page-dots"> ... </span>'; + + // Display the last three pages + $times = $total_pages - 3; + $j += ($total_pages - 4) * $per_page; + } + else if ($times < $total_pages) + { + $pagination .= '<span class="page-sep">' . $user->lang['COMMA_SEPARATOR'] . '</span>'; + } + $times++; + } + } + else + { + $pagination = ''; + } + + return $pagination; +} + +/** * Obtain list of moderators of each forum */ function get_moderators(&$forum_moderators, $forum_id = false) |