Merge pull request #2144 from micmania1/2143-paginatedlist-method-calls

ENHANCEMENT: Updated calls to methods instead of direct properties in PaginatedList
This commit is contained in:
Ingo Schommer 2013-06-23 14:35:13 -07:00
commit b0e359ddb7

View File

@ -80,7 +80,7 @@ class PaginatedList extends SS_ListDecorator {
* @param int $page * @param int $page
*/ */
public function setCurrentPage($page) { public function setCurrentPage($page) {
$this->pageStart = ($page - 1) * $this->pageLength; $this->pageStart = ($page - 1) * $this->getPageLength();
return $this; return $this;
} }
@ -91,8 +91,8 @@ class PaginatedList extends SS_ListDecorator {
*/ */
public function getPageStart() { public function getPageStart() {
if ($this->pageStart === null) { if ($this->pageStart === null) {
if ($this->request && isset($this->request[$this->getVar])) { if ($this->request && isset($this->request[$this->getPaginationGetVar()])) {
$this->pageStart = (int) $this->request[$this->getVar]; $this->pageStart = (int) $this->request[$this->getPaginationGetVar()];
} else { } else {
$this->pageStart = 0; $this->pageStart = 0;
} }
@ -181,7 +181,7 @@ class PaginatedList extends SS_ListDecorator {
if($this->limitItems) { if($this->limitItems) {
$tmptList = clone $this->list; $tmptList = clone $this->list;
return new IteratorIterator( return new IteratorIterator(
$tmptList->limit($this->pageLength, $this->getPageStart()) $tmptList->limit($this->getPageLength(), $this->getPageStart())
); );
} else { } else {
return new IteratorIterator($this->list); return new IteratorIterator($this->list);
@ -223,7 +223,7 @@ class PaginatedList extends SS_ListDecorator {
for ($i = $start; $i < $end; $i++) { for ($i = $start; $i < $end; $i++) {
$result->push(new ArrayData(array( $result->push(new ArrayData(array(
'PageNum' => $i + 1, 'PageNum' => $i + 1,
'Link' => HTTP::setGetVar($this->getVar, $i * $this->pageLength), 'Link' => HTTP::setGetVar($this->getPaginationGetVar(), $i * $this->getPageLength()),
'CurrentBool' => $this->CurrentPage() == ($i + 1) 'CurrentBool' => $this->CurrentPage() == ($i + 1)
))); )));
} }
@ -292,7 +292,7 @@ class PaginatedList extends SS_ListDecorator {
} }
for ($i = 0; $i < $total; $i++) { for ($i = 0; $i < $total; $i++) {
$link = HTTP::setGetVar($this->getVar, $i * $this->pageLength); $link = HTTP::setGetVar($this->getPaginationGetVar(), $i * $this->getPageLength());
$num = $i + 1; $num = $i + 1;
$emptyRange = $num != 1 && $num != $total && ( $emptyRange = $num != 1 && $num != $total && (
@ -321,14 +321,14 @@ class PaginatedList extends SS_ListDecorator {
* @return int * @return int
*/ */
public function CurrentPage() { public function CurrentPage() {
return floor($this->getPageStart() / $this->pageLength) + 1; return floor($this->getPageStart() / $this->getPageLength()) + 1;
} }
/** /**
* @return int * @return int
*/ */
public function TotalPages() { public function TotalPages() {
return ceil($this->getTotalItems() / $this->pageLength); return ceil($this->getTotalItems() / $this->getPageLength());
} }
/** /**
@ -369,9 +369,9 @@ class PaginatedList extends SS_ListDecorator {
*/ */
public function LastItem() { public function LastItem() {
if ($start = $this->getPageStart()) { if ($start = $this->getPageStart()) {
return min($start + $this->pageLength, $this->getTotalItems()); return min($start + $this->getPageLength(), $this->getTotalItems());
} else { } else {
return min($this->pageLength, $this->getTotalItems()); return min($this->getPageLength(), $this->getTotalItems());
} }
} }
@ -381,7 +381,7 @@ class PaginatedList extends SS_ListDecorator {
* @return string * @return string
*/ */
public function FirstLink() { public function FirstLink() {
return HTTP::setGetVar($this->getVar, 0); return HTTP::setGetVar($this->getPaginationGetVar(), 0);
} }
/** /**
@ -390,7 +390,7 @@ class PaginatedList extends SS_ListDecorator {
* @return string * @return string
*/ */
public function LastLink() { public function LastLink() {
return HTTP::setGetVar($this->getVar, ($this->TotalPages() - 1) * $this->pageLength); return HTTP::setGetVar($this->getPaginationGetVar(), ($this->TotalPages() - 1) * $this->getPageLength());
} }
/** /**
@ -401,7 +401,7 @@ class PaginatedList extends SS_ListDecorator {
*/ */
public function NextLink() { public function NextLink() {
if ($this->NotLastPage()) { if ($this->NotLastPage()) {
return HTTP::setGetVar($this->getVar, $this->getPageStart() + $this->pageLength); return HTTP::setGetVar($this->getPaginationGetVar(), $this->getPageStart() + $this->getPageLength());
} }
} }
@ -413,8 +413,8 @@ class PaginatedList extends SS_ListDecorator {
*/ */
public function PrevLink() { public function PrevLink() {
if ($this->NotFirstPage()) { if ($this->NotFirstPage()) {
return HTTP::setGetVar($this->getVar, $this->getPageStart() - $this->pageLength); return HTTP::setGetVar($this->getPaginationGetVar(), $this->getPageStart() - $this->getPageLength());
} }
} }
} }