5 && $curent_page > 3) { $first = str_replace('data-pagination="{s}"', 'data-pagination="1"', $template_label); $nav .= sprintf($link_box, str_replace(array('{s}', '{t}'), $start_label, str_replace(array('&'. $type .'={s}', '&' . $type .'={s}', '/' . $type . '-{s}'), '', $first))); if ($separator_label != '') $nav .= sprintf($separator_box, $separator_label); } // Предыдущая if ($curent_page > 1) { if ($curent_page - 1 == 1) $nav .= sprintf($link_box, str_replace(array('{s}', '{t}'), $prev_label, str_replace(array('&'. $type .'={s}', '&' . $type .'={s}', '/' . $type . '-{s}'), '', $template_label))); else $nav .= sprintf($link_box, str_replace('{t}', $prev_label, str_replace('{s}', ($curent_page - 1), $template_label))); } foreach($pages as $val) { if ($val >= 1 && $val <= $total_pages) { if ($curent_page == $val) { // Текущий номер страницы (активная страница) $nav .= sprintf($link_box, sprintf($active_box, str_replace(array('{s}', '{t}'), $val, $curent_page))); } else { if ($val == 1) { // Страница номер 1 $nav .= sprintf($link_box, str_replace(array('{s}', '{t}'), $val, str_replace(array('&'.$type.'={s}','&'.$type.'={s}','/'.$type.'-{s}'), '', $template_label))); } else { // Остальные неактивные номера страниц $nav .= sprintf($link_box, str_replace(array('{s}', '{t}'), $val, $template_label)); } } } } // Следующая if ($curent_page < $total_pages) { $nav .= sprintf($link_box, str_replace('{t}', $next_label, str_replace('{s}', ($curent_page + 1), $template_label))); } // Последняя if ($total_pages > 5 && ($curent_page < $total_pages-2)) { if ($separator_label != '') $nav .= sprintf($separator_box, $separator_label); $nav .= sprintf($link_box, str_replace('{t}', $end_label, str_replace('{s}', $total_pages, $template_label))); } // Страница ХХХ из ХХХ if ($nav != '') { if ($total_label != '') $nav = sprintf($total_box, sprintf($total_label, $curent_page, $total_pages)) . $nav; // Оборачиваем в общий контейнер if ($navi_box != '') $nav = sprintf($navi_box, $nav); } return $nav; } ?>