Source for file MultipageList.class.php
Documentation is available at MultipageList.class.php
* @copyright 2009-2010 NADEO
* This class helps to create multipage lists. Maybe difficult to use at
* first... Doc should be written about it...
protected $urlParamName =
'page';
protected $urlPageName =
null;
protected $defaultPage=
1;
$this->perPage =
$perPage;
$this->perPage =
$perPage;
$this->currentPage =
$page;
$this->defaultPage =
$page;
$this->urlParamName =
$name;
$this->urlPageName =
$file;
if($this->currentPage ===
null)
$this->currentPage = (int)
$request->get($this->urlParamName, $this->defaultPage);
if( $this->currentPage <
1)
return $this->currentPage;
if(!$this->pageNumber &&
$this->perPage)
$this->pageNumber =
ceil($this->size/
$this->perPage);
return $this->pageNumber;
* @return array[int] offset, length
$length =
$this->perPage;
return array($offset, $length);
$this->hasMorePages =
$hasMorePages;
list
($offset, $length) =
$this->getLimit();
$hasMorePages =
(count($array) ==
$length +
1);
$this->hasMorePages =
$hasMorePages;
if($this->hasMorePages !==
null)
$request->set($this->urlParamName, 1);
$ui->arrowFirst->setManialink($request->createLink($this->urlPageName));
$ui->arrowLast->setManialink($request->createLink($this->urlPageName));
if($ui->isFastNextShown())
$request->set($this->urlParamName, $this->currentPage+
5);
$ui->arrowFastNext->setManialink($request->createLink($this->urlPageName));
$request->set($this->urlParamName, $this->currentPage-
5);
$ui->arrowFastPrev->setManialink($request->createLink($this->urlPageName));
if($this->currentPage <
$this->pageNumber)
$request->set($this->urlParamName, $this->currentPage+
1);
$ui->arrowNext->setManialink($request->createLink($this->urlPageName));
if($this->currentPage >
1)
$request->set($this->urlParamName, $this->currentPage-
1);
$ui->arrowPrev->setManialink($request->createLink($this->urlPageName));
$request->set($this->urlParamName, $this->currentPage);