getUser($request); if ($user->id !== $observedUser->id) { // absichtlich keine AuthorizationFailedException // damit unsichtbare Nutzer nicht ermittelt werden können throw new RecordNotFoundException(); } $filtering = $this->getQueryParameters()->getFilteringParameters(); if (isset($filtering['timestamp'])) { $start = max(0, (int) $filtering['timestamp']); } else { $start = (new \DateTime())->modify('midnight')->getTimestamp(); } $end = strtotime('+2 weeks', $start); //See the RecordNotFoundException above: This route only lets user //retrieve the dates of their own calendar. So no permission check //is needed. $start_dt = new \DateTime(); $start_dt->setTimestamp($start); $end_dt = new \DateTime(); $end_dt->setTimestamp($end); $list = \CalendarDateAssignment::getEvents($start_dt, $end_dt, $user->id); list($offset, $limit) = $this->getOffsetAndLimit(); return $this->getPaginatedContentResponse( array_slice(array_values($list), $offset, $limit), count($list) ); } }