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