Te ayudo con la lógica:
Cuántos enlaces vas a mostrar?, digamos que 20, toma la página actual y réstale 10
Código:
inicio = pagActual - 10
si(inicio < 1) {
inicio = 1
}
fin = inicio + 20
si(fin > paginaMaxima) {
fin = paginaMaxima
inicio = fin - 20
}
1. Enlace a página inicial y anterior solo si no estás en la primera página
2. Muestra los enlaces disponibles con for(i = inicio, i <= fin, i++)
3. Enlace a página siguiente y final solo si no estás en la última página