Changeset 3172 for trunk/include/functions_html.inc.php
- Timestamp:
- Mar 5, 2009, 10:08:04 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/functions_html.inc.php
r3171 r3172 74 74 } 75 75 76 function create_navigation_bar(77 $url, $nb_element, $start, $nb_element_page, $clean_url = false78 )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 detection89 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 page100 $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 else112 {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 else129 {130 $navbar.= l10n('previous_page');131 }132 $navbar.= ' |';133 134 if ($cur_page > $pages_around + 1)135 {136 $navbar.= ' <a href="'.$url.'">1</a>';137 138 if ($cur_page > $pages_around + 2)139 {140 $navbar.= ' ...';141 }142 }143 144 // inspired from punbb source code145 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 ' '159 .'<a href="'.$url160 .($temp_start > 0 ? $start_str.$temp_start : '')161 .'">'162 .$i163 .'</a>';164 }165 else166 {167 $navbar.=168 ' '169 .'<span class="pageNumberSelected">'170 .$i171 .'</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_page190 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 else200 {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 else216 {217 $navbar.= l10n('last_page');218 }219 }220 return $navbar;221 }222 223 76 /** 224 77 * returns the list of categories as a HTML string
Note: See TracChangeset
for help on using the changeset viewer.