3535use Exception ;
3636use OCA \DAV \BackgroundJob \UpdateCalendarResourcesRoomsBackgroundJob ;
3737use OCA \DAV \CalDAV \Activity \Backend ;
38- use OCA \DAV \CalDAV \BirthdayService ;
39- use OCA \DAV \CalDAV \CalDavBackend ;
4038use OCA \DAV \CalDAV \CalendarManager ;
4139use OCA \DAV \CalDAV \CalendarProvider ;
42- use OCA \DAV \CalDAV \Reminder \Backend as ReminderBackend ;
4340use OCA \DAV \CalDAV \Reminder \NotificationProvider \AudioProvider ;
4441use OCA \DAV \CalDAV \Reminder \NotificationProvider \EmailProvider ;
4542use OCA \DAV \CalDAV \Reminder \NotificationProvider \PushProvider ;
4643use OCA \DAV \CalDAV \Reminder \NotificationProviderManager ;
4744use OCA \DAV \CalDAV \Reminder \Notifier ;
4845
49- use OCA \DAV \CalDAV \WebcalCaching \RefreshWebcalService ;
5046use OCA \DAV \Capabilities ;
5147use OCA \DAV \CardDAV \CardDavBackend ;
5248use OCA \DAV \CardDAV \ContactsManager ;
6460use OCA \DAV \Events \CalendarObjectMovedToTrashEvent ;
6561use OCA \DAV \Events \CalendarObjectRestoredEvent ;
6662use OCA \DAV \Events \CalendarObjectUpdatedEvent ;
63+ use OCA \DAV \Events \CalendarPublishedEvent ;
6764use OCA \DAV \Events \CalendarRestoredEvent ;
6865use OCA \DAV \Events \CalendarShareUpdatedEvent ;
66+ use OCA \DAV \Events \CalendarUnpublishedEvent ;
6967use OCA \DAV \Events \CalendarUpdatedEvent ;
7068use OCA \DAV \Events \CardCreatedEvent ;
7169use OCA \DAV \Events \CardDeletedEvent ;
7270use OCA \DAV \Events \CardUpdatedEvent ;
71+ use OCA \DAV \Events \SubscriptionCreatedEvent ;
72+ use OCA \DAV \Events \SubscriptionDeletedEvent ;
7373use OCA \DAV \HookManager ;
7474use OCA \DAV \Listener \ActivityUpdaterListener ;
7575use OCA \DAV \Listener \AddressbookListener ;
76+ use OCA \DAV \Listener \BirthdayListener ;
7677use OCA \DAV \Listener \CalendarContactInteractionListener ;
7778use OCA \DAV \Listener \CalendarDeletionDefaultUpdaterListener ;
7879use OCA \DAV \Listener \CalendarObjectReminderUpdaterListener ;
80+ use OCA \DAV \Listener \CalendarPublicationListener ;
81+ use OCA \DAV \Listener \CalendarShareUpdateListener ;
7982use OCA \DAV \Listener \CardListener ;
83+ use OCA \DAV \Listener \ClearPhotoCacheListener ;
84+ use OCA \DAV \Listener \SubscriptionListener ;
8085use OCA \DAV \Search \ContactsSearchProvider ;
8186use OCA \DAV \Search \EventsSearchProvider ;
8287use OCA \DAV \Search \TasksSearchProvider ;
@@ -154,6 +159,12 @@ public function register(IRegistrationContext $context): void {
154159 $ context ->registerEventListener (CalendarObjectRestoredEvent::class, ActivityUpdaterListener::class);
155160 $ context ->registerEventListener (CalendarObjectRestoredEvent::class, CalendarObjectReminderUpdaterListener::class);
156161 $ context ->registerEventListener (CalendarShareUpdatedEvent::class, CalendarContactInteractionListener::class);
162+ $ context ->registerEventListener (CalendarPublishedEvent::class, CalendarPublicationListener::class);
163+ $ context ->registerEventListener (CalendarUnpublishedEvent::class, CalendarPublicationListener::class);
164+ $ context ->registerEventListener (CalendarShareUpdatedEvent::class, CalendarShareUpdateListener::class);
165+
166+ $ context ->registerEventListener (SubscriptionCreatedEvent::class, SubscriptionListener::class);
167+ $ context ->registerEventListener (SubscriptionDeletedEvent::class, SubscriptionListener::class);
157168
158169
159170 $ context ->registerEventListener (AddressBookCreatedEvent::class, AddressbookListener::class);
@@ -163,6 +174,11 @@ public function register(IRegistrationContext $context): void {
163174 $ context ->registerEventListener (CardCreatedEvent::class, CardListener::class);
164175 $ context ->registerEventListener (CardDeletedEvent::class, CardListener::class);
165176 $ context ->registerEventListener (CardUpdatedEvent::class, CardListener::class);
177+ $ context ->registerEventListener (CardCreatedEvent::class, BirthdayListener::class);
178+ $ context ->registerEventListener (CardDeletedEvent::class, BirthdayListener::class);
179+ $ context ->registerEventListener (CardUpdatedEvent::class, BirthdayListener::class);
180+ $ context ->registerEventListener (CardDeletedEvent::class, ClearPhotoCacheListener::class);
181+ $ context ->registerEventListener (CardUpdatedEvent::class, ClearPhotoCacheListener::class);
166182
167183 $ context ->registerNotifierService (Notifier::class);
168184
@@ -195,44 +211,6 @@ public function registerHooks(HookManager $hm,
195211 }
196212 });
197213
198- $ birthdayListener = function ($ event ) use ($ container ): void {
199- if ($ event instanceof GenericEvent) {
200- /** @var BirthdayService $b */
201- $ b = $ container ->query (BirthdayService::class);
202- $ b ->onCardChanged (
203- (int ) $ event ->getArgument ('addressBookId ' ),
204- (string ) $ event ->getArgument ('cardUri ' ),
205- (string ) $ event ->getArgument ('cardData ' )
206- );
207- }
208- };
209-
210- $ dispatcher ->addListener ('\OCA\DAV\CardDAV\CardDavBackend::createCard ' , $ birthdayListener );
211- $ dispatcher ->addListener ('\OCA\DAV\CardDAV\CardDavBackend::updateCard ' , $ birthdayListener );
212- $ dispatcher ->addListener ('\OCA\DAV\CardDAV\CardDavBackend::deleteCard ' , function ($ event ) use ($ container ) {
213- if ($ event instanceof GenericEvent) {
214- /** @var BirthdayService $b */
215- $ b = $ container ->query (BirthdayService::class);
216- $ b ->onCardDeleted (
217- (int ) $ event ->getArgument ('addressBookId ' ),
218- (string ) $ event ->getArgument ('cardUri ' )
219- );
220- }
221- });
222-
223- $ clearPhotoCache = function ($ event ) use ($ container ): void {
224- if ($ event instanceof GenericEvent) {
225- /** @var PhotoCache $p */
226- $ p = $ container ->query (PhotoCache::class);
227- $ p ->delete (
228- $ event ->getArgument ('addressBookId ' ),
229- $ event ->getArgument ('cardUri ' )
230- );
231- }
232- };
233- $ dispatcher ->addListener ('\OCA\DAV\CardDAV\CardDavBackend::updateCard ' , $ clearPhotoCache );
234- $ dispatcher ->addListener ('\OCA\DAV\CardDAV\CardDavBackend::deleteCard ' , $ clearPhotoCache );
235-
236214 $ dispatcher ->addListener ('OC\AccountManager::userUpdated ' , function (GenericEvent $ event ) use ($ container ) {
237215 $ user = $ event ->getSubject ();
238216 /** @var SyncService $syncService */
@@ -254,16 +232,6 @@ public function registerHooks(HookManager $hm,
254232 // Here we should recalculate if reminders should be sent to new or old sharees
255233 });
256234
257- $ dispatcher ->addListener ('\OCA\DAV\CalDAV\CalDavBackend::publishCalendar ' , function (GenericEvent $ event ) use ($ container ) {
258- /** @var Backend $backend */
259- $ backend = $ container ->query (Backend::class);
260- $ backend ->onCalendarPublication (
261- $ event ->getArgument ('calendarData ' ),
262- $ event ->getArgument ('public ' )
263- );
264- });
265-
266-
267235 $ dispatcher ->addListener ('OCP\Federation\TrustedServerEvent::remove ' ,
268236 function (GenericEvent $ event ) {
269237 /** @var CardDavBackend $cardDavBackend */
@@ -276,48 +244,6 @@ function (GenericEvent $event) {
276244 }
277245 );
278246
279- $ dispatcher ->addListener ('\OCA\DAV\CalDAV\CalDavBackend::createSubscription ' ,
280- function (GenericEvent $ event ) use ($ container , $ serverContainer ) {
281- $ jobList = $ serverContainer ->getJobList ();
282- $ subscriptionData = $ event ->getArgument ('subscriptionData ' );
283-
284- /**
285- * Initial subscription refetch
286- *
287- * @var RefreshWebcalService $refreshWebcalService
288- */
289- $ refreshWebcalService = $ container ->query (RefreshWebcalService::class);
290- $ refreshWebcalService ->refreshSubscription (
291- (string ) $ subscriptionData ['principaluri ' ],
292- (string ) $ subscriptionData ['uri ' ]
293- );
294-
295- $ jobList ->add (\OCA \DAV \BackgroundJob \RefreshWebcalJob::class, [
296- 'principaluri ' => $ subscriptionData ['principaluri ' ],
297- 'uri ' => $ subscriptionData ['uri ' ]
298- ]);
299- }
300- );
301-
302- $ dispatcher ->addListener ('\OCA\DAV\CalDAV\CalDavBackend::deleteSubscription ' ,
303- function (GenericEvent $ event ) use ($ container , $ serverContainer ) {
304- $ jobList = $ serverContainer ->getJobList ();
305- $ subscriptionData = $ event ->getArgument ('subscriptionData ' );
306-
307- $ jobList ->remove (\OCA \DAV \BackgroundJob \RefreshWebcalJob::class, [
308- 'principaluri ' => $ subscriptionData ['principaluri ' ],
309- 'uri ' => $ subscriptionData ['uri ' ]
310- ]);
311-
312- /** @var CalDavBackend $calDavBackend */
313- $ calDavBackend = $ container ->get (CalDavBackend::class);
314- $ calDavBackend ->purgeAllCachedEventsForSubscription ($ subscriptionData ['id ' ]);
315- /** @var ReminderBackend $calDavBackend */
316- $ reminderBackend = $ container ->get (ReminderBackend::class);
317- $ reminderBackend ->cleanRemindersForCalendar ((int ) $ subscriptionData ['id ' ]);
318- }
319- );
320-
321247 $ eventHandler = function () use ($ container , $ serverContainer ): void {
322248 try {
323249 /** @var UpdateCalendarResourcesRoomsBackgroundJob $job */
0 commit comments