mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-06-02 04:15:05 +02:00
Create navigation_bar.tpl file.
Move create_navigation_bar function from functions_html.inc.php to functions.inc.php. git-svn-id: http://piwigo.org/svn/trunk@3172 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
@@ -73,153 +73,6 @@ function get_icon($date, $is_child_date = false)
|
||||
return $cache['get_icon']['_icons_'][$is_child_date];
|
||||
}
|
||||
|
||||
function create_navigation_bar(
|
||||
$url, $nb_element, $start, $nb_element_page, $clean_url = false
|
||||
)
|
||||
{
|
||||
global $conf;
|
||||
|
||||
$pages_around = $conf['paginate_pages_around'];
|
||||
$start_str = $clean_url ? '/start-' :
|
||||
( ( strpos($url, '?')===false ? '?':'&') . 'start=' );
|
||||
|
||||
$navbar = '';
|
||||
|
||||
// current page detection
|
||||
if (!isset($start)
|
||||
or !is_numeric($start)
|
||||
or (is_numeric($start) and $start < 0))
|
||||
{
|
||||
$start = 0;
|
||||
}
|
||||
|
||||
// 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);
|
||||
|
||||
// link to first page ?
|
||||
if ($cur_page != 1)
|
||||
{
|
||||
$navbar.=
|
||||
'<a href="'.$url.'" rel="first">'
|
||||
.l10n('first_page')
|
||||
.'</a>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$navbar.= l10n('first_page');
|
||||
}
|
||||
$navbar.= ' | ';
|
||||
// link on previous page ?
|
||||
if ($start != 0)
|
||||
{
|
||||
$previous = $start - $nb_element_page;
|
||||
|
||||
$navbar.=
|
||||
'<a href="'
|
||||
.$url.($previous > 0 ? $start_str.$previous : '')
|
||||
.'" rel="prev">'
|
||||
.l10n('previous_page')
|
||||
.'</a>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$navbar.= l10n('previous_page');
|
||||
}
|
||||
$navbar.= ' |';
|
||||
|
||||
if ($cur_page > $pages_around + 1)
|
||||
{
|
||||
$navbar.= ' <a href="'.$url.'">1</a>';
|
||||
|
||||
if ($cur_page > $pages_around + 2)
|
||||
{
|
||||
$navbar.= ' ...';
|
||||
}
|
||||
}
|
||||
|
||||
// inspired from punbb source code
|
||||
for ($i = $cur_page - $pages_around, $stop = $cur_page + $pages_around + 1;
|
||||
$i < $stop;
|
||||
$i++)
|
||||
{
|
||||
if ($i < 1 or $i > $maximum)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else if ($i != $cur_page)
|
||||
{
|
||||
$temp_start = ($i - 1) * $nb_element_page;
|
||||
|
||||
$navbar.=
|
||||
' '
|
||||
.'<a href="'.$url
|
||||
.($temp_start > 0 ? $start_str.$temp_start : '')
|
||||
.'">'
|
||||
.$i
|
||||
.'</a>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$navbar.=
|
||||
' '
|
||||
.'<span class="pageNumberSelected">'
|
||||
.$i
|
||||
.'</span>';
|
||||
}
|
||||
}
|
||||
|
||||
if ($cur_page < ($maximum - $pages_around))
|
||||
{
|
||||
$temp_start = ($maximum - 1) * $nb_element_page;
|
||||
|
||||
if ($cur_page < ($maximum - $pages_around - 1))
|
||||
{
|
||||
$navbar.= ' ...';
|
||||
}
|
||||
|
||||
$navbar.= ' <a href="'.$url.$start_str.$temp_start.'">'.$maximum.'</a>';
|
||||
}
|
||||
|
||||
$navbar.= ' | ';
|
||||
// link on next page ?
|
||||
if ($nb_element > $nb_element_page
|
||||
and $start + $nb_element_page < $nb_element)
|
||||
{
|
||||
$next = $start + $nb_element_page;
|
||||
|
||||
$navbar.=
|
||||
'<a href="'.$url.$start_str.$next.'" rel="next">'
|
||||
.l10n('next_page')
|
||||
.'</a>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$navbar.= l10n('next_page');
|
||||
}
|
||||
|
||||
$navbar.= ' | ';
|
||||
// link to last page ?
|
||||
if ($cur_page != $maximum)
|
||||
{
|
||||
$temp_start = ($maximum - 1) * $nb_element_page;
|
||||
|
||||
$navbar.=
|
||||
'<a href="'.$url.$start_str.$temp_start.'" rel="last">'
|
||||
.l10n('last_page')
|
||||
.'</a>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$navbar.= l10n('last_page');
|
||||
}
|
||||
}
|
||||
return $navbar;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns the list of categories as a HTML string
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user