diff options
Diffstat (limited to 'views/default/navigation/pagination.php')
| -rw-r--r-- | views/default/navigation/pagination.php | 37 |
1 files changed, 26 insertions, 11 deletions
diff --git a/views/default/navigation/pagination.php b/views/default/navigation/pagination.php index b8c576d43..04044c51c 100644 --- a/views/default/navigation/pagination.php +++ b/views/default/navigation/pagination.php @@ -8,7 +8,7 @@ * @uses int $vars['offset'] The offset in the list * @uses int $vars['limit'] Number of items per page * @uses int $vars['count'] Number of items in list - * @uses string $vars['baseurl'] Base URL to use in links + * @uses string $vars['base_url'] Base URL to use in links * @uses string $vars['offset_key'] The string to use for offet in the URL */ @@ -17,17 +17,25 @@ if (elgg_in_context('widget')) { return true; } -$offset = abs((int) elgg_get_array_value('offset', $vars, 0)); +$offset = abs((int) elgg_extract('offset', $vars, 0)); // because you can say $vars['limit'] = 0 -if (!$limit = (int) elgg_get_array_value('limit', $vars, 10)) { +if (!$limit = (int) elgg_extract('limit', $vars, 10)) { $limit = 10; } -$count = (int) elgg_get_array_value('count', $vars, 0); -$offset_key = elgg_get_array_value('offset_key', $vars, 'offset'); -$base_url = elgg_get_array_value('baseurl', $vars, current_page_url()); +$count = (int) elgg_extract('count', $vars, 0); +$offset_key = elgg_extract('offset_key', $vars, 'offset'); +// some views pass an empty string for base_url +if (isset($vars['base_url']) && $vars['base_url']) { + $base_url = $vars['base_url']; +} else if (isset($vars['baseurl']) && $vars['baseurl']) { + elgg_deprecated_notice("Use 'base_url' instead of 'baseurl' for the navigation/pagination view", 1.8); + $base_url = $vars['baseurl']; +} else { + $base_url = current_page_url(); +} -$num_pages = elgg_get_array_value('num_pages', $vars, 10); +$num_pages = elgg_extract('num_pages', $vars, 10); $delta = ceil($num_pages / 2); if ($count <= $limit && $offset == 0) { @@ -42,10 +50,12 @@ $pages = new stdClass(); $pages->prev = array( 'text' => '« ' . elgg_echo('previous'), 'href' => '', + 'is_trusted' => true, ); $pages->next = array( 'text' => elgg_echo('next') . ' »', 'href' => '', + 'is_trusted' => true, ); $pages->items = array(); @@ -94,16 +104,21 @@ if ($pages->prev['href']) { $link = elgg_view('output/url', $pages->prev); echo "<li>$link</li>"; } else { - echo "<li><span class=\"inactive\">{$pages->prev['text']}</span></li>"; + echo "<li class=\"elgg-state-disabled\"><span>{$pages->prev['text']}</span></li>"; } foreach ($pages->items as $page) { if ($page == $current_page) { - echo "<li><span class=\"active\">$page</span></li>"; + echo "<li class=\"elgg-state-selected\"><span>$page</span></li>"; } else { $page_offset = (($page - 1) * $limit); $url = elgg_http_add_url_query_elements($base_url, array($offset_key => $page_offset)); - echo "<li><a href=\"$url\">$page</a></li>"; + $link = elgg_view('output/url', array( + 'href' => $url, + 'text' => $page, + 'is_trusted' => true, + )); + echo "<li>$link</li>"; } } @@ -111,7 +126,7 @@ if ($pages->next['href']) { $link = elgg_view('output/url', $pages->next); echo "<li>$link</li>"; } else { - echo "<li><span class=\"inactive\">{$pages->next['text']}</span></li>"; + echo "<li class=\"elgg-state-disabled\"><span>{$pages->next['text']}</span></li>"; } echo '</ul>'; |
