From 9d1bff06979db47fce8398820903ce3c894f0ac9 Mon Sep 17 00:00:00 2001 From: patdenice Date: Fri, 6 Mar 2009 01:06:18 +0000 Subject: Code simplification of commit 3172 git-svn-id: http://piwigo.org/svn/trunk@3173 68402e56-0260-453c-a942-63ccdbb3a9ee --- admin/template/goto/navigation_bar.tpl | 56 ++++++++++++++-------------------- include/functions.inc.php | 38 ++++++++--------------- template/yoga/navigation_bar.tpl | 56 ++++++++++++++-------------------- 3 files changed, 58 insertions(+), 92 deletions(-) diff --git a/admin/template/goto/navigation_bar.tpl b/admin/template/goto/navigation_bar.tpl index 94c8ad05f..d21e7a031 100644 --- a/admin/template/goto/navigation_bar.tpl +++ b/admin/template/goto/navigation_bar.tpl @@ -1,39 +1,29 @@ {* $Id: navigation_bar.tpl 3145 2009-02-14 02:24:10Z patdenice $ *} \ No newline at end of file + {if isset($navbar.URL_NEXT)} + | + | {'last_page'|@translate} + {else} + | {'next_page'|@translate} + | {'last_page'|@translate} + {/if} + diff --git a/include/functions.inc.php b/include/functions.inc.php index 3f43b943a..2e72eb2cb 100644 --- a/include/functions.inc.php +++ b/include/functions.inc.php @@ -1501,6 +1501,7 @@ function create_navigation_bar($url, $nb_element, $start, $nb_element_page, $cle { global $conf; + $navbar = array(); $pages_around = $conf['paginate_pages_around']; $start_str = $clean_url ? '/start-' : (strpos($url, '?')===false ? '?':'&').'start='; @@ -1509,54 +1510,39 @@ function create_navigation_bar($url, $nb_element, $start, $nb_element_page, $cle $start = 0; } - $navbar = array(); - // navigation bar useful only if more than one page to display ! if ($nb_element > $nb_element_page) { - // current page and last page $cur_page = ceil($start / $nb_element_page) + 1; $maximum = ceil($nb_element / $nb_element_page); + $previous = $start - $nb_element_page; + $next = $start + $nb_element_page; + $last = ($maximum - 1) * $nb_element_page; $navbar['CURRENT_PAGE'] = $cur_page; - // link to first page ? + // link to first page and previous page? if ($cur_page != 1) { $navbar['URL_FIRST'] = $url; - } - // link on previous page ? - if ($start != 0) - { - $previous = $start - $nb_element_page; $navbar['URL_PREV'] = $url.($previous > 0 ? $start_str.$previous : ''); } - // link on next page ? - if ($nb_element > $nb_element_page and $start + $nb_element_page < $nb_element) - { - $next = $start + $nb_element_page; - $navbar['URL_NEXT'] = $url.$start_str.$next; - } - // link to last page ? + // link on next page and last page? if ($cur_page != $maximum) { - $temp_start = ($maximum - 1) * $nb_element_page; - $navbar['URL_LAST'] = $url.$start_str.$temp_start; + $navbar['URL_NEXT'] = $url.$start_str.$next; + $navbar['URL_LAST'] = $url.$start_str.$last; } // pages to display $navbar['pages'] = array(); - $navbar['pages'][1] = $url; - $navbar['pages'][$maximum] = $url.$start_str. ($maximum - 1) * $nb_element_page; + $navbar['pages'][$maximum] = $url.$start_str.$last; - for ($i = $cur_page - $pages_around, $stop = $cur_page + $pages_around + 1; $i < $stop; $i++) + for ($i = max($cur_page - $pages_around , 2), $stop = min($cur_page + $pages_around + 1, $maximum); + $i < $stop; $i++) { - if ($i < 2 or $i > $maximum - 1) - { - continue; - } - $navbar['pages'][$i] = $url.$start_str. ($i - 1) * $nb_element_page; + $navbar['pages'][$i] = $url.$start_str.(($i - 1) * $nb_element_page); } ksort($navbar['pages']); } diff --git a/template/yoga/navigation_bar.tpl b/template/yoga/navigation_bar.tpl index 94c8ad05f..d21e7a031 100644 --- a/template/yoga/navigation_bar.tpl +++ b/template/yoga/navigation_bar.tpl @@ -1,39 +1,29 @@ {* $Id: navigation_bar.tpl 3145 2009-02-14 02:24:10Z patdenice $ *} \ No newline at end of file + {if isset($navbar.URL_NEXT)} + | + | {'last_page'|@translate} + {else} + | {'next_page'|@translate} + | {'last_page'|@translate} + {/if} + -- cgit v1.2.3