function generate_pagination($pagination, $bottom = true) { global $pagination_spacing, $links_on_page; $result = getlocal2("tag.pagination.info", array($pagination['page'], $pagination['total'], $pagination['start'] + 1, $pagination['end'], $pagination['count'])) . "<br/>"; if ($pagination['total'] > 1) { if (!$bottom) { $result = ""; } else { $result .= "<br/>"; } $result .= "<div class='pagination'>"; $curr_page = $pagination['page']; $minPage = max($curr_page - $links_on_page, 1); $maxPage = min($curr_page + $links_on_page, $pagination['total']); if ($curr_page > 1) { $result .= generate_pagination_link($curr_page - 1, generate_pagination_image("prevpage", getlocal("tag.pagination.previous"))) . $pagination_spacing; } for ($i = $minPage; $i <= $maxPage; $i++) { $title = abs($curr_page - $i) >= $links_on_page && $i != 1 ? "..." : $i; if ($i != $curr_page) { $result .= generate_pagination_link($i, $title); } else { $result .= "<span class=\"pagecurrent\">{$title}</span>"; } if ($i < $maxPage) { $result .= $pagination_spacing; } } if ($curr_page < $pagination['total']) { $result .= $pagination_spacing . generate_pagination_link($curr_page + 1, generate_pagination_image("nextpage", getlocal("tag.pagination.next"))); } $result .= "</div>"; } return $result; }
/** * Builds HTML markup for pagination pager. * * @param array $pagination Pagination info. See description of the result of * pagination_info function for details. * @param bool $bottom Indicates if pager will be displayed at the bottom of a * page. * @return string HTML markup */ function generate_pagination($pagination, $bottom = true) { $result = getlocal('Page {0} of {1}, {2}-{3} from {4}', array($pagination['page'], $pagination['total'], $pagination['start'] + 1, $pagination['end'], $pagination['count'])) . "<br/>"; if ($pagination['total'] > 1) { if (!$bottom) { $result = ""; } else { $result .= "<br/>"; } $result .= "<div class='pagination'>"; $curr_page = $pagination['page']; $min_page = max($curr_page - PAGINATION_LINKS_ON_PAGE, 1); $max_page = min($curr_page + PAGINATION_LINKS_ON_PAGE, $pagination['total']); if ($curr_page > 1) { $result .= generate_pagination_link($curr_page - 1, generate_pagination_arrow("prev-page", getlocal("previous"))) . PAGINATION_SPACING; } for ($i = $min_page; $i <= $max_page; $i++) { $title = abs($curr_page - $i) >= PAGINATION_LINKS_ON_PAGE && $i != 1 ? "..." : $i; if ($i != $curr_page) { $result .= generate_pagination_link($i, $title); } else { $result .= "<span class=\"pagecurrent\">{$title}</span>"; } if ($i < $max_page) { $result .= PAGINATION_SPACING; } } if ($curr_page < $pagination['total']) { $result .= PAGINATION_SPACING . generate_pagination_link($curr_page + 1, generate_pagination_arrow("next-page", getlocal("next"))); } $result .= "</div>"; } return $result; }
function generate_pagination($pagination) { $result = Resources::Get('tag.pagination.info', array($pagination['page'], $pagination['total'], $pagination['start'] + 1, $pagination['end'], $pagination['count'])) . '<br/>'; if ($pagination['total'] > 1) { $result .= "<br/><div class='pagination'>"; $curr_page = $pagination['page']; $minPage = max($curr_page - LINKS_ON_PAGE, 1); $maxPage = min($curr_page + LINKS_ON_PAGE, $pagination['total']); if ($curr_page > 1) { $result .= generate_pagination_link($curr_page - 1, generate_pagination_image('prevpage')) . PAGINATION_SPACING; } for ($i = $minPage; $i <= $maxPage; ++$i) { $title = abs($curr_page - $i) >= LINKS_ON_PAGE && $i != 1 ? '...' : $i; if ($i != $curr_page) { $result .= generate_pagination_link($i, $title); } else { $result .= "<span class=\"pagecurrent\">{$title}</span>"; } if ($i < $maxPage) { $result .= PAGINATION_SPACING; } } if ($curr_page < $pagination['total']) { $result .= PAGINATION_SPACING . generate_pagination_link($curr_page + 1, generate_pagination_image('nextpage')); } $result .= '</div>'; } return $result; }