Files
zurawik.pl/core/plugins/Smarty/function.insertPagination.php
2026-05-15 18:33:51 +02:00

104 lines
3.1 KiB
PHP

<?php
/**
* @author krku
*/
include_once(PATH_SMARTY_PLUGINS . '/' . 'function.url.php');
function smarty_function_insertPagination($params, &$smarty) {
//Utils::ArrayDisplay($params);
$max = $smarty->get_template_vars('iloscStron');
if ($max <= 1) {
return '';
}
$cur = $smarty->get_template_vars('strona');
$display = (isset($params['_display']) ? $params['_display'] : 6);
$params['_current'] = true;
//echo $params['_class'];
$ret = '<div class="' . (isset($params['_class']) ? $params['_class'] : 'pagination') . '">';
$start = max(1, min($max - 2, $cur));
$to = min($max + 1, $start + $display);
//Utils::ArrayDisplay($params);
$ajax = $smarty->get_template_vars('ajax');
if ($ajax) {
if ($cur > 0) {
$params['strona'] = ($cur != 1 ? $cur : false);
$ret .= ' <a href="' . smarty_function_url($params, $smarty) . '" onClick="'.$ajax.'; return false;" title="Przejdź na poprzednią stronę">Poprzednia Strona</a> ';
}
$params['strona'] = false;
if ($cur >= $display - 1) {
$ret .= ' <a href="' . smarty_function_url($params, $smarty) . '" onClick="'.$ajax.'; return false;" title="Przejdź na pierwszą stronę">1</a> ... ';
}
for ($i = $start; $i < $to ; $i++) {
$params['strona'] = ( $i == 1 ? false : $i );
if ($cur == $i - 1) {
$ret .= ' <a class="active" href="#">' . $i . '</a> ';
} else {
$ret .= ' <a href="' . smarty_function_url($params, $smarty) . '" onClick="'.$ajax.'; return false;" title="Przejdź na stronę ' . $i . '">' . $i . '</a> ';
}
}
$params['strona'] = $max;
if ($cur < $max) {
$ret .= ' z <a href="' . smarty_function_url($params, $smarty) . '" onClick="'.$ajax.'; return false;" title="Przejdź na ostatnią stronę">' . $max . '</a>';
}
if ($cur + 1 != $max) {
$params['strona'] = $cur + 2;
$ret .= ' <a href="' . smarty_function_url($params, $smarty) . '" onClick="'.$ajax.'; return false;" title="Przejdź na następną stronę">Następna Strona</a> ';
}
} else {
if ($cur > 0) {
$params['strona'] = ($cur != 1 ? $cur : false);
$ret .= ' <a href="' . smarty_function_url($params, $smarty) . '" title="Przejdź na poprzednią stronę">Poprzednia Strona</a> ';
}
$params['strona'] = false;
if ($cur >= $display - 1) {
$ret .= ' <a href="' . smarty_function_url($params, $smarty) . '" title="Przejdź na pierwszą stronę">1</a> ... ';
}
for ($i = $start; $i < $to ; $i++) {
$params['strona'] = ( $i == 1 ? false : $i );
if ($cur == $i - 1) {
$ret .= ' <a class="active" href="#">' . $i . '</a> ';
} else {
$ret .= ' <a href="' . smarty_function_url($params, $smarty) . '" title="Przejdź na stronę ' . $i . '">' . $i . '</a> ';
}
}
$params['strona'] = $max;
if ($cur < $max) {
$ret .= ' z <a href="' . smarty_function_url($params, $smarty) . '" title="Przejdź na ostatnią stronę">' . $max . '</a>';
}
if ($cur + 1 != $max) {
$params['strona'] = $cur + 2;
$ret .= ' <a href="' . smarty_function_url($params, $smarty) . '" title="Przejdź na następną stronę">Następna Strona</a> ';
}
}
$ret .= "</div>";
return $ret;
}
?>