2 define(MAX_SELECTABLE_PAGES
, 10);
6 function __construct($baseUrl, $itemsPerPage, $itemsCount)
8 settype($this->pageCount
, "integer");
9 settype($itemsCount, "integer");
10 settype($itemsPerPage, "integer");
12 $this->baseUrl
= $baseUrl;
13 $this->pageCount
= $itemsCount / $itemsPerPage;
16 function getLinks($page_number)
18 settype($page_number, "integer");
19 settype($p, "integer");
20 settype($first, "integer");
21 settype($last, "integer");
24 $first = $page_number - (MAX_SELECTABLE_PAGES
/ 2);
25 $first = $first > 0 ?
$first : 1 ;
26 $last = $first + MAX_SELECTABLE_PAGES
;
27 $last = $last < $this->pageCount ?
$last : $this->pageCount
;
29 if ($page_number > 1) {
30 $links['previous'] = $this->baseUrl
. ($page_number - 1);
32 for ($p=$first; $p <= $last; $p++
) {
33 if ($p == $page_number) {
36 $links[$p] = $this->baseUrl
. $p;
39 if ($page_number < $this->pageCount
) {
40 $links['next'] = $this->baseUrl
. ($page_number +
1);