calendarService = $calendarService; } /** * Display the Calendar Settings modal. */ #[RequiresPermission(CalendarPermissions::VIEW)] public function get(array $params): Response { // Get external calendars for the current user $externalCalendars = $this->calendarService->getMyExternalCalendars((int) session('userdata.id')); // Plugins can augment calendar data (e.g., add 'managedByPlugin' => true to hide edit/delete) $externalCalendars = self::dispatchFilter('calendarSettings.externalCalendars', $externalCalendars); // Plugins can add their settings sections via this filter $pluginSections = self::dispatchFilter('calendarSettings.sections', []); $this->tpl->assign('externalCalendars', $externalCalendars); $this->tpl->assign('pluginSections', $pluginSections); return $this->tpl->displayPartial('calendar.calendarSettings'); } }