protected function buildPagination()
{
$this->calculateDisplayRange();
$pages = array();
for ($i = $this->displayRangeStart; $i <= $this->displayRangeEnd; $i++) {
$pages[] = array('number' => $i, 'isCurrent' => $i === $this->currentPage);
}
$pagination = array('pages' => $pages, 'current' => $this->currentPage, 'numberOfPages' => $this->numberOfPages, 'displayRangeStart' => $this->displayRangeStart, 'displayRangeEnd' => $this->displayRangeEnd, 'hasLessPages' => $this->displayRangeStart > 2, 'hasMorePages' => $this->displayRangeEnd + 1 < $this->numberOfPages);
if ($this->currentPage < $this->numberOfPages) {
$pagination['nextPage'] = $this->currentPage + 1;
}
if ($this->currentPage > 1) {
$pagination['previousPage'] = $this->currentPage - 1;
}
return $pagination;
}