| @@ 191-210 (lines=20) @@ | ||
| 188 | ||
| 189 | if ($perPage < 1) { |
|
| 190 | foreach ($childObjects[$parentObj->id()] as $object) { |
|
| 191 | if ($count === 0 && $object->hasMaster()) { |
|
| 192 | $myParents = []; |
|
| 193 | $myParent = $object->getMaster(); |
|
| 194 | while ($myParent) { |
|
| 195 | $myParents[] = $myParent; |
|
| 196 | ||
| 197 | if (!$myParent->hasMaster()) { |
|
| 198 | break; |
|
| 199 | } |
|
| 200 | ||
| 201 | $myParent = $myParent->getMaster(); |
|
| 202 | } |
|
| 203 | ||
| 204 | $numParents = count($myParents); |
|
| 205 | while ($myParent = array_pop($myParents)) { |
|
| 206 | $myParent->level = ($level - $numParents); |
|
| 207 | $sortedObjects[$myParent->id()] = $myParent; |
|
| 208 | $numParents--; |
|
| 209 | } |
|
| 210 | } |
|
| 211 | ||
| 212 | $object->level = $level; |
|
| 213 | $sortedObjects[$object->id()] = $object; |
|
| @@ 237-256 (lines=20) @@ | ||
| 234 | } |
|
| 235 | ||
| 236 | // If the page starts in a subtree, print the parents. |
|
| 237 | if ($count === $start && $object->hasMaster()) { |
|
| 238 | $myParents = []; |
|
| 239 | $myParent = $object->getMaster(); |
|
| 240 | while ($myParent) { |
|
| 241 | $myParents[] = $myParent; |
|
| 242 | ||
| 243 | if (!$myParent->hasMaster()) { |
|
| 244 | break; |
|
| 245 | } |
|
| 246 | ||
| 247 | $myParent = $myParent->getMaster(); |
|
| 248 | } |
|
| 249 | ||
| 250 | $numParents = count($myParents); |
|
| 251 | while ($myParent = array_pop($myParents)) { |
|
| 252 | $myParent->level = ($level - $numParents); |
|
| 253 | $sortedObjects[$myParent->id()] = $myParent; |
|
| 254 | $numParents--; |
|
| 255 | } |
|
| 256 | } |
|
| 257 | ||
| 258 | if ($count >= $start) { |
|
| 259 | $object->level = $level; |
|