EDIT:
I couldn't figure out a good approach so I came up with this horrible code:
if ($page != 1) {
if ($page > 5) {
$sdot = '....';
} else {
$sdot = '';
}
echo '<a href="?page=1" class="page" >First</a>'.$sdot ;
}
if ($page < 5) {
for ($i=1; $i<=5; $i++) {
echo '<a href="?page='.$i.'">'.$i.'</a>';
}
} elseif (($page > 5) && ($page < ($count-5))) {
for ($i=($page-2); $i<=($page+2); $i++) {
echo '<a href="?page='.$i.'">'.$i.'</a>';
}
} elseif (($page > ($count-7)) && ($page < ($count-2))) {
for ($i=($page-2); $i<=($page+2); $i++) {
echo '<a href="?page='.$i.'">'.$i.'</a>';
}
} else {
for ($i=($page-2); $i<=$count; $i++) {
echo '<a href="?page='.$i.'">'.$i.'</a>';
}
}
if ($page != $count) {
if ($page < ($count-2)) {
$edot = '....';
} else {
$edot = '';
}
echo $edot.'<a href="?page='.$count.'" class="page">Last</a>';
}