aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--admin/template/goto/navigation_bar.tpl56
-rw-r--r--include/functions.inc.php38
-rw-r--r--template/yoga/navigation_bar.tpl56
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 $ *}
<div class="navigationBar">
+ {if isset($navbar.URL_FIRST)}
+ <a href="{$navbar.URL_FIRST}" rel="first">{'first_page'|@translate}</a> |
+ <a href="{$navbar.URL_PREV}" rel="prev">{'previous_page'|@translate}</a> |
+ {else}
+ {'first_page'|@translate} |
+ {'previous_page'|@translate} |
+ {/if}
-{if isset($navbar.URL_FIRST)}
-<a href="{$navbar.URL_FIRST}" rel="first">{'first_page'|@translate}</a>
-{else}
-{'first_page'|@translate}
-{/if}
-|
-{if isset($navbar.URL_PREV)}
-<a href="{$navbar.URL_PREV}" rel="prev">{'previous_page'|@translate}</a>
-{else}
-{'previous_page'|@translate}
-{/if}
-|
-{assign var='prev_page' value=0}
-{foreach from=$navbar.pages key=page item=url}
- {if $page > $prev_page+1} ... {/if}
- {if $page == $navbar.CURRENT_PAGE}
+ {assign var='prev_page' value=0}
+ {foreach from=$navbar.pages key=page item=url}
+ {if $page > $prev_page+1}...{/if}
+ {if $page == $navbar.CURRENT_PAGE}
<span class="pageNumberSelected">{$page}</span>
- {else}
+ {else}
<a href="{$url}">{$page}</a>
- {/if}
-{assign var='prev_page' value=$page}
-{/foreach}
-|
-{if isset($navbar.URL_NEXT)}
-<a href="{$navbar.URL_NEXT}" rel="next">{'next_page'|@translate}</a>
-{else}
-{'next_page'|@translate}
-{/if}
-|
-{if isset($navbar.URL_LAST)}
-<a href="{$navbar.URL_LAST}" rel="last">{'last_page'|@translate}</a>
-{else}
-{'last_page'|@translate}
-{/if}
+ {/if}
+ {assign var='prev_page' value=$page}
+ {/foreach}
-</div> \ No newline at end of file
+ {if isset($navbar.URL_NEXT)}
+ | <a href="{$navbar.URL_NEXT}" rel="next">{'next_page'|@translate}</a>
+ | <a href="{$navbar.URL_LAST}" rel="last">{'last_page'|@translate}</a>
+ {else}
+ | {'next_page'|@translate}
+ | {'last_page'|@translate}
+ {/if}
+</div>
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 ? '?':'&amp;').'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 $ *}
<div class="navigationBar">
+ {if isset($navbar.URL_FIRST)}
+ <a href="{$navbar.URL_FIRST}" rel="first">{'first_page'|@translate}</a> |
+ <a href="{$navbar.URL_PREV}" rel="prev">{'previous_page'|@translate}</a> |
+ {else}
+ {'first_page'|@translate} |
+ {'previous_page'|@translate} |
+ {/if}
-{if isset($navbar.URL_FIRST)}
-<a href="{$navbar.URL_FIRST}" rel="first">{'first_page'|@translate}</a>
-{else}
-{'first_page'|@translate}
-{/if}
-|
-{if isset($navbar.URL_PREV)}
-<a href="{$navbar.URL_PREV}" rel="prev">{'previous_page'|@translate}</a>
-{else}
-{'previous_page'|@translate}
-{/if}
-|
-{assign var='prev_page' value=0}
-{foreach from=$navbar.pages key=page item=url}
- {if $page > $prev_page+1} ... {/if}
- {if $page == $navbar.CURRENT_PAGE}
+ {assign var='prev_page' value=0}
+ {foreach from=$navbar.pages key=page item=url}
+ {if $page > $prev_page+1}...{/if}
+ {if $page == $navbar.CURRENT_PAGE}
<span class="pageNumberSelected">{$page}</span>
- {else}
+ {else}
<a href="{$url}">{$page}</a>
- {/if}
-{assign var='prev_page' value=$page}
-{/foreach}
-|
-{if isset($navbar.URL_NEXT)}
-<a href="{$navbar.URL_NEXT}" rel="next">{'next_page'|@translate}</a>
-{else}
-{'next_page'|@translate}
-{/if}
-|
-{if isset($navbar.URL_LAST)}
-<a href="{$navbar.URL_LAST}" rel="last">{'last_page'|@translate}</a>
-{else}
-{'last_page'|@translate}
-{/if}
+ {/if}
+ {assign var='prev_page' value=$page}
+ {/foreach}
-</div> \ No newline at end of file
+ {if isset($navbar.URL_NEXT)}
+ | <a href="{$navbar.URL_NEXT}" rel="next">{'next_page'|@translate}</a>
+ | <a href="{$navbar.URL_LAST}" rel="last">{'last_page'|@translate}</a>
+ {else}
+ | {'next_page'|@translate}
+ | {'last_page'|@translate}
+ {/if}
+</div>