diff options
Diffstat (limited to 'kohana/views/pagination')
-rw-r--r-- | kohana/views/pagination/classic.php | 39 | ||||
-rw-r--r-- | kohana/views/pagination/digg.php | 83 | ||||
-rw-r--r-- | kohana/views/pagination/extended.php | 27 | ||||
-rw-r--r-- | kohana/views/pagination/punbb.php | 37 |
4 files changed, 186 insertions, 0 deletions
diff --git a/kohana/views/pagination/classic.php b/kohana/views/pagination/classic.php new file mode 100644 index 00000000..79299211 --- /dev/null +++ b/kohana/views/pagination/classic.php @@ -0,0 +1,39 @@ +<?php +/** + * Classic pagination style + * + * @preview ‹ First < 1 2 3 > Last › + */ +?> + +<p class="pagination"> + + <?php if ($first_page): ?> + <a href="<?php echo str_replace('{page}', 1, $url) ?>">‹ <?php echo Kohana::lang('pagination.first') ?></a> + <?php endif ?> + + <?php if ($previous_page): ?> + <a href="<?php echo str_replace('{page}', $previous_page, $url) ?>"><</a> + <?php endif ?> + + + <?php for ($i = 1; $i <= $total_pages; $i++): ?> + + <?php if ($i == $current_page): ?> + <strong><?php echo $i ?></strong> + <?php else: ?> + <a href="<?php echo str_replace('{page}', $i, $url) ?>"><?php echo $i ?></a> + <?php endif ?> + + <?php endfor ?> + + + <?php if ($next_page): ?> + <a href="<?php echo str_replace('{page}', $next_page, $url) ?>">></a> + <?php endif ?> + + <?php if ($last_page): ?> + <a href="<?php echo str_replace('{page}', $last_page, $url) ?>"><?php echo Kohana::lang('pagination.last') ?> ›</a> + <?php endif ?> + +</p>
\ No newline at end of file diff --git a/kohana/views/pagination/digg.php b/kohana/views/pagination/digg.php new file mode 100644 index 00000000..888da48f --- /dev/null +++ b/kohana/views/pagination/digg.php @@ -0,0 +1,83 @@ +<?php +/** + * Digg pagination style + * + * @preview « Previous 1 2 … 5 6 7 8 9 10 11 12 13 14 … 25 26 Next » + */ +?> + +<p class="pagination"> + + <?php if ($previous_page): ?> + <a href="<?php echo str_replace('{page}', $previous_page, $url) ?>">« <?php echo Kohana::lang('pagination.previous') ?></a> + <?php else: ?> + « <?php echo Kohana::lang('pagination.previous') ?> + <?php endif ?> + + + <?php if ($total_pages < 13): /* « Previous 1 2 3 4 5 6 7 8 9 10 11 12 Next » */ ?> + + <?php for ($i = 1; $i <= $total_pages; $i++): ?> + <?php if ($i == $current_page): ?> + <strong><?php echo $i ?></strong> + <?php else: ?> + <a href="<?php echo str_replace('{page}', $i, $url) ?>"><?php echo $i ?></a> + <?php endif ?> + <?php endfor ?> + + <?php elseif ($current_page < 9): /* « Previous 1 2 3 4 5 6 7 8 9 10 … 25 26 Next » */ ?> + + <?php for ($i = 1; $i <= 10; $i++): ?> + <?php if ($i == $current_page): ?> + <strong><?php echo $i ?></strong> + <?php else: ?> + <a href="<?php echo str_replace('{page}', $i, $url) ?>"><?php echo $i ?></a> + <?php endif ?> + <?php endfor ?> + + … + <a href="<?php echo str_replace('{page}', $total_pages - 1, $url) ?>"><?php echo $total_pages - 1 ?></a> + <a href="<?php echo str_replace('{page}', $total_pages, $url) ?>"><?php echo $total_pages ?></a> + + <?php elseif ($current_page > $total_pages - 8): /* « Previous 1 2 … 17 18 19 20 21 22 23 24 25 26 Next » */ ?> + + <a href="<?php echo str_replace('{page}', 1, $url) ?>">1</a> + <a href="<?php echo str_replace('{page}', 2, $url) ?>">2</a> + … + + <?php for ($i = $total_pages - 9; $i <= $total_pages; $i++): ?> + <?php if ($i == $current_page): ?> + <strong><?php echo $i ?></strong> + <?php else: ?> + <a href="<?php echo str_replace('{page}', $i, $url) ?>"><?php echo $i ?></a> + <?php endif ?> + <?php endfor ?> + + <?php else: /* « Previous 1 2 … 5 6 7 8 9 10 11 12 13 14 … 25 26 Next » */ ?> + + <a href="<?php echo str_replace('{page}', 1, $url) ?>">1</a> + <a href="<?php echo str_replace('{page}', 2, $url) ?>">2</a> + … + + <?php for ($i = $current_page - 5; $i <= $current_page + 5; $i++): ?> + <?php if ($i == $current_page): ?> + <strong><?php echo $i ?></strong> + <?php else: ?> + <a href="<?php echo str_replace('{page}', $i, $url) ?>"><?php echo $i ?></a> + <?php endif ?> + <?php endfor ?> + + … + <a href="<?php echo str_replace('{page}', $total_pages - 1, $url) ?>"><?php echo $total_pages - 1 ?></a> + <a href="<?php echo str_replace('{page}', $total_pages, $url) ?>"><?php echo $total_pages ?></a> + + <?php endif ?> + + + <?php if ($next_page): ?> + <a href="<?php echo str_replace('{page}', $next_page, $url) ?>"><?php echo Kohana::lang('pagination.next') ?> »</a> + <?php else: ?> + <?php echo Kohana::lang('pagination.next') ?> » + <?php endif ?> + +</p>
\ No newline at end of file diff --git a/kohana/views/pagination/extended.php b/kohana/views/pagination/extended.php new file mode 100644 index 00000000..7e4fa389 --- /dev/null +++ b/kohana/views/pagination/extended.php @@ -0,0 +1,27 @@ +<?php +/** + * Extended pagination style + * + * @preview « Previous | Page 2 of 11 | Showing items 6-10 of 52 | Next » + */ +?> + +<p class="pagination"> + + <?php if ($previous_page): ?> + <a href="<?php echo str_replace('{page}', $previous_page, $url) ?>">« <?php echo Kohana::lang('pagination.previous') ?></a> + <?php else: ?> + « <?php echo Kohana::lang('pagination.previous') ?> + <?php endif ?> + + | <?php echo Kohana::lang('pagination.page') ?> <?php echo $current_page ?> <?php echo Kohana::lang('pagination.of') ?> <?php echo $total_pages ?> + + | <?php echo Kohana::lang('pagination.items') ?> <?php echo $current_first_item ?>–<?php echo $current_last_item ?> <?php echo Kohana::lang('pagination.of') ?> <?php echo $total_items ?> + + | <?php if ($next_page): ?> + <a href="<?php echo str_replace('{page}', $next_page, $url) ?>"><?php echo Kohana::lang('pagination.next') ?> »</a> + <?php else: ?> + <?php echo Kohana::lang('pagination.next') ?> » + <?php endif ?> + +</p>
\ No newline at end of file diff --git a/kohana/views/pagination/punbb.php b/kohana/views/pagination/punbb.php new file mode 100644 index 00000000..3bb62676 --- /dev/null +++ b/kohana/views/pagination/punbb.php @@ -0,0 +1,37 @@ +<?php +/** + * PunBB pagination style + * + * @preview Pages: 1 … 4 5 6 7 8 … 15 + */ +?> + +<p class="pagination"> + + <?php echo Kohana::lang('pagination.pages') ?>: + + <?php if ($current_page > 3): ?> + <a href="<?php echo str_replace('{page}', 1, $url) ?>">1</a> + <?php if ($current_page != 4) echo '…' ?> + <?php endif ?> + + + <?php for ($i = $current_page - 2, $stop = $current_page + 3; $i < $stop; ++$i): ?> + + <?php if ($i < 1 OR $i > $total_pages) continue ?> + + <?php if ($current_page == $i): ?> + <strong><?php echo $i ?></strong> + <?php else: ?> + <a href="<?php echo str_replace('{page}', $i, $url) ?>"><?php echo $i ?></a> + <?php endif ?> + + <?php endfor ?> + + + <?php if ($current_page <= $total_pages - 3): ?> + <?php if ($current_page != $total_pages - 3) echo '…' ?> + <a href="<?php echo str_replace('{page}', $total_pages, $url) ?>"><?php echo $total_pages ?></a> + <?php endif ?> + +</p>
\ No newline at end of file |