| @@ 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 | /** | |