diff options
| author | Christian Weiske <cweiske@cweiske.de> | 2016-02-03 06:21:30 +0100 |
|---|---|---|
| committer | Christian Weiske <cweiske@cweiske.de> | 2016-02-03 06:21:30 +0100 |
| commit | 226508cd8d3e8c147ad314a0de483e08be71c254 (patch) | |
| tree | 4142696d28830efa13835be79fd3ee888a4ab0a4 /src/phinde/Html/Pager.php | |
| parent | 7b4425b096fa8c18d0db9fd9b1ae96d63ee8af55 (diff) | |
| download | phinde-226508cd8d3e8c147ad314a0de483e08be71c254.tar.gz phinde-226508cd8d3e8c147ad314a0de483e08be71c254.zip | |
first frontend
Diffstat (limited to 'src/phinde/Html/Pager.php')
| -rw-r--r-- | src/phinde/Html/Pager.php | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/src/phinde/Html/Pager.php b/src/phinde/Html/Pager.php new file mode 100644 index 0000000..a14a53d --- /dev/null +++ b/src/phinde/Html/Pager.php @@ -0,0 +1,66 @@ +<?php +namespace phinde; + +class Html_Pager +{ + protected $pager; + + /** + * Create a new pager + * + * @param integer $itemCount Number of items in total + * @param integer $perPage Number of items on one page + * @param integer $currentPage Current page, beginning with 1 + * @param string $filename URL the page number shall be appended + */ + public function __construct($itemCount, $perPage, $currentPage, $filename) + { + $append = true; + if (strpos($filename, '%d') !== false) { + $append = false; + } + //fix non-static factory method error + error_reporting(error_reporting() & ~E_STRICT); + $this->pager = \Pager::factory( + array( + 'mode' => 'Sliding', + 'perPage' => $perPage, + 'delta' => 2, + 'totalItems' => $itemCount, + 'currentPage' => $currentPage, + 'urlVar' => 'page', + 'append' => $append, + 'path' => '', + 'fileName' => $filename, + 'separator' => '###', + 'spacesBeforeSeparator' => 0, + 'spacesAfterSeparator' => 0, + 'curPageSpanPre' => '', + 'curPageSpanPost' => '', + 'firstPagePre' => '', + 'firstPageText' => 'first', + 'firstPagePost' => '', + 'lastPagePre' => '', + 'lastPageText' => 'last', + 'lastPagePost' => '', + 'prevImg' => '« prev', + 'nextImg' => 'next »', + ) + ); + } + + + public function getLinks() + { + $arLinks = $this->pager->getLinks(); + $arLinks['pages'] = explode('###', $arLinks['pages']); + return $arLinks; + } + + public function numPages() + { + return $this->pager->numPages(); + } +} + +?> |
