tout fonctionne. mais pas tres bien. je dois encore ameliorer l'ihm
[bazdig.git] / lib / pageselector.php
blob1afd77b80e4c1d6210705d00c7f922d3b7d943ca
1 <?php
2 define(MAX_SELECTABLE_PAGES, 10);
4 class PageSelector
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");
23 $links = array();
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) {
34 $links[$p] = '#';
35 } else {
36 $links[$p] = $this->baseUrl . $p;
39 if ($page_number < $this->pageCount) {
40 $links['next'] = $this->baseUrl . ($page_number + 1);
43 return $links;