logger = $logger; } public function getChildForPrincipal(array $principal) { return new CalendarHome( $this->caldavBackend, $principal, $this->logger, array_key_exists($principal['uri'], $this->returnCachedSubscriptions) ); } public function getName() { if ($this->principalPrefix === 'principals/calendar-resources' || $this->principalPrefix === 'principals/calendar-rooms') { $parts = explode('/', $this->principalPrefix); return $parts[1]; } return parent::getName(); } public function enableReturnCachedSubscriptions(string $principalUri): void { $this->returnCachedSubscriptions['principals/users/' . $principalUri] = true; } }