/* 1) 1 2 3 *4 5 6 7 2) *1 2 3 4 5 6 7 ... 29 30 3) 1 2 ... 24 25 26 27 28 *29 30 4) 1 2 ... 11 12 13 *14 15 16 17 ... 29 30 */ function pa($s,$f,$m) { $r="\n"; for ($i=$s; $i<=$f; $i++) { if ($i==$m) { $r.=" $i"; } else { $r.=" [$i]"; }; }; return $r; }; function pg($n,$m=1) { $r=""; /* numero de paginas até 9 */ /* 1 */ if ($n<=9) { $r.=pa(1,$n,$m); } else { /* número de páginas maior que 7, três possibilidades */ /* 2) a página atual esta entre os 7 primeiros */ if ($m<=7) { /* até o 7 */ $r.=pa(1,8,$m); /* acima de 7 coloca os dois ultimos */ $r.=" ... [".($n-1)."] [$n]"; } else { /* 3) página atual esta entre os 7 ultimos */ if ($m>=($n-6)) { /* os dois primeiros */ $r.="[1] [2] ..."; /* o fim */ $r.=pa(($n-7),$n,$m); } else { /* 4) pagina atual esta entre o 8 eo $n-7 */ /* o inicio */ $r.="[1] [2] ..."; /* o meio ... */ $r.=pa(($m-3),($m+3),$m); /* o fim */ $r.=" ... [".($n-1)."] [$n]"; }; }; }; return $r; }; $m=1; if (isset($_GET[m])) { $m=trim($_GET[m]); }; echo "