From d366d495d1e77b88fccc47a1bdf2220438bb0ddc Mon Sep 17 00:00:00 2001 From: cash Date: Thu, 9 Dec 2010 02:05:37 +0000 Subject: Updated pagination to use semantic html git-svn-id: http://code.elgg.org/elgg/trunk@7573 36083f99-b078-4883-b0ff-0f9b5a30f544 --- views/default/navigation/pagination.php | 151 +++++++++++++++++--------------- 1 file changed, 79 insertions(+), 72 deletions(-) (limited to 'views/default/navigation') diff --git a/views/default/navigation/pagination.php b/views/default/navigation/pagination.php index fc15470bc..9fcd8153e 100644 --- a/views/default/navigation/pagination.php +++ b/views/default/navigation/pagination.php @@ -12,99 +12,106 @@ * @uses string $vars['baseurl'] Base URL to use in links */ -$offset = (int) elgg_get_array_value('offset', $vars, 0); +if (elgg_in_context('widget')) { + // widgets do not show pagination + return true; +} + +$offset = abs((int) elgg_get_array_value('offset', $vars, 0)); // because you can say $vars['limit'] = 0 if (!$limit = (int) elgg_get_array_value('limit', $vars, 10)) { $limit = 10; } + $count = (int) elgg_get_array_value('count', $vars, 0); $word = elgg_get_array_value('word', $vars, 'offset'); -$baseurl = elgg_get_array_value('baseurl', $vars, current_page_url()); +$base_url = elgg_get_array_value('baseurl', $vars, current_page_url()); + +$num_pages = elgg_get_array_value('num_pages', $vars, 10); +$delta = ceil($num_pages / 2); -$totalpages = ceil($count / $limit); -$currentpage = ceil($offset / $limit) + 1; +if ($count <= $limit && $offset == 0) { + // no need for pagination + return true; +} -//only display if there is content to paginate through or if we already have an offset -if (($count > $limit || $offset > 0) && elgg_get_context() != 'widget') { +$total_pages = ceil($count / $limit); +$current_page = ceil($offset / $limit) + 1; + +$pages = new stdClass(); +$pages->prev = array( + 'text' => '« ' . elgg_echo('previous'), + 'href' => '', +); +$pages->next = array( + 'text' => elgg_echo('next') . ' »', + 'href' => '', +); +$pages->items = array(); + +// Add pages before the current page +if ($current_page > 1) { + $prev_offset = $offset - $limit; + if ($prev_offset < 0) { + $prev_offset = 0; + } - ?> + $pages->prev['href'] = elgg_http_add_url_query_elements($base_url, array($word => $prev_offset)); - - '; -- cgit v1.2.3