remote forking: use the original http/https url in description
[phorkie.git] / src / phorkie / Html / Pager.php
1 <?php
2 namespace phorkie;
3
4 class Html_Pager
5 {
6     protected $pager;
7
8     /**
9      * @param integer $currentPage Current page, beginning with 1
10      */
11     public function __construct($itemCount, $perPage, $currentPage, $filename)
12     {
13         $append = true;
14         if (strpos($filename, '%d') !== false) {
15             $append = false;
16         }
17         //fix non-static factory method error
18         error_reporting(error_reporting() & ~E_STRICT);
19         $this->pager = \Pager::factory(
20             array(
21                 'mode'        => 'Sliding',
22                 'perPage'     => $perPage,
23                 'delta'       => 2,
24                 'totalItems'  => $itemCount,
25                 'currentPage' => $currentPage,
26                 'urlVar'      => 'page',
27                 'append'      => $append,
28                 'path'        => '/',
29                 'fileName'    => $filename,
30                 'separator'   => '###',
31                 'spacesBeforeSeparator' => 0,
32                 'spacesAfterSeparator' => 0,
33                 'curPageSpanPre' => '',
34                 'curPageSpanPost' => '',
35                 'firstPagePre' => '',
36                 'firstPageText' => 'first',
37                 'firstPagePost' => '',
38                 'lastPagePre' => '',
39                 'lastPageText' => 'last',
40                 'lastPagePost' => '',
41                 'prevImg' => '« prev',
42                 'nextImg' => 'next »',
43             )
44         );
45     }
46
47
48     public function getLinks()
49     {
50         $arLinks = $this->pager->getLinks();
51         $arLinks['pages'] = explode('###', $arLinks['pages']);
52         return $arLinks;
53     }
54
55     public function numPages()
56     {
57         return $this->pager->numPages();
58     }
59 }
60
61 ?>