Scalr\Api\Rest\Controller\ApiController::getPagination PHP Method

getPagination() public method

Gets pagination object
public getPagination ( integer $foundRows ) : Scalr\Api\DataType\Pagination
$foundRows integer The number of records found
return Scalr\Api\DataType\Pagination Returns pagination object
    public function getPagination($foundRows)
    {
        $pagination = new Pagination();
        $maxResults = $this->getMaxResults();
        if (!empty($foundRows) && $foundRows > $maxResults) {
            $params = $this->params();
            $pageNum = $this->getPageNum();
            $params[self::QUERY_PARAM_PAGE_NUM] = 1;
            $pagination->first = $this->generateLink($params, true);
            $params[self::QUERY_PARAM_PAGE_NUM] = $lastPage = ceil($foundRows / $maxResults);
            $pagination->last = $this->generateLink($params);
            if ($pageNum > 1) {
                if ($pageNum == 2) {
                    $pagination->prev = $pagination->first;
                } else {
                    $params[self::QUERY_PARAM_PAGE_NUM] = $pageNum - 1;
                    $pagination->prev = $this->generateLink($params);
                }
            }
            if ($pageNum != $lastPage) {
                if ($pageNum == $lastPage - 1) {
                    $pagination->next = $pagination->last;
                } else {
                    $params[self::QUERY_PARAM_PAGE_NUM] = $pageNum + 1;
                    $pagination->next = $this->generateLink($params);
                }
            }
        }
        return $pagination;
    }