100) {
$lastPage = 100;
}
$first = 2;
if ($lastPage > $size) {
if ($currentPage > $size + 2) {
$first = $currentPage - $size;
}
}
for ($i = $first; $i <= $lastPage && $i <= $currentPage + $size; $i++) {
$pages[] = $i;
}
if ($currentPage + $size < $lastPage) {
$pages[] = $lastPage;
}
$list = array();
if ($currentPage != 1) {
$list[] = '
'
. ''
. '<'
. ''
. '';
} else {
$list[] = '<';
}
$parent = null;
foreach ($pages as $page) {
if ($parent !== null && $parent !== $page - 1) {
$list[] = '...';
}
$parent = $page;
if ($currentPage == $page) {
$list[] = ''.$page.'';
} else {
$list[] = ''
.''
.$page
.''
.'';
}
}
if ($currentPage != $lastPage) {
$list[] = ''
. ''
. '>'
. ''
. '';
} else {
$list[] = '>';
}
return ''."\n".implode("\n", $list).'
';
}