Source for file func.pagination.php
Documentation is available at func.pagination.php
* @param string $type тип постраничной навигации,
* допустимые значения: page, apage, artpage
* @return int номер текущей страницы
if (!in_array($type, array('page', 'apage', 'artpage'))) return 1;
$page =
(isset
($_REQUEST[$type]) &&
is_numeric($_REQUEST[$type])) ?
$_REQUEST[$type] :
1;
* Постраничная навигация для запросов и модулей
* @param int $total_pages количество страниц в документе
* @param string $type тип постраничной навигации,
* допустимые значения: page, apage, artpage
* @param string $template_label шаблон метки навигации
* @param string $navi_box контейнер постраничной навигации
* @return string HTML-код постраничной навигации
function get_pagination($total_pages, $type, $template_label, $navi_box =
'')
if (!in_array($type, array('page', 'apage', 'artpage'))) $type =
'page';
if ($curent_page ==
1) $seiten =
array ($curent_page, $curent_page+
1, $curent_page+
2, $curent_page+
3, $curent_page+
4);
elseif ($curent_page ==
2) $seiten =
array ($curent_page-
1, $curent_page, $curent_page+
1, $curent_page+
2, $curent_page+
3);
elseif ($curent_page+
1 ==
$total_pages) $seiten =
array ($curent_page-
3, $curent_page-
2, $curent_page-
1, $curent_page, $curent_page+
1);
elseif ($curent_page ==
$total_pages) $seiten =
array ($curent_page-
4, $curent_page-
3, $curent_page-
2, $curent_page-
1, $curent_page);
else $seiten =
array ($curent_page-
2, $curent_page-
1, $curent_page, $curent_page+
1, $curent_page+
2);
if ($total_pages >
5 &&
$curent_page >
3)
$nav .=
str_replace('{t}', $start_label, str_replace(array('&'.
$type.
'={s}','&'.
$type.
'={s}'), '', $template_label));
if ($separator_label !=
'') $nav .=
'<span>' .
$separator_label .
'</span>';
$nav .=
str_replace('{t}', $prev_label, str_replace(array('&'.
$type.
'={s}','&'.
$type.
'={s}'), '', $template_label));
// while (list(,$val) = each($seiten))
if ($val >=
1 &&
$val <=
$total_pages)
if ($curent_page ==
$val)
$nav .=
str_replace(array('{s}', '{t}'), $val, '<span class="curent_page">' .
$curent_page .
'</span>');
$nav .=
str_replace('{t}', $val, str_replace(array('&'.
$type.
'={s}','&'.
$type.
'={s}'), '', $template_label));
$nav .=
str_replace(array('{s}', '{t}'), $val, $template_label);
if ($curent_page <
$total_pages)
if ($total_pages >
5 &&
($curent_page <
$total_pages-
2))
if ($separator_label !=
'') $nav .=
'<span>' .
$separator_label .
'</span>';
if ($total_label !=
'') $nav =
'<span class="pages">' .
sprintf($total_label, $curent_page, $total_pages) .
'</span> ' .
$nav;
if ($navi_box !=
'') $nav =
sprintf($navi_box, $nav);
Documentation generated on Fri, 04 Jun 2010 18:02:28 +0400 by phpDocumentor 1.4.3