getOffsetAndLimit(); $filtering = $this->getQueryParameters()->getFilteringParameters(); if (empty($filtering)) { $semesters = \Semester::getAll(); } else { if (array_key_exists('current', $filtering)) { $semester = \Semester::findCurrent(); } if (isset($filtering['timestamp'])) { $semester = \Semester::findByTimestamp($filtering['timestamp']); } if (!$semester) { throw new RecordNotFoundException('Could not find semester.'); } else { $semesters = [$semester]; } } return $this->getPaginatedContentResponse( array_slice($semesters, $offset, $limit), count($semesters) ); } }