示例#1
0
 /**
  * Get the number of the current page.
  *
  * @return int
  */
 public function getCurrentPage()
 {
     $page = (int) $this->currentPage ?: array_get($this->routeParameters, 'page');
     if ($page < 1 || filter_var($page, FILTER_VALIDATE_INT) === false) {
         return parent::getCurrentPage();
     }
     return $page;
 }
示例#2
0
 /**
  * Get the current page for the request.
  *
  * @param  int  $lastPage
  * @return int
  */
 protected function calculateCurrentPage($lastPage)
 {
     $page = $this->factory->getCurrentPage();
     // The page number will get validated and adjusted if it either less than one
     // or greater than the last page available based on the count of the given
     // items array. If it's greater than the last, we'll give back the last.
     if (is_numeric($page) && $page > $lastPage) {
         return $lastPage > 0 ? $lastPage : 1;
     }
     return $this->isValidPageNumber($page) ? (int) $page : 1;
 }
示例#3
0
 /**
  * Get the number of the current page.
  *
  * @return int 
  * @static 
  */
 public static function getCurrentPage()
 {
     return \Illuminate\Pagination\Factory::getCurrentPage();
 }
示例#4
0
 /**
  * Create a paginator for an un-grouped pagination statement.
  *
  * @param  \Illuminate\Pagination\Factory  $paginator
  * @param  int    $perPage
  * @param  array  $columns
  * @return \Illuminate\Pagination\Paginator
  */
 protected function ungroupedPaginate($paginator, $perPage, $columns)
 {
     $total = $this->getPaginationCount();
     // Once we have the total number of records to be paginated, we can grab the
     // current page and the result array. Then we are ready to create a brand
     // new Paginator instances for the results which will create the links.
     $page = $paginator->getCurrentPage($total);
     $results = $this->forPage($page, $perPage)->get($columns);
     return $paginator->make($results, $total, $perPage);
 }
示例#5
0
 /**
  * Get a paginator for an ungrouped statement.
  *
  * @param  \Illuminate\Pagination\Factory  $paginator
  * @param  int    $perPage
  * @param  array  $columns
  * @return \Illuminate\Pagination\Paginator
  */
 protected function ungroupedPaginate($paginator, $perPage, $columns)
 {
     $total = $this->query->getPaginationCount();
     // Once we have the paginator we need to set the limit and offset values for
     // the query so we can get the properly paginated items. Once we have an
     // array of items we can create the paginator instances for the items.
     $page = $paginator->getCurrentPage($total);
     $this->query->forPage($page, $perPage);
     return $paginator->make($this->get($columns)->all(), $total, $perPage);
 }