Ignore:
Timestamp:
Mar 5, 2009, 10:08:04 PM (15 years ago)
Author:
patdenice
Message:

Create navigation_bar.tpl file.
Move create_navigation_bar function from functions_html.inc.php to functions.inc.php.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/functions_html.inc.php

    r3171 r3172  
    7474}
    7575
    76 function create_navigation_bar(
    77   $url, $nb_element, $start, $nb_element_page, $clean_url = false
    78   )
    79 {
    80   global $conf;
    81 
    82   $pages_around = $conf['paginate_pages_around'];
    83   $start_str = $clean_url ? '/start-' :
    84     ( ( strpos($url, '?')===false ? '?':'&') . 'start=' );
    85 
    86   $navbar = '';
    87 
    88   // current page detection
    89   if (!isset($start)
    90       or !is_numeric($start)
    91       or (is_numeric($start) and $start < 0))
    92   {
    93     $start = 0;
    94   }
    95 
    96   // navigation bar useful only if more than one page to display !
    97   if ($nb_element > $nb_element_page)
    98   {
    99     // current page and last page
    100     $cur_page = ceil($start / $nb_element_page) + 1;
    101     $maximum = ceil($nb_element / $nb_element_page);
    102 
    103     // link to first page ?
    104     if ($cur_page != 1)
    105     {
    106       $navbar.=
    107         '<a href="'.$url.'" rel="first">'
    108         .l10n('first_page')
    109         .'</a>';
    110     }
    111     else
    112     {
    113       $navbar.= l10n('first_page');
    114     }
    115     $navbar.= ' | ';
    116     // link on previous page ?
    117     if ($start != 0)
    118     {
    119       $previous = $start - $nb_element_page;
    120 
    121       $navbar.=
    122         '<a href="'
    123         .$url.($previous > 0 ? $start_str.$previous : '')
    124         .'" rel="prev">'
    125         .l10n('previous_page')
    126         .'</a>';
    127     }
    128     else
    129     {
    130       $navbar.= l10n('previous_page');
    131     }
    132     $navbar.= ' |';
    133 
    134     if ($cur_page > $pages_around + 1)
    135     {
    136       $navbar.= '&nbsp;<a href="'.$url.'">1</a>';
    137 
    138       if ($cur_page > $pages_around + 2)
    139       {
    140         $navbar.= ' ...';
    141       }
    142     }
    143 
    144     // inspired from punbb source code
    145     for ($i = $cur_page - $pages_around, $stop = $cur_page + $pages_around + 1;
    146          $i < $stop;
    147          $i++)
    148     {
    149       if ($i < 1 or $i > $maximum)
    150       {
    151         continue;
    152       }
    153       else if ($i != $cur_page)
    154       {
    155         $temp_start = ($i - 1) * $nb_element_page;
    156 
    157         $navbar.=
    158           '&nbsp;'
    159           .'<a href="'.$url
    160           .($temp_start > 0 ? $start_str.$temp_start : '')
    161           .'">'
    162           .$i
    163           .'</a>';
    164       }
    165       else
    166       {
    167         $navbar.=
    168           '&nbsp;'
    169           .'<span class="pageNumberSelected">'
    170           .$i
    171           .'</span>';
    172       }
    173     }
    174 
    175     if ($cur_page < ($maximum - $pages_around))
    176     {
    177       $temp_start = ($maximum - 1) * $nb_element_page;
    178 
    179       if ($cur_page < ($maximum - $pages_around - 1))
    180       {
    181         $navbar.= ' ...';
    182       }
    183 
    184       $navbar.= ' <a href="'.$url.$start_str.$temp_start.'">'.$maximum.'</a>';
    185     }
    186 
    187     $navbar.= ' | ';
    188     // link on next page ?
    189     if ($nb_element > $nb_element_page
    190         and $start + $nb_element_page < $nb_element)
    191     {
    192       $next = $start + $nb_element_page;
    193 
    194       $navbar.=
    195         '<a href="'.$url.$start_str.$next.'" rel="next">'
    196         .l10n('next_page')
    197         .'</a>';
    198     }
    199     else
    200     {
    201       $navbar.= l10n('next_page');
    202     }
    203 
    204     $navbar.= ' | ';
    205     // link to last page ?
    206     if ($cur_page != $maximum)
    207     {
    208       $temp_start = ($maximum - 1) * $nb_element_page;
    209 
    210       $navbar.=
    211         '<a href="'.$url.$start_str.$temp_start.'" rel="last">'
    212         .l10n('last_page')
    213         .'</a>';
    214     }
    215     else
    216     {
    217       $navbar.= l10n('last_page');
    218     }
    219   }
    220   return $navbar;
    221 }
    222 
    22376/**
    22477 * returns the list of categories as a HTML string
Note: See TracChangeset for help on using the changeset viewer.