| @@ 107-119 (lines=13) @@ | ||
| 104 | * |
|
| 105 | * @throws CanvasArray_Exception INVALID_PAGE_NUMBER If $pageNumber < 1 |
|
| 106 | **/ |
|
| 107 | protected function pageNumberToKey($pageNumber) |
|
| 108 | { |
|
| 109 | if ($pageNumber < 1) { |
|
| 110 | throw new CanvasArray_Exception( |
|
| 111 | "{$pageNumber} is not a valid page number", |
|
| 112 | CanvasArray_Exception::INVALID_PAGE_NUMBER |
|
| 113 | ); |
|
| 114 | } |
|
| 115 | if (isset($this->pagination[CanvasPageLink::CURRENT])) { |
|
| 116 | return ($pageNumber - 1) * $this->pagination[CanvasPageLink::CURRENT]->getPerPage(); |
|
| 117 | } else { |
|
| 118 | return 0; // assume only one page (since no pagination); |
|
| 119 | } |
|
| 120 | } |
|
| 121 | ||
| 122 | /** |
|
| @@ 131-144 (lines=14) @@ | ||
| 128 | * |
|
| 129 | * @throws CanvasArray_Exception INVALID_ARRAY_KEY If $key < 0 |
|
| 130 | **/ |
|
| 131 | protected function keyToPageNumber($key) |
|
| 132 | { |
|
| 133 | if ($key < 0) { |
|
| 134 | throw new CanvasArray_Exception( |
|
| 135 | "$key is not a valid array key", |
|
| 136 | CanvasArray_Exception::INVALID_ARRAY_KEY |
|
| 137 | ); |
|
| 138 | } |
|
| 139 | ||
| 140 | if (isset($this->pagination[CanvasPageLink::CURRENT])) { |
|
| 141 | return ((int) ($key / $this->pagination[CanvasPageLink::CURRENT]->getPerPage())) + 1; |
|
| 142 | } else { |
|
| 143 | return 1; // assume single page if no pagination |
|
| 144 | } |
|
| 145 | } |
|
| 146 | ||
| 147 | /** |
|