davCalendarProvider->getCalendars($principalUri), $this->subscriptionProvider->getCalendars($principalUri), ); return array_values(array_filter($calendars, function (ICalendar $calendar) use ($mode): bool { if ($calendar instanceof ICalendarIsEnabled && !$calendar->isEnabled()) { return false; } return $mode !== self::MODE_EDITABLE || ($calendar instanceof ICalendarIsWritable && $calendar->isWritable()); })); } public function identifier(ICalendar $calendar): string { return get_class($calendar) . ':' . $calendar->getKey(); } }