home
/
zktecojo
/
public_html
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pagination
➕ New
📤 Upload
✎ Editing:
Factory.php
← Back
<?php namespace Illuminate\Pagination; use Illuminate\Http\Request; use Illuminate\View\Factory as ViewFactory; use Symfony\Component\Translation\TranslatorInterface; class Factory { /** * The request instance. * * @var \Symfony\Component\HttpFoundation\Request */ protected $request; /** * The view factory instance. * * @var \Illuminate\View\Factory */ protected $view; /** * The translator implementation. * * @var \Symfony\Component\Translation\TranslatorInterface */ protected $trans; /** * The name of the pagination view. * * @var string */ protected $viewName; /** * The number of the current page. * * @var int */ protected $currentPage; /** * The locale to be used by the translator. * * @var string */ protected $locale; /** * The base URL in use by the paginator. * * @var string */ protected $baseUrl; /** * The input parameter used for the current page. * * @var string */ protected $pageName; /** * Create a new pagination factory. * * @param \Symfony\Component\HttpFoundation\Request $request * @param \Illuminate\View\Factory $view * @param \Symfony\Component\Translation\TranslatorInterface $trans * @param string $pageName * @return void */ public function __construct(Request $request, ViewFactory $view, TranslatorInterface $trans, $pageName = 'page') { $this->view = $view; $this->trans = $trans; $this->request = $request; $this->pageName = $pageName; $this->setupPaginationEnvironment(); } /** * Setup the pagination environment. * * @return void */ protected function setupPaginationEnvironment() { $this->view->addNamespace('pagination', __DIR__.'/views'); } /** * Get a new paginator instance. * * @param array $items * @param int $total * @param int|null $perPage * @return \Illuminate\Pagination\Paginator */ public function make(array $items, $total, $perPage = null) { $paginator = new Paginator($this, $items, $total, $perPage); return $paginator->setupPaginationContext(); } /** * Get the pagination view. * * @param \Illuminate\Pagination\Paginator $paginator * @param string $view * @return \Illuminate\View\View */ public function getPaginationView(Paginator $paginator, $view = null) { $data = array('environment' => $this, 'paginator' => $paginator); return $this->view->make($this->getViewName($view), $data); } /** * Get the number of the current page. * * @return int */ public function getCurrentPage() { $page = (int) $this->currentPage ?: $this->request->input($this->pageName, 1); if ($page < 1 || filter_var($page, FILTER_VALIDATE_INT) === false) { return 1; } return $page; } /** * Set the number of the current page. * * @param int $number * @return void */ public function setCurrentPage($number) { $this->currentPage = $number; } /** * Get the root URL for the request. * * @return string */ public function getCurrentUrl() { return $this->baseUrl ?: $this->request->url(); } /** * Set the base URL in use by the paginator. * * @param string $baseUrl * @return void */ public function setBaseUrl($baseUrl) { $this->baseUrl = $baseUrl; } /** * Set the input page parameter name used by the paginator. * * @param string $pageName * @return void */ public function setPageName($pageName) { $this->pageName = $pageName; } /** * Get the input page parameter name used by the paginator. * * @return string */ public function getPageName() { return $this->pageName; } /** * Get the name of the pagination view. * * @param string $view * @return string */ public function getViewName($view = null) { if ( ! is_null($view)) return $view; return $this->viewName ?: 'pagination::slider'; } /** * Set the name of the pagination view. * * @param string $viewName * @return void */ public function setViewName($viewName) { $this->viewName = $viewName; } /** * Get the locale of the paginator. * * @return string */ public function getLocale() { return $this->locale; } /** * Set the locale of the paginator. * * @param string $locale * @return void */ public function setLocale($locale) { $this->locale = $locale; } /** * Get the active request instance. * * @return \Symfony\Component\HttpFoundation\Request */ public function getRequest() { return $this->request; } /** * Set the active request instance. * * @param \Symfony\Component\HttpFoundation\Request $request * @return void */ public function setRequest(Request $request) { $this->request = $request; } /** * Get the current view factory. * * @return \Illuminate\View\Factory */ public function getViewFactory() { return $this->view; } /** * Set the current view factory. * * @param \Illuminate\View\Factory $view * @return void */ public function setViewFactory(ViewFactory $view) { $this->view = $view; } /** * Get the translator instance. * * @return \Symfony\Component\Translation\TranslatorInterface */ public function getTranslator() { return $this->trans; } }
💾 Save Changes
Cancel
📤 Upload File
×
Select File
Upload
Cancel
➕ Create New
×
Type
📄 File
📁 Folder
Name
Create
Cancel
✎ Rename Item
×
Current Name
New Name
Rename
Cancel
🔐 Change Permissions
×
Target File
Permission (e.g., 0755, 0644)
0755
0644
0777
Apply
Cancel