";
//previous button
if ($page > 1)
$pagination.= "
« previous";
//pages
if ($lastpage < 7 + ($adjacents * 2)) //not enough pages to bother breaking it up
{
for ($counter = 1; $counter <= $lastpage; $counter++)
{
if ($counter == $page)
$pagination.= "
$counter";
else
$pagination.= "
$counter";
}
}
elseif($lastpage > 5 + ($adjacents * 2)) //enough pages to hide some
{
//close to beginning; only hide later pages
if($page < 1 + ($adjacents * 2))
{
for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
{
if ($counter == $page)
$pagination.= "
$counter";
else
$pagination.= "
$counter";
}
$pagination.= "...";
$pagination.= "
$lpm1";
$pagination.= "
$lastpage";
}
//in middle; hide some front and some back
elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
{
$pagination.= "
1";
$pagination.= "
2";
$pagination.= "...";
for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
{
if ($counter == $page)
$pagination.= "
$counter";
else
$pagination.= "
$counter";
}
$pagination.= "...";
$pagination.= "
$lpm1";
$pagination.= "
$lastpage";
}
//close to end; only hide early pages
else
{
$pagination.= "
1";
$pagination.= "
2";
$pagination.= "...";
for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
{
if ($counter == $page)
$pagination.= "
$counter";
else
$pagination.= "
$counter";
}
}
}
//next button
if ($page < $counter - 1)
$pagination.= "
next »";
$pagination.= "
";
}
return $pagination;
}
?>