Passed
Push — master ( 52af70...d3d11c )
by Morris
10:15 queued 11s
created
lib/public/AppFramework/Bootstrap/IBootContext.php 1 patch
Indentation   +37 added lines, -37 removed lines patch added patch discarded remove patch
@@ -35,43 +35,43 @@
 block discarded – undo
35 35
  */
36 36
 interface IBootContext {
37 37
 
38
-	/**
39
-	 * Get hold of the app's container
40
-	 *
41
-	 * Useful to register and query app-specific services
42
-	 *
43
-	 * @return IAppContainer
44
-	 * @since 20.0.0
45
-	 */
46
-	public function getAppContainer(): IAppContainer;
38
+    /**
39
+     * Get hold of the app's container
40
+     *
41
+     * Useful to register and query app-specific services
42
+     *
43
+     * @return IAppContainer
44
+     * @since 20.0.0
45
+     */
46
+    public function getAppContainer(): IAppContainer;
47 47
 
48
-	/**
49
-	 * Get hold of the server DI container
50
-	 *
51
-	 * Useful to register and query system-wide services
52
-	 *
53
-	 * @return IServerContainer
54
-	 * @since 20.0.0
55
-	 */
56
-	public function getServerContainer(): IServerContainer;
48
+    /**
49
+     * Get hold of the server DI container
50
+     *
51
+     * Useful to register and query system-wide services
52
+     *
53
+     * @return IServerContainer
54
+     * @since 20.0.0
55
+     */
56
+    public function getServerContainer(): IServerContainer;
57 57
 
58
-	/**
59
-	 * Invoke the given callable and inject all parameters based on their types
60
-	 * and names
61
-	 *
62
-	 * Note: when used with methods, make sure they are public or use \Closure::fromCallable
63
-	 * to wrap the private method call, e.g.
64
-	 *  * `$context->injectFn([$obj, 'publicMethod'])`
65
-	 *  * `$context->injectFn([$this, 'publicMethod'])`
66
-	 *  * `$context->injectFn(\Closure::fromCallable([$this, 'privateMethod']))`
67
-	 *
68
-	 * Note: the app container will be queried
69
-	 *
70
-	 * @param callable $fn
71
-	 * @throws QueryException if at least one of the parameter can't be resolved
72
-	 * @throws Throwable any error the function invocation might cause
73
-	 * @return mixed|null the return value of the invoked function, if any
74
-	 * @since 20.0.0
75
-	 */
76
-	public function injectFn(callable $fn);
58
+    /**
59
+     * Invoke the given callable and inject all parameters based on their types
60
+     * and names
61
+     *
62
+     * Note: when used with methods, make sure they are public or use \Closure::fromCallable
63
+     * to wrap the private method call, e.g.
64
+     *  * `$context->injectFn([$obj, 'publicMethod'])`
65
+     *  * `$context->injectFn([$this, 'publicMethod'])`
66
+     *  * `$context->injectFn(\Closure::fromCallable([$this, 'privateMethod']))`
67
+     *
68
+     * Note: the app container will be queried
69
+     *
70
+     * @param callable $fn
71
+     * @throws QueryException if at least one of the parameter can't be resolved
72
+     * @throws Throwable any error the function invocation might cause
73
+     * @return mixed|null the return value of the invoked function, if any
74
+     * @since 20.0.0
75
+     */
76
+    public function injectFn(callable $fn);
77 77
 }
Please login to merge, or discard this patch.
lib/private/AppFramework/Bootstrap/FunctionInjector.php 2 patches
Indentation   +29 added lines, -29 removed lines patch added patch discarded remove patch
@@ -34,36 +34,36 @@
 block discarded – undo
34 34
 
35 35
 class FunctionInjector {
36 36
 
37
-	/** @var IContainer */
38
-	private $container;
37
+    /** @var IContainer */
38
+    private $container;
39 39
 
40
-	public function __construct(IContainer $container) {
41
-		$this->container = $container;
42
-	}
40
+    public function __construct(IContainer $container) {
41
+        $this->container = $container;
42
+    }
43 43
 
44
-	public function injectFn(callable $fn) {
45
-		$reflected = new ReflectionFunction(Closure::fromCallable($fn));
46
-		return $fn(...array_map(function (ReflectionParameter $param) {
47
-			// First we try by type (more likely these days)
48
-			if (($type = $param->getType()) !== null) {
49
-				try {
50
-					return $this->container->query($type->getName());
51
-				} catch (QueryException $ex) {
52
-					// Ignore and try name as well
53
-				}
54
-			}
55
-			// Second we try by name (mostly for primitives)
56
-			try {
57
-				return $this->container->query($param->getName());
58
-			} catch (QueryException $ex) {
59
-				// As a last resort we pass `null` if allowed
60
-				if ($type !== null && $type->allowsNull()) {
61
-					return null;
62
-				}
44
+    public function injectFn(callable $fn) {
45
+        $reflected = new ReflectionFunction(Closure::fromCallable($fn));
46
+        return $fn(...array_map(function (ReflectionParameter $param) {
47
+            // First we try by type (more likely these days)
48
+            if (($type = $param->getType()) !== null) {
49
+                try {
50
+                    return $this->container->query($type->getName());
51
+                } catch (QueryException $ex) {
52
+                    // Ignore and try name as well
53
+                }
54
+            }
55
+            // Second we try by name (mostly for primitives)
56
+            try {
57
+                return $this->container->query($param->getName());
58
+            } catch (QueryException $ex) {
59
+                // As a last resort we pass `null` if allowed
60
+                if ($type !== null && $type->allowsNull()) {
61
+                    return null;
62
+                }
63 63
 
64
-				// Nothing worked, time to bail out
65
-				throw $ex;
66
-			}
67
-		}, $reflected->getParameters()));
68
-	}
64
+                // Nothing worked, time to bail out
65
+                throw $ex;
66
+            }
67
+        }, $reflected->getParameters()));
68
+    }
69 69
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -43,7 +43,7 @@
 block discarded – undo
43 43
 
44 44
 	public function injectFn(callable $fn) {
45 45
 		$reflected = new ReflectionFunction(Closure::fromCallable($fn));
46
-		return $fn(...array_map(function (ReflectionParameter $param) {
46
+		return $fn(...array_map(function(ReflectionParameter $param) {
47 47
 			// First we try by type (more likely these days)
48 48
 			if (($type = $param->getType()) !== null) {
49 49
 				try {
Please login to merge, or discard this patch.
lib/private/AppFramework/Bootstrap/BootContext.php 1 patch
Indentation   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -31,22 +31,22 @@
 block discarded – undo
31 31
 
32 32
 class BootContext implements IBootContext {
33 33
 
34
-	/** @var IAppContainer */
35
-	private $appContainer;
34
+    /** @var IAppContainer */
35
+    private $appContainer;
36 36
 
37
-	public function __construct(IAppContainer $appContainer) {
38
-		$this->appContainer = $appContainer;
39
-	}
37
+    public function __construct(IAppContainer $appContainer) {
38
+        $this->appContainer = $appContainer;
39
+    }
40 40
 
41
-	public function getAppContainer(): IAppContainer {
42
-		return $this->appContainer;
43
-	}
41
+    public function getAppContainer(): IAppContainer {
42
+        return $this->appContainer;
43
+    }
44 44
 
45
-	public function getServerContainer(): IServerContainer {
46
-		return $this->appContainer->getServer();
47
-	}
45
+    public function getServerContainer(): IServerContainer {
46
+        return $this->appContainer->getServer();
47
+    }
48 48
 
49
-	public function injectFn(callable $fn) {
50
-		return (new FunctionInjector($this->appContainer))->injectFn($fn);
51
-	}
49
+    public function injectFn(callable $fn) {
50
+        return (new FunctionInjector($this->appContainer))->injectFn($fn);
51
+    }
52 52
 }
Please login to merge, or discard this patch.
apps/dav/lib/AppInfo/Application.php 2 patches
Indentation   +316 added lines, -316 removed lines patch added patch discarded remove patch
@@ -74,322 +74,322 @@
 block discarded – undo
74 74
 use function strpos;
75 75
 
76 76
 class Application extends App implements IBootstrap {
77
-	public const APP_ID = 'dav';
78
-
79
-	/**
80
-	 * Application constructor.
81
-	 */
82
-	public function __construct() {
83
-		parent::__construct(self::APP_ID);
84
-	}
85
-
86
-	public function register(IRegistrationContext $context): void {
87
-		$context->registerServiceAlias('CardDAVSyncService', SyncService::class);
88
-		$context->registerService(PhotoCache::class, function (IContainer $c) {
89
-			/** @var IServerContainer $server */
90
-			$server = $c->query(IServerContainer::class);
91
-
92
-			return new PhotoCache(
93
-				$server->getAppDataDir('dav-photocache'),
94
-				$server->getLogger()
95
-			);
96
-		});
97
-
98
-		/*
77
+    public const APP_ID = 'dav';
78
+
79
+    /**
80
+     * Application constructor.
81
+     */
82
+    public function __construct() {
83
+        parent::__construct(self::APP_ID);
84
+    }
85
+
86
+    public function register(IRegistrationContext $context): void {
87
+        $context->registerServiceAlias('CardDAVSyncService', SyncService::class);
88
+        $context->registerService(PhotoCache::class, function (IContainer $c) {
89
+            /** @var IServerContainer $server */
90
+            $server = $c->query(IServerContainer::class);
91
+
92
+            return new PhotoCache(
93
+                $server->getAppDataDir('dav-photocache'),
94
+                $server->getLogger()
95
+            );
96
+        });
97
+
98
+        /*
99 99
 		 * Register capabilities
100 100
 		 */
101
-		$context->registerCapability(Capabilities::class);
102
-	}
103
-
104
-	public function boot(IBootContext $context): void {
105
-		// Load all dav apps
106
-		\OC_App::loadApps(['dav']);
107
-
108
-		$context->injectFn([$this, 'registerHooks']);
109
-		$context->injectFn([$this, 'registerContactsManager']);
110
-		$context->injectFn([$this, 'registerCalendarManager']);
111
-		$context->injectFn([$this, 'registerNotifier']);
112
-		$context->injectFn([$this, 'registerCalendarReminders']);
113
-	}
114
-
115
-	public function registerHooks(HookManager $hm,
116
-								   EventDispatcherInterface $dispatcher,
117
-								   IAppContainer $container,
118
-								   IServerContainer $serverContainer) {
119
-		$hm->setup();
120
-
121
-		// first time login event setup
122
-		$dispatcher->addListener(IUser::class . '::firstLogin', function ($event) use ($hm) {
123
-			if ($event instanceof GenericEvent) {
124
-				$hm->firstLogin($event->getSubject());
125
-			}
126
-		});
127
-
128
-		$birthdayListener = function ($event) use ($container) {
129
-			if ($event instanceof GenericEvent) {
130
-				/** @var BirthdayService $b */
131
-				$b = $container->query(BirthdayService::class);
132
-				$b->onCardChanged(
133
-					(int) $event->getArgument('addressBookId'),
134
-					(string) $event->getArgument('cardUri'),
135
-					(string) $event->getArgument('cardData')
136
-				);
137
-			}
138
-		};
139
-
140
-		$dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::createCard', $birthdayListener);
141
-		$dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::updateCard', $birthdayListener);
142
-		$dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::deleteCard', function ($event) use ($container) {
143
-			if ($event instanceof GenericEvent) {
144
-				/** @var BirthdayService $b */
145
-				$b = $container->query(BirthdayService::class);
146
-				$b->onCardDeleted(
147
-					(int) $event->getArgument('addressBookId'),
148
-					(string) $event->getArgument('cardUri')
149
-				);
150
-			}
151
-		});
152
-
153
-		$clearPhotoCache = function ($event) use ($container) {
154
-			if ($event instanceof GenericEvent) {
155
-				/** @var PhotoCache $p */
156
-				$p = $container->query(PhotoCache::class);
157
-				$p->delete(
158
-					$event->getArgument('addressBookId'),
159
-					$event->getArgument('cardUri')
160
-				);
161
-			}
162
-		};
163
-		$dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::updateCard', $clearPhotoCache);
164
-		$dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::deleteCard', $clearPhotoCache);
165
-
166
-		$dispatcher->addListener('OC\AccountManager::userUpdated', function (GenericEvent $event) use ($container) {
167
-			$user = $event->getSubject();
168
-			/** @var SyncService $syncService */
169
-			$syncService = $container->query(SyncService::class);
170
-			$syncService->updateUser($user);
171
-		});
172
-
173
-		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::createCalendar', function (GenericEvent $event) use ($container) {
174
-			/** @var Backend $backend */
175
-			$backend = $container->query(Backend::class);
176
-			$backend->onCalendarAdd(
177
-				$event->getArgument('calendarData')
178
-			);
179
-		});
180
-		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::updateCalendar', function (GenericEvent $event) use ($container) {
181
-			/** @var Backend $backend */
182
-			$backend = $container->query(Backend::class);
183
-			$backend->onCalendarUpdate(
184
-				$event->getArgument('calendarData'),
185
-				$event->getArgument('shares'),
186
-				$event->getArgument('propertyMutations')
187
-			);
188
-		});
189
-		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::deleteCalendar', function (GenericEvent $event) use ($container) {
190
-			/** @var Backend $backend */
191
-			$backend = $container->query(Backend::class);
192
-			$backend->onCalendarDelete(
193
-				$event->getArgument('calendarData'),
194
-				$event->getArgument('shares')
195
-			);
196
-
197
-			/** @var ReminderBackend $reminderBackend */
198
-			$reminderBackend = $container->query(ReminderBackend::class);
199
-			$reminderBackend->cleanRemindersForCalendar(
200
-				(int) $event->getArgument('calendarId')
201
-			);
202
-		});
203
-		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::updateShares', function (GenericEvent $event) use ($container) {
204
-			/** @var Backend $backend */
205
-			$backend = $container->query(Backend::class);
206
-			$backend->onCalendarUpdateShares(
207
-				$event->getArgument('calendarData'),
208
-				$event->getArgument('shares'),
209
-				$event->getArgument('add'),
210
-				$event->getArgument('remove')
211
-			);
212
-
213
-			// Here we should recalculate if reminders should be sent to new or old sharees
214
-		});
215
-
216
-		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::publishCalendar', function (GenericEvent $event) use ($container) {
217
-			/** @var Backend $backend */
218
-			$backend = $container->query(Backend::class);
219
-			$backend->onCalendarPublication(
220
-				$event->getArgument('calendarData'),
221
-				$event->getArgument('public')
222
-			);
223
-		});
224
-
225
-		$listener = function (GenericEvent $event, $eventName) use ($container) {
226
-			/** @var Backend $backend */
227
-			$backend = $container->query(Backend::class);
228
-
229
-			$subject = Event::SUBJECT_OBJECT_ADD;
230
-			if ($eventName === '\OCA\DAV\CalDAV\CalDavBackend::updateCalendarObject') {
231
-				$subject = Event::SUBJECT_OBJECT_UPDATE;
232
-			} elseif ($eventName === '\OCA\DAV\CalDAV\CalDavBackend::deleteCalendarObject') {
233
-				$subject = Event::SUBJECT_OBJECT_DELETE;
234
-			}
235
-			$backend->onTouchCalendarObject(
236
-				$subject,
237
-				$event->getArgument('calendarData'),
238
-				$event->getArgument('shares'),
239
-				$event->getArgument('objectData')
240
-			);
241
-
242
-			/** @var ReminderService $reminderBackend */
243
-			$reminderService = $container->query(ReminderService::class);
244
-
245
-			$reminderService->onTouchCalendarObject(
246
-				$eventName,
247
-				$event->getArgument('objectData')
248
-			);
249
-		};
250
-		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::createCalendarObject', $listener);
251
-		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::updateCalendarObject', $listener);
252
-		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::deleteCalendarObject', $listener);
253
-
254
-		/**
255
-		 * In case the user has set their default calendar to this one
256
-		 */
257
-		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::deleteCalendar', function (GenericEvent $event) use ($serverContainer) {
258
-			/** @var IConfig $config */
259
-			$config = $serverContainer->getConfig();
260
-			$principalUri = $event->getArgument('calendarData')['principaluri'];
261
-			if (strpos($principalUri, 'principals/users') === 0) {
262
-				list(, $UID) = \Sabre\Uri\split($principalUri);
263
-				$uri = $event->getArgument('calendarData')['uri'];
264
-				if ($config->getUserValue($UID, 'dav', 'defaultCalendar') === $uri) {
265
-					$config->deleteUserValue($UID, 'dav', 'defaultCalendar');
266
-				}
267
-			}
268
-		});
269
-
270
-		$dispatcher->addListener('OCP\Federation\TrustedServerEvent::remove',
271
-			function (GenericEvent $event) {
272
-				/** @var CardDavBackend $cardDavBackend */
273
-				$cardDavBackend = \OC::$server->query(CardDavBackend::class);
274
-				$addressBookUri = $event->getSubject();
275
-				$addressBook = $cardDavBackend->getAddressBooksByUri('principals/system/system', $addressBookUri);
276
-				if (!is_null($addressBook)) {
277
-					$cardDavBackend->deleteAddressBook($addressBook['id']);
278
-				}
279
-			}
280
-		);
281
-
282
-		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::createSubscription',
283
-			function (GenericEvent $event) use ($container, $serverContainer) {
284
-				$jobList = $serverContainer->getJobList();
285
-				$subscriptionData = $event->getArgument('subscriptionData');
286
-
287
-				/**
288
-				 * Initial subscription refetch
289
-				 *
290
-				 * @var RefreshWebcalService $refreshWebcalService
291
-				 */
292
-				$refreshWebcalService = $container->query(RefreshWebcalService::class);
293
-				$refreshWebcalService->refreshSubscription(
294
-					(string) $subscriptionData['principaluri'],
295
-					(string) $subscriptionData['uri']
296
-				);
297
-
298
-				$jobList->add(\OCA\DAV\BackgroundJob\RefreshWebcalJob::class, [
299
-					'principaluri' => $subscriptionData['principaluri'],
300
-					'uri' => $subscriptionData['uri']
301
-				]);
302
-			}
303
-		);
304
-
305
-		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::deleteSubscription',
306
-			function (GenericEvent $event) use ($container, $serverContainer) {
307
-				$jobList = $serverContainer->getJobList();
308
-				$subscriptionData = $event->getArgument('subscriptionData');
309
-
310
-				$jobList->remove(\OCA\DAV\BackgroundJob\RefreshWebcalJob::class, [
311
-					'principaluri' => $subscriptionData['principaluri'],
312
-					'uri' => $subscriptionData['uri']
313
-				]);
314
-
315
-				/** @var CalDavBackend $calDavBackend */
316
-				$calDavBackend = $container->query(CalDavBackend::class);
317
-				$calDavBackend->purgeAllCachedEventsForSubscription($subscriptionData['id']);
318
-			}
319
-		);
320
-
321
-		$eventHandler = function () use ($container, $serverContainer) {
322
-			try {
323
-				/** @var UpdateCalendarResourcesRoomsBackgroundJob $job */
324
-				$job = $container->query(UpdateCalendarResourcesRoomsBackgroundJob::class);
325
-				$job->run([]);
326
-				$serverContainer->getJobList()->setLastRun($job);
327
-			} catch (Exception $ex) {
328
-				$serverContainer->getLogger()->logException($ex);
329
-			}
330
-		};
331
-
332
-		$dispatcher->addListener('\OCP\Calendar\Resource\ForceRefreshEvent', $eventHandler);
333
-		$dispatcher->addListener('\OCP\Calendar\Room\ForceRefreshEvent', $eventHandler);
334
-	}
335
-
336
-	public function registerContactsManager(IContactsManager $cm, IAppContainer $container): void {
337
-		$cm->register(function () use ($container, $cm): void {
338
-			$user = \OC::$server->getUserSession()->getUser();
339
-			if (!is_null($user)) {
340
-				$this->setupContactsProvider($cm, $container, $user->getUID());
341
-			} else {
342
-				$this->setupSystemContactsProvider($cm, $container);
343
-			}
344
-		});
345
-	}
346
-
347
-	private function setupContactsProvider(IContactsManager $contactsManager,
348
-										   IAppContainer $container,
349
-										   string $userID): void {
350
-		/** @var ContactsManager $cm */
351
-		$cm = $container->query(ContactsManager::class);
352
-		$urlGenerator = $container->getServer()->getURLGenerator();
353
-		$cm->setupContactsProvider($contactsManager, $userID, $urlGenerator);
354
-	}
355
-
356
-	private function setupSystemContactsProvider(IContactsManager $contactsManager,
357
-												 IAppContainer $container): void {
358
-		/** @var ContactsManager $cm */
359
-		$cm = $container->query(ContactsManager::class);
360
-		$urlGenerator = $container->getServer()->getURLGenerator();
361
-		$cm->setupSystemContactsProvider($contactsManager, $urlGenerator);
362
-	}
363
-
364
-	public function registerCalendarManager(ICalendarManager $calendarManager,
365
-											 IAppContainer $container): void {
366
-		$calendarManager->register(function () use ($container, $calendarManager) {
367
-			$user = \OC::$server->getUserSession()->getUser();
368
-			if ($user !== null) {
369
-				$this->setupCalendarProvider($calendarManager, $container, $user->getUID());
370
-			}
371
-		});
372
-	}
373
-
374
-	private function setupCalendarProvider(ICalendarManager $calendarManager,
375
-										   IAppContainer $container,
376
-										   $userId) {
377
-		$cm = $container->query(CalendarManager::class);
378
-		$cm->setupCalendarProvider($calendarManager, $userId);
379
-	}
380
-
381
-	public function registerNotifier(INotificationManager $manager): void {
382
-		$manager->registerNotifierService(Notifier::class);
383
-	}
384
-
385
-	public function registerCalendarReminders(NotificationProviderManager $manager,
386
-											   ILogger $logger): void {
387
-		try {
388
-			$manager->registerProvider(AudioProvider::class);
389
-			$manager->registerProvider(EmailProvider::class);
390
-			$manager->registerProvider(PushProvider::class);
391
-		} catch (Throwable $ex) {
392
-			$logger->logException($ex);
393
-		}
394
-	}
101
+        $context->registerCapability(Capabilities::class);
102
+    }
103
+
104
+    public function boot(IBootContext $context): void {
105
+        // Load all dav apps
106
+        \OC_App::loadApps(['dav']);
107
+
108
+        $context->injectFn([$this, 'registerHooks']);
109
+        $context->injectFn([$this, 'registerContactsManager']);
110
+        $context->injectFn([$this, 'registerCalendarManager']);
111
+        $context->injectFn([$this, 'registerNotifier']);
112
+        $context->injectFn([$this, 'registerCalendarReminders']);
113
+    }
114
+
115
+    public function registerHooks(HookManager $hm,
116
+                                    EventDispatcherInterface $dispatcher,
117
+                                    IAppContainer $container,
118
+                                    IServerContainer $serverContainer) {
119
+        $hm->setup();
120
+
121
+        // first time login event setup
122
+        $dispatcher->addListener(IUser::class . '::firstLogin', function ($event) use ($hm) {
123
+            if ($event instanceof GenericEvent) {
124
+                $hm->firstLogin($event->getSubject());
125
+            }
126
+        });
127
+
128
+        $birthdayListener = function ($event) use ($container) {
129
+            if ($event instanceof GenericEvent) {
130
+                /** @var BirthdayService $b */
131
+                $b = $container->query(BirthdayService::class);
132
+                $b->onCardChanged(
133
+                    (int) $event->getArgument('addressBookId'),
134
+                    (string) $event->getArgument('cardUri'),
135
+                    (string) $event->getArgument('cardData')
136
+                );
137
+            }
138
+        };
139
+
140
+        $dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::createCard', $birthdayListener);
141
+        $dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::updateCard', $birthdayListener);
142
+        $dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::deleteCard', function ($event) use ($container) {
143
+            if ($event instanceof GenericEvent) {
144
+                /** @var BirthdayService $b */
145
+                $b = $container->query(BirthdayService::class);
146
+                $b->onCardDeleted(
147
+                    (int) $event->getArgument('addressBookId'),
148
+                    (string) $event->getArgument('cardUri')
149
+                );
150
+            }
151
+        });
152
+
153
+        $clearPhotoCache = function ($event) use ($container) {
154
+            if ($event instanceof GenericEvent) {
155
+                /** @var PhotoCache $p */
156
+                $p = $container->query(PhotoCache::class);
157
+                $p->delete(
158
+                    $event->getArgument('addressBookId'),
159
+                    $event->getArgument('cardUri')
160
+                );
161
+            }
162
+        };
163
+        $dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::updateCard', $clearPhotoCache);
164
+        $dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::deleteCard', $clearPhotoCache);
165
+
166
+        $dispatcher->addListener('OC\AccountManager::userUpdated', function (GenericEvent $event) use ($container) {
167
+            $user = $event->getSubject();
168
+            /** @var SyncService $syncService */
169
+            $syncService = $container->query(SyncService::class);
170
+            $syncService->updateUser($user);
171
+        });
172
+
173
+        $dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::createCalendar', function (GenericEvent $event) use ($container) {
174
+            /** @var Backend $backend */
175
+            $backend = $container->query(Backend::class);
176
+            $backend->onCalendarAdd(
177
+                $event->getArgument('calendarData')
178
+            );
179
+        });
180
+        $dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::updateCalendar', function (GenericEvent $event) use ($container) {
181
+            /** @var Backend $backend */
182
+            $backend = $container->query(Backend::class);
183
+            $backend->onCalendarUpdate(
184
+                $event->getArgument('calendarData'),
185
+                $event->getArgument('shares'),
186
+                $event->getArgument('propertyMutations')
187
+            );
188
+        });
189
+        $dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::deleteCalendar', function (GenericEvent $event) use ($container) {
190
+            /** @var Backend $backend */
191
+            $backend = $container->query(Backend::class);
192
+            $backend->onCalendarDelete(
193
+                $event->getArgument('calendarData'),
194
+                $event->getArgument('shares')
195
+            );
196
+
197
+            /** @var ReminderBackend $reminderBackend */
198
+            $reminderBackend = $container->query(ReminderBackend::class);
199
+            $reminderBackend->cleanRemindersForCalendar(
200
+                (int) $event->getArgument('calendarId')
201
+            );
202
+        });
203
+        $dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::updateShares', function (GenericEvent $event) use ($container) {
204
+            /** @var Backend $backend */
205
+            $backend = $container->query(Backend::class);
206
+            $backend->onCalendarUpdateShares(
207
+                $event->getArgument('calendarData'),
208
+                $event->getArgument('shares'),
209
+                $event->getArgument('add'),
210
+                $event->getArgument('remove')
211
+            );
212
+
213
+            // Here we should recalculate if reminders should be sent to new or old sharees
214
+        });
215
+
216
+        $dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::publishCalendar', function (GenericEvent $event) use ($container) {
217
+            /** @var Backend $backend */
218
+            $backend = $container->query(Backend::class);
219
+            $backend->onCalendarPublication(
220
+                $event->getArgument('calendarData'),
221
+                $event->getArgument('public')
222
+            );
223
+        });
224
+
225
+        $listener = function (GenericEvent $event, $eventName) use ($container) {
226
+            /** @var Backend $backend */
227
+            $backend = $container->query(Backend::class);
228
+
229
+            $subject = Event::SUBJECT_OBJECT_ADD;
230
+            if ($eventName === '\OCA\DAV\CalDAV\CalDavBackend::updateCalendarObject') {
231
+                $subject = Event::SUBJECT_OBJECT_UPDATE;
232
+            } elseif ($eventName === '\OCA\DAV\CalDAV\CalDavBackend::deleteCalendarObject') {
233
+                $subject = Event::SUBJECT_OBJECT_DELETE;
234
+            }
235
+            $backend->onTouchCalendarObject(
236
+                $subject,
237
+                $event->getArgument('calendarData'),
238
+                $event->getArgument('shares'),
239
+                $event->getArgument('objectData')
240
+            );
241
+
242
+            /** @var ReminderService $reminderBackend */
243
+            $reminderService = $container->query(ReminderService::class);
244
+
245
+            $reminderService->onTouchCalendarObject(
246
+                $eventName,
247
+                $event->getArgument('objectData')
248
+            );
249
+        };
250
+        $dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::createCalendarObject', $listener);
251
+        $dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::updateCalendarObject', $listener);
252
+        $dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::deleteCalendarObject', $listener);
253
+
254
+        /**
255
+         * In case the user has set their default calendar to this one
256
+         */
257
+        $dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::deleteCalendar', function (GenericEvent $event) use ($serverContainer) {
258
+            /** @var IConfig $config */
259
+            $config = $serverContainer->getConfig();
260
+            $principalUri = $event->getArgument('calendarData')['principaluri'];
261
+            if (strpos($principalUri, 'principals/users') === 0) {
262
+                list(, $UID) = \Sabre\Uri\split($principalUri);
263
+                $uri = $event->getArgument('calendarData')['uri'];
264
+                if ($config->getUserValue($UID, 'dav', 'defaultCalendar') === $uri) {
265
+                    $config->deleteUserValue($UID, 'dav', 'defaultCalendar');
266
+                }
267
+            }
268
+        });
269
+
270
+        $dispatcher->addListener('OCP\Federation\TrustedServerEvent::remove',
271
+            function (GenericEvent $event) {
272
+                /** @var CardDavBackend $cardDavBackend */
273
+                $cardDavBackend = \OC::$server->query(CardDavBackend::class);
274
+                $addressBookUri = $event->getSubject();
275
+                $addressBook = $cardDavBackend->getAddressBooksByUri('principals/system/system', $addressBookUri);
276
+                if (!is_null($addressBook)) {
277
+                    $cardDavBackend->deleteAddressBook($addressBook['id']);
278
+                }
279
+            }
280
+        );
281
+
282
+        $dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::createSubscription',
283
+            function (GenericEvent $event) use ($container, $serverContainer) {
284
+                $jobList = $serverContainer->getJobList();
285
+                $subscriptionData = $event->getArgument('subscriptionData');
286
+
287
+                /**
288
+                 * Initial subscription refetch
289
+                 *
290
+                 * @var RefreshWebcalService $refreshWebcalService
291
+                 */
292
+                $refreshWebcalService = $container->query(RefreshWebcalService::class);
293
+                $refreshWebcalService->refreshSubscription(
294
+                    (string) $subscriptionData['principaluri'],
295
+                    (string) $subscriptionData['uri']
296
+                );
297
+
298
+                $jobList->add(\OCA\DAV\BackgroundJob\RefreshWebcalJob::class, [
299
+                    'principaluri' => $subscriptionData['principaluri'],
300
+                    'uri' => $subscriptionData['uri']
301
+                ]);
302
+            }
303
+        );
304
+
305
+        $dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::deleteSubscription',
306
+            function (GenericEvent $event) use ($container, $serverContainer) {
307
+                $jobList = $serverContainer->getJobList();
308
+                $subscriptionData = $event->getArgument('subscriptionData');
309
+
310
+                $jobList->remove(\OCA\DAV\BackgroundJob\RefreshWebcalJob::class, [
311
+                    'principaluri' => $subscriptionData['principaluri'],
312
+                    'uri' => $subscriptionData['uri']
313
+                ]);
314
+
315
+                /** @var CalDavBackend $calDavBackend */
316
+                $calDavBackend = $container->query(CalDavBackend::class);
317
+                $calDavBackend->purgeAllCachedEventsForSubscription($subscriptionData['id']);
318
+            }
319
+        );
320
+
321
+        $eventHandler = function () use ($container, $serverContainer) {
322
+            try {
323
+                /** @var UpdateCalendarResourcesRoomsBackgroundJob $job */
324
+                $job = $container->query(UpdateCalendarResourcesRoomsBackgroundJob::class);
325
+                $job->run([]);
326
+                $serverContainer->getJobList()->setLastRun($job);
327
+            } catch (Exception $ex) {
328
+                $serverContainer->getLogger()->logException($ex);
329
+            }
330
+        };
331
+
332
+        $dispatcher->addListener('\OCP\Calendar\Resource\ForceRefreshEvent', $eventHandler);
333
+        $dispatcher->addListener('\OCP\Calendar\Room\ForceRefreshEvent', $eventHandler);
334
+    }
335
+
336
+    public function registerContactsManager(IContactsManager $cm, IAppContainer $container): void {
337
+        $cm->register(function () use ($container, $cm): void {
338
+            $user = \OC::$server->getUserSession()->getUser();
339
+            if (!is_null($user)) {
340
+                $this->setupContactsProvider($cm, $container, $user->getUID());
341
+            } else {
342
+                $this->setupSystemContactsProvider($cm, $container);
343
+            }
344
+        });
345
+    }
346
+
347
+    private function setupContactsProvider(IContactsManager $contactsManager,
348
+                                            IAppContainer $container,
349
+                                            string $userID): void {
350
+        /** @var ContactsManager $cm */
351
+        $cm = $container->query(ContactsManager::class);
352
+        $urlGenerator = $container->getServer()->getURLGenerator();
353
+        $cm->setupContactsProvider($contactsManager, $userID, $urlGenerator);
354
+    }
355
+
356
+    private function setupSystemContactsProvider(IContactsManager $contactsManager,
357
+                                                    IAppContainer $container): void {
358
+        /** @var ContactsManager $cm */
359
+        $cm = $container->query(ContactsManager::class);
360
+        $urlGenerator = $container->getServer()->getURLGenerator();
361
+        $cm->setupSystemContactsProvider($contactsManager, $urlGenerator);
362
+    }
363
+
364
+    public function registerCalendarManager(ICalendarManager $calendarManager,
365
+                                                IAppContainer $container): void {
366
+        $calendarManager->register(function () use ($container, $calendarManager) {
367
+            $user = \OC::$server->getUserSession()->getUser();
368
+            if ($user !== null) {
369
+                $this->setupCalendarProvider($calendarManager, $container, $user->getUID());
370
+            }
371
+        });
372
+    }
373
+
374
+    private function setupCalendarProvider(ICalendarManager $calendarManager,
375
+                                            IAppContainer $container,
376
+                                            $userId) {
377
+        $cm = $container->query(CalendarManager::class);
378
+        $cm->setupCalendarProvider($calendarManager, $userId);
379
+    }
380
+
381
+    public function registerNotifier(INotificationManager $manager): void {
382
+        $manager->registerNotifierService(Notifier::class);
383
+    }
384
+
385
+    public function registerCalendarReminders(NotificationProviderManager $manager,
386
+                                                ILogger $logger): void {
387
+        try {
388
+            $manager->registerProvider(AudioProvider::class);
389
+            $manager->registerProvider(EmailProvider::class);
390
+            $manager->registerProvider(PushProvider::class);
391
+        } catch (Throwable $ex) {
392
+            $logger->logException($ex);
393
+        }
394
+    }
395 395
 }
Please login to merge, or discard this patch.
Spacing   +19 added lines, -19 removed lines patch added patch discarded remove patch
@@ -85,7 +85,7 @@  discard block
 block discarded – undo
85 85
 
86 86
 	public function register(IRegistrationContext $context): void {
87 87
 		$context->registerServiceAlias('CardDAVSyncService', SyncService::class);
88
-		$context->registerService(PhotoCache::class, function (IContainer $c) {
88
+		$context->registerService(PhotoCache::class, function(IContainer $c) {
89 89
 			/** @var IServerContainer $server */
90 90
 			$server = $c->query(IServerContainer::class);
91 91
 
@@ -119,13 +119,13 @@  discard block
 block discarded – undo
119 119
 		$hm->setup();
120 120
 
121 121
 		// first time login event setup
122
-		$dispatcher->addListener(IUser::class . '::firstLogin', function ($event) use ($hm) {
122
+		$dispatcher->addListener(IUser::class.'::firstLogin', function($event) use ($hm) {
123 123
 			if ($event instanceof GenericEvent) {
124 124
 				$hm->firstLogin($event->getSubject());
125 125
 			}
126 126
 		});
127 127
 
128
-		$birthdayListener = function ($event) use ($container) {
128
+		$birthdayListener = function($event) use ($container) {
129 129
 			if ($event instanceof GenericEvent) {
130 130
 				/** @var BirthdayService $b */
131 131
 				$b = $container->query(BirthdayService::class);
@@ -139,7 +139,7 @@  discard block
 block discarded – undo
139 139
 
140 140
 		$dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::createCard', $birthdayListener);
141 141
 		$dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::updateCard', $birthdayListener);
142
-		$dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::deleteCard', function ($event) use ($container) {
142
+		$dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::deleteCard', function($event) use ($container) {
143 143
 			if ($event instanceof GenericEvent) {
144 144
 				/** @var BirthdayService $b */
145 145
 				$b = $container->query(BirthdayService::class);
@@ -150,7 +150,7 @@  discard block
 block discarded – undo
150 150
 			}
151 151
 		});
152 152
 
153
-		$clearPhotoCache = function ($event) use ($container) {
153
+		$clearPhotoCache = function($event) use ($container) {
154 154
 			if ($event instanceof GenericEvent) {
155 155
 				/** @var PhotoCache $p */
156 156
 				$p = $container->query(PhotoCache::class);
@@ -163,21 +163,21 @@  discard block
 block discarded – undo
163 163
 		$dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::updateCard', $clearPhotoCache);
164 164
 		$dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::deleteCard', $clearPhotoCache);
165 165
 
166
-		$dispatcher->addListener('OC\AccountManager::userUpdated', function (GenericEvent $event) use ($container) {
166
+		$dispatcher->addListener('OC\AccountManager::userUpdated', function(GenericEvent $event) use ($container) {
167 167
 			$user = $event->getSubject();
168 168
 			/** @var SyncService $syncService */
169 169
 			$syncService = $container->query(SyncService::class);
170 170
 			$syncService->updateUser($user);
171 171
 		});
172 172
 
173
-		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::createCalendar', function (GenericEvent $event) use ($container) {
173
+		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::createCalendar', function(GenericEvent $event) use ($container) {
174 174
 			/** @var Backend $backend */
175 175
 			$backend = $container->query(Backend::class);
176 176
 			$backend->onCalendarAdd(
177 177
 				$event->getArgument('calendarData')
178 178
 			);
179 179
 		});
180
-		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::updateCalendar', function (GenericEvent $event) use ($container) {
180
+		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::updateCalendar', function(GenericEvent $event) use ($container) {
181 181
 			/** @var Backend $backend */
182 182
 			$backend = $container->query(Backend::class);
183 183
 			$backend->onCalendarUpdate(
@@ -186,7 +186,7 @@  discard block
 block discarded – undo
186 186
 				$event->getArgument('propertyMutations')
187 187
 			);
188 188
 		});
189
-		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::deleteCalendar', function (GenericEvent $event) use ($container) {
189
+		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::deleteCalendar', function(GenericEvent $event) use ($container) {
190 190
 			/** @var Backend $backend */
191 191
 			$backend = $container->query(Backend::class);
192 192
 			$backend->onCalendarDelete(
@@ -200,7 +200,7 @@  discard block
 block discarded – undo
200 200
 				(int) $event->getArgument('calendarId')
201 201
 			);
202 202
 		});
203
-		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::updateShares', function (GenericEvent $event) use ($container) {
203
+		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::updateShares', function(GenericEvent $event) use ($container) {
204 204
 			/** @var Backend $backend */
205 205
 			$backend = $container->query(Backend::class);
206 206
 			$backend->onCalendarUpdateShares(
@@ -213,7 +213,7 @@  discard block
 block discarded – undo
213 213
 			// Here we should recalculate if reminders should be sent to new or old sharees
214 214
 		});
215 215
 
216
-		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::publishCalendar', function (GenericEvent $event) use ($container) {
216
+		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::publishCalendar', function(GenericEvent $event) use ($container) {
217 217
 			/** @var Backend $backend */
218 218
 			$backend = $container->query(Backend::class);
219 219
 			$backend->onCalendarPublication(
@@ -222,7 +222,7 @@  discard block
 block discarded – undo
222 222
 			);
223 223
 		});
224 224
 
225
-		$listener = function (GenericEvent $event, $eventName) use ($container) {
225
+		$listener = function(GenericEvent $event, $eventName) use ($container) {
226 226
 			/** @var Backend $backend */
227 227
 			$backend = $container->query(Backend::class);
228 228
 
@@ -254,7 +254,7 @@  discard block
 block discarded – undo
254 254
 		/**
255 255
 		 * In case the user has set their default calendar to this one
256 256
 		 */
257
-		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::deleteCalendar', function (GenericEvent $event) use ($serverContainer) {
257
+		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::deleteCalendar', function(GenericEvent $event) use ($serverContainer) {
258 258
 			/** @var IConfig $config */
259 259
 			$config = $serverContainer->getConfig();
260 260
 			$principalUri = $event->getArgument('calendarData')['principaluri'];
@@ -268,7 +268,7 @@  discard block
 block discarded – undo
268 268
 		});
269 269
 
270 270
 		$dispatcher->addListener('OCP\Federation\TrustedServerEvent::remove',
271
-			function (GenericEvent $event) {
271
+			function(GenericEvent $event) {
272 272
 				/** @var CardDavBackend $cardDavBackend */
273 273
 				$cardDavBackend = \OC::$server->query(CardDavBackend::class);
274 274
 				$addressBookUri = $event->getSubject();
@@ -280,7 +280,7 @@  discard block
 block discarded – undo
280 280
 		);
281 281
 
282 282
 		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::createSubscription',
283
-			function (GenericEvent $event) use ($container, $serverContainer) {
283
+			function(GenericEvent $event) use ($container, $serverContainer) {
284 284
 				$jobList = $serverContainer->getJobList();
285 285
 				$subscriptionData = $event->getArgument('subscriptionData');
286 286
 
@@ -303,7 +303,7 @@  discard block
 block discarded – undo
303 303
 		);
304 304
 
305 305
 		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::deleteSubscription',
306
-			function (GenericEvent $event) use ($container, $serverContainer) {
306
+			function(GenericEvent $event) use ($container, $serverContainer) {
307 307
 				$jobList = $serverContainer->getJobList();
308 308
 				$subscriptionData = $event->getArgument('subscriptionData');
309 309
 
@@ -318,7 +318,7 @@  discard block
 block discarded – undo
318 318
 			}
319 319
 		);
320 320
 
321
-		$eventHandler = function () use ($container, $serverContainer) {
321
+		$eventHandler = function() use ($container, $serverContainer) {
322 322
 			try {
323 323
 				/** @var UpdateCalendarResourcesRoomsBackgroundJob $job */
324 324
 				$job = $container->query(UpdateCalendarResourcesRoomsBackgroundJob::class);
@@ -334,7 +334,7 @@  discard block
 block discarded – undo
334 334
 	}
335 335
 
336 336
 	public function registerContactsManager(IContactsManager $cm, IAppContainer $container): void {
337
-		$cm->register(function () use ($container, $cm): void {
337
+		$cm->register(function() use ($container, $cm): void {
338 338
 			$user = \OC::$server->getUserSession()->getUser();
339 339
 			if (!is_null($user)) {
340 340
 				$this->setupContactsProvider($cm, $container, $user->getUID());
@@ -363,7 +363,7 @@  discard block
 block discarded – undo
363 363
 
364 364
 	public function registerCalendarManager(ICalendarManager $calendarManager,
365 365
 											 IAppContainer $container): void {
366
-		$calendarManager->register(function () use ($container, $calendarManager) {
366
+		$calendarManager->register(function() use ($container, $calendarManager) {
367 367
 			$user = \OC::$server->getUserSession()->getUser();
368 368
 			if ($user !== null) {
369 369
 				$this->setupCalendarProvider($calendarManager, $container, $user->getUID());
Please login to merge, or discard this patch.
apps/accessibility/lib/AppInfo/Application.php 2 patches
Indentation   +39 added lines, -39 removed lines patch added patch discarded remove patch
@@ -45,49 +45,49 @@
 block discarded – undo
45 45
 
46 46
 class Application extends App implements IBootstrap {
47 47
 
48
-	/** @var string */
49
-	public const APP_ID = 'accessibility';
48
+    /** @var string */
49
+    public const APP_ID = 'accessibility';
50 50
 
51
-	public function __construct() {
52
-		parent::__construct(self::APP_ID);
53
-	}
51
+    public function __construct() {
52
+        parent::__construct(self::APP_ID);
53
+    }
54 54
 
55
-	public function register(IRegistrationContext $context): void {
56
-	}
55
+    public function register(IRegistrationContext $context): void {
56
+    }
57 57
 
58
-	public function boot(IBootContext $context): void {
59
-		$context->injectFn([$this, 'injectCss']);
60
-		$context->injectFn([$this, 'registerInitialState']);
61
-	}
58
+    public function boot(IBootContext $context): void {
59
+        $context->injectFn([$this, 'injectCss']);
60
+        $context->injectFn([$this, 'registerInitialState']);
61
+    }
62 62
 
63
-	public function injectCss(IUserSession $userSession,
64
-							   IConfig $config,
65
-							   IURLGenerator $urlGenerator) {
66
-		// Inject the fake css on all pages if enabled and user is logged
67
-		$loggedUser = $userSession->getUser();
68
-		if ($loggedUser !== null) {
69
-			$userValues = $config->getUserKeys($loggedUser->getUID(), self::APP_ID);
70
-			// we want to check if any theme or font is enabled.
71
-			if (count($userValues) > 0) {
72
-				$hash = $config->getUserValue($loggedUser->getUID(), self::APP_ID, 'icons-css', md5(implode('-', $userValues)));
73
-				$linkToCSS = $urlGenerator->linkToRoute(self::APP_ID . '.accessibility.getCss', ['md5' => $hash]);
74
-				\OCP\Util::addHeader('link', ['rel' => 'stylesheet', 'href' => $linkToCSS]);
75
-			}
76
-		} else {
77
-			$userValues = ['dark'];
63
+    public function injectCss(IUserSession $userSession,
64
+                                IConfig $config,
65
+                                IURLGenerator $urlGenerator) {
66
+        // Inject the fake css on all pages if enabled and user is logged
67
+        $loggedUser = $userSession->getUser();
68
+        if ($loggedUser !== null) {
69
+            $userValues = $config->getUserKeys($loggedUser->getUID(), self::APP_ID);
70
+            // we want to check if any theme or font is enabled.
71
+            if (count($userValues) > 0) {
72
+                $hash = $config->getUserValue($loggedUser->getUID(), self::APP_ID, 'icons-css', md5(implode('-', $userValues)));
73
+                $linkToCSS = $urlGenerator->linkToRoute(self::APP_ID . '.accessibility.getCss', ['md5' => $hash]);
74
+                \OCP\Util::addHeader('link', ['rel' => 'stylesheet', 'href' => $linkToCSS]);
75
+            }
76
+        } else {
77
+            $userValues = ['dark'];
78 78
 
79
-			$hash = md5(implode('-', $userValues));
80
-			$linkToCSS = $urlGenerator->linkToRoute(self::APP_ID . '.accessibility.getCss', ['md5' => $hash]);
81
-			\OCP\Util::addHeader('link', ['rel' => 'stylesheet', 'media' => '(prefers-color-scheme: dark)', 'href' => $linkToCSS]);
82
-		}
83
-	}
79
+            $hash = md5(implode('-', $userValues));
80
+            $linkToCSS = $urlGenerator->linkToRoute(self::APP_ID . '.accessibility.getCss', ['md5' => $hash]);
81
+            \OCP\Util::addHeader('link', ['rel' => 'stylesheet', 'media' => '(prefers-color-scheme: dark)', 'href' => $linkToCSS]);
82
+        }
83
+    }
84 84
 
85
-	public function registerInitialState(IInitialStateService $initialState,
86
-										  IAppContainer $container) {
87
-		$initialState->provideLazyInitialState(self::APP_ID, 'data', function () use ($container) {
88
-			/** @var JSDataService $data */
89
-			$data = $container->query(JSDataService::class);
90
-			return $data;
91
-		});
92
-	}
85
+    public function registerInitialState(IInitialStateService $initialState,
86
+                                            IAppContainer $container) {
87
+        $initialState->provideLazyInitialState(self::APP_ID, 'data', function () use ($container) {
88
+            /** @var JSDataService $data */
89
+            $data = $container->query(JSDataService::class);
90
+            return $data;
91
+        });
92
+    }
93 93
 }
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -70,21 +70,21 @@
 block discarded – undo
70 70
 			// we want to check if any theme or font is enabled.
71 71
 			if (count($userValues) > 0) {
72 72
 				$hash = $config->getUserValue($loggedUser->getUID(), self::APP_ID, 'icons-css', md5(implode('-', $userValues)));
73
-				$linkToCSS = $urlGenerator->linkToRoute(self::APP_ID . '.accessibility.getCss', ['md5' => $hash]);
73
+				$linkToCSS = $urlGenerator->linkToRoute(self::APP_ID.'.accessibility.getCss', ['md5' => $hash]);
74 74
 				\OCP\Util::addHeader('link', ['rel' => 'stylesheet', 'href' => $linkToCSS]);
75 75
 			}
76 76
 		} else {
77 77
 			$userValues = ['dark'];
78 78
 
79 79
 			$hash = md5(implode('-', $userValues));
80
-			$linkToCSS = $urlGenerator->linkToRoute(self::APP_ID . '.accessibility.getCss', ['md5' => $hash]);
80
+			$linkToCSS = $urlGenerator->linkToRoute(self::APP_ID.'.accessibility.getCss', ['md5' => $hash]);
81 81
 			\OCP\Util::addHeader('link', ['rel' => 'stylesheet', 'media' => '(prefers-color-scheme: dark)', 'href' => $linkToCSS]);
82 82
 		}
83 83
 	}
84 84
 
85 85
 	public function registerInitialState(IInitialStateService $initialState,
86 86
 										  IAppContainer $container) {
87
-		$initialState->provideLazyInitialState(self::APP_ID, 'data', function () use ($container) {
87
+		$initialState->provideLazyInitialState(self::APP_ID, 'data', function() use ($container) {
88 88
 			/** @var JSDataService $data */
89 89
 			$data = $container->query(JSDataService::class);
90 90
 			return $data;
Please login to merge, or discard this patch.
apps/admin_audit/lib/AppInfo/Application.php 1 patch
Indentation   +209 added lines, -209 removed lines patch added patch discarded remove patch
@@ -68,220 +68,220 @@
 block discarded – undo
68 68
 
69 69
 class Application extends App implements IBootstrap {
70 70
 
71
-	/** @var ILogger */
72
-	protected $logger;
71
+    /** @var ILogger */
72
+    protected $logger;
73 73
 
74
-	public function __construct() {
75
-		parent::__construct('admin_audit');
76
-	}
74
+    public function __construct() {
75
+        parent::__construct('admin_audit');
76
+    }
77 77
 
78
-	public function register(IRegistrationContext $context): void {
79
-	}
78
+    public function register(IRegistrationContext $context): void {
79
+    }
80 80
 
81
-	public function boot(IBootContext $context): void {
82
-		/** @var ILogger $logger */
83
-		$logger = $context->injectFn(
84
-			Closure::fromCallable([$this, 'getLogger'])
85
-		);
81
+    public function boot(IBootContext $context): void {
82
+        /** @var ILogger $logger */
83
+        $logger = $context->injectFn(
84
+            Closure::fromCallable([$this, 'getLogger'])
85
+        );
86 86
 
87
-		/*
87
+        /*
88 88
 		 * TODO: once the hooks are migrated to lazy events, this should be done
89 89
 		 *       in \OCA\AdminAudit\AppInfo\Application::register
90 90
 		 */
91
-		$this->registerHooks($logger, $context->getServerContainer());
92
-	}
93
-
94
-	private function getLogger(IConfig $config,
95
-							   ILogger $logger,
96
-							   ILogFactory $logFactory): ILogger {
97
-		$default = $config->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data') . '/audit.log';
98
-		$logFile = $config->getAppValue('admin_audit', 'logfile', $default);
99
-
100
-		if ($logFile === null) {
101
-			return $logger;
102
-		}
103
-		return $logFactory->getCustomLogger($logFile);
104
-	}
105
-
106
-	/**
107
-	 * Register hooks in order to log them
108
-	 */
109
-	private function registerHooks(ILogger $logger,
110
-									 IServerContainer $serverContainer) {
111
-		$this->userManagementHooks($logger, $serverContainer);
112
-		$this->groupHooks($logger, $serverContainer);
113
-		$this->authHooks($logger);
114
-
115
-		$this->consoleHooks($logger, $serverContainer);
116
-		$this->appHooks($logger, $serverContainer);
117
-
118
-		$this->sharingHooks($logger);
119
-
120
-		$this->fileHooks($logger, $serverContainer);
121
-		$this->trashbinHooks($logger);
122
-		$this->versionsHooks($logger);
123
-
124
-		$this->securityHooks($logger, $serverContainer);
125
-	}
126
-
127
-	private function userManagementHooks(ILogger $logger,
128
-										   IServerContainer $serverContainer) {
129
-		$userActions = new UserManagement($logger);
130
-
131
-		Util::connectHook('OC_User', 'post_createUser', $userActions, 'create');
132
-		Util::connectHook('OC_User', 'post_deleteUser', $userActions, 'delete');
133
-		Util::connectHook('OC_User', 'changeUser', $userActions, 'change');
134
-
135
-		/** @var IUserSession|Session $userSession */
136
-		$userSession = $serverContainer->getUserSession();
137
-		$userSession->listen('\OC\User', 'postSetPassword', [$userActions, 'setPassword']);
138
-		$userSession->listen('\OC\User', 'assignedUserId', [$userActions, 'assign']);
139
-		$userSession->listen('\OC\User', 'postUnassignedUserId', [$userActions, 'unassign']);
140
-	}
141
-
142
-	private function groupHooks(ILogger $logger,
143
-								  IServerContainer $serverContainer) {
144
-		$groupActions = new GroupManagement($logger);
145
-
146
-		/** @var IGroupManager|Manager $groupManager */
147
-		$groupManager = $serverContainer->getGroupManager();
148
-		$groupManager->listen('\OC\Group', 'postRemoveUser', [$groupActions, 'removeUser']);
149
-		$groupManager->listen('\OC\Group', 'postAddUser', [$groupActions, 'addUser']);
150
-		$groupManager->listen('\OC\Group', 'postDelete', [$groupActions, 'deleteGroup']);
151
-		$groupManager->listen('\OC\Group', 'postCreate', [$groupActions, 'createGroup']);
152
-	}
153
-
154
-	private function sharingHooks(ILogger $logger) {
155
-		$shareActions = new Sharing($logger);
156
-
157
-		Util::connectHook(Share::class, 'post_shared', $shareActions, 'shared');
158
-		Util::connectHook(Share::class, 'post_unshare', $shareActions, 'unshare');
159
-		Util::connectHook(Share::class, 'post_unshareFromSelf', $shareActions, 'unshare');
160
-		Util::connectHook(Share::class, 'post_update_permissions', $shareActions, 'updatePermissions');
161
-		Util::connectHook(Share::class, 'post_update_password', $shareActions, 'updatePassword');
162
-		Util::connectHook(Share::class, 'post_set_expiration_date', $shareActions, 'updateExpirationDate');
163
-		Util::connectHook(Share::class, 'share_link_access', $shareActions, 'shareAccessed');
164
-	}
165
-
166
-	private function authHooks(ILogger $logger) {
167
-		$authActions = new Auth($logger);
168
-
169
-		Util::connectHook('OC_User', 'pre_login', $authActions, 'loginAttempt');
170
-		Util::connectHook('OC_User', 'post_login', $authActions, 'loginSuccessful');
171
-		Util::connectHook('OC_User', 'logout', $authActions, 'logout');
172
-	}
173
-
174
-	private function appHooks(ILogger $logger,
175
-								IServerContainer $serverContainer) {
176
-		$eventDispatcher = $serverContainer->getEventDispatcher();
177
-		$eventDispatcher->addListener(ManagerEvent::EVENT_APP_ENABLE, function (ManagerEvent $event) use ($logger) {
178
-			$appActions = new AppManagement($logger);
179
-			$appActions->enableApp($event->getAppID());
180
-		});
181
-		$eventDispatcher->addListener(ManagerEvent::EVENT_APP_ENABLE_FOR_GROUPS, function (ManagerEvent $event) use ($logger) {
182
-			$appActions = new AppManagement($logger);
183
-			$appActions->enableAppForGroups($event->getAppID(), $event->getGroups());
184
-		});
185
-		$eventDispatcher->addListener(ManagerEvent::EVENT_APP_DISABLE, function (ManagerEvent $event) use ($logger) {
186
-			$appActions = new AppManagement($logger);
187
-			$appActions->disableApp($event->getAppID());
188
-		});
189
-	}
190
-
191
-	private function consoleHooks(ILogger $logger,
192
-									IServerContainer $serverContainer) {
193
-		$eventDispatcher = $serverContainer->getEventDispatcher();
194
-		$eventDispatcher->addListener(ConsoleEvent::EVENT_RUN, function (ConsoleEvent $event) use ($logger) {
195
-			$appActions = new Console($logger);
196
-			$appActions->runCommand($event->getArguments());
197
-		});
198
-	}
199
-
200
-	private function fileHooks(ILogger $logger,
201
-								 IServerContainer $serverContainer) {
202
-		$fileActions = new Files($logger);
203
-		$eventDispatcher = $serverContainer->getEventDispatcher();
204
-		$eventDispatcher->addListener(
205
-			IPreview::EVENT,
206
-			function (GenericEvent $event) use ($fileActions) {
207
-				/** @var File $file */
208
-				$file = $event->getSubject();
209
-				$fileActions->preview([
210
-					'path' => mb_substr($file->getInternalPath(), 5),
211
-					'width' => $event->getArguments()['width'],
212
-					'height' => $event->getArguments()['height'],
213
-					'crop' => $event->getArguments()['crop'],
214
-					'mode' => $event->getArguments()['mode']
215
-				]);
216
-			}
217
-		);
218
-
219
-		Util::connectHook(
220
-			Filesystem::CLASSNAME,
221
-			Filesystem::signal_post_rename,
222
-			$fileActions,
223
-			'rename'
224
-		);
225
-		Util::connectHook(
226
-			Filesystem::CLASSNAME,
227
-			Filesystem::signal_post_create,
228
-			$fileActions,
229
-			'create'
230
-		);
231
-		Util::connectHook(
232
-			Filesystem::CLASSNAME,
233
-			Filesystem::signal_post_copy,
234
-			$fileActions,
235
-			'copy'
236
-		);
237
-		Util::connectHook(
238
-			Filesystem::CLASSNAME,
239
-			Filesystem::signal_post_write,
240
-			$fileActions,
241
-			'write'
242
-		);
243
-		Util::connectHook(
244
-			Filesystem::CLASSNAME,
245
-			Filesystem::signal_post_update,
246
-			$fileActions,
247
-			'update'
248
-		);
249
-		Util::connectHook(
250
-			Filesystem::CLASSNAME,
251
-			Filesystem::signal_read,
252
-			$fileActions,
253
-			'read'
254
-		);
255
-		Util::connectHook(
256
-			Filesystem::CLASSNAME,
257
-			Filesystem::signal_delete,
258
-			$fileActions,
259
-			'delete'
260
-		);
261
-	}
262
-
263
-	private function versionsHooks(ILogger $logger) {
264
-		$versionsActions = new Versions($logger);
265
-		Util::connectHook('\OCP\Versions', 'rollback', $versionsActions, 'rollback');
266
-		Util::connectHook('\OCP\Versions', 'delete', $versionsActions, 'delete');
267
-	}
268
-
269
-	private function trashbinHooks(ILogger $logger) {
270
-		$trashActions = new Trashbin($logger);
271
-		Util::connectHook('\OCP\Trashbin', 'preDelete', $trashActions, 'delete');
272
-		Util::connectHook('\OCA\Files_Trashbin\Trashbin', 'post_restore', $trashActions, 'restore');
273
-	}
274
-
275
-	private function securityHooks(ILogger $logger,
276
-									 IServerContainer $serverContainer) {
277
-		$eventDispatcher = $serverContainer->getEventDispatcher();
278
-		$eventDispatcher->addListener(IProvider::EVENT_SUCCESS, function (GenericEvent $event) use ($logger) {
279
-			$security = new Security($logger);
280
-			$security->twofactorSuccess($event->getSubject(), $event->getArguments());
281
-		});
282
-		$eventDispatcher->addListener(IProvider::EVENT_FAILED, function (GenericEvent $event) use ($logger) {
283
-			$security = new Security($logger);
284
-			$security->twofactorFailed($event->getSubject(), $event->getArguments());
285
-		});
286
-	}
91
+        $this->registerHooks($logger, $context->getServerContainer());
92
+    }
93
+
94
+    private function getLogger(IConfig $config,
95
+                                ILogger $logger,
96
+                                ILogFactory $logFactory): ILogger {
97
+        $default = $config->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data') . '/audit.log';
98
+        $logFile = $config->getAppValue('admin_audit', 'logfile', $default);
99
+
100
+        if ($logFile === null) {
101
+            return $logger;
102
+        }
103
+        return $logFactory->getCustomLogger($logFile);
104
+    }
105
+
106
+    /**
107
+     * Register hooks in order to log them
108
+     */
109
+    private function registerHooks(ILogger $logger,
110
+                                        IServerContainer $serverContainer) {
111
+        $this->userManagementHooks($logger, $serverContainer);
112
+        $this->groupHooks($logger, $serverContainer);
113
+        $this->authHooks($logger);
114
+
115
+        $this->consoleHooks($logger, $serverContainer);
116
+        $this->appHooks($logger, $serverContainer);
117
+
118
+        $this->sharingHooks($logger);
119
+
120
+        $this->fileHooks($logger, $serverContainer);
121
+        $this->trashbinHooks($logger);
122
+        $this->versionsHooks($logger);
123
+
124
+        $this->securityHooks($logger, $serverContainer);
125
+    }
126
+
127
+    private function userManagementHooks(ILogger $logger,
128
+                                            IServerContainer $serverContainer) {
129
+        $userActions = new UserManagement($logger);
130
+
131
+        Util::connectHook('OC_User', 'post_createUser', $userActions, 'create');
132
+        Util::connectHook('OC_User', 'post_deleteUser', $userActions, 'delete');
133
+        Util::connectHook('OC_User', 'changeUser', $userActions, 'change');
134
+
135
+        /** @var IUserSession|Session $userSession */
136
+        $userSession = $serverContainer->getUserSession();
137
+        $userSession->listen('\OC\User', 'postSetPassword', [$userActions, 'setPassword']);
138
+        $userSession->listen('\OC\User', 'assignedUserId', [$userActions, 'assign']);
139
+        $userSession->listen('\OC\User', 'postUnassignedUserId', [$userActions, 'unassign']);
140
+    }
141
+
142
+    private function groupHooks(ILogger $logger,
143
+                                    IServerContainer $serverContainer) {
144
+        $groupActions = new GroupManagement($logger);
145
+
146
+        /** @var IGroupManager|Manager $groupManager */
147
+        $groupManager = $serverContainer->getGroupManager();
148
+        $groupManager->listen('\OC\Group', 'postRemoveUser', [$groupActions, 'removeUser']);
149
+        $groupManager->listen('\OC\Group', 'postAddUser', [$groupActions, 'addUser']);
150
+        $groupManager->listen('\OC\Group', 'postDelete', [$groupActions, 'deleteGroup']);
151
+        $groupManager->listen('\OC\Group', 'postCreate', [$groupActions, 'createGroup']);
152
+    }
153
+
154
+    private function sharingHooks(ILogger $logger) {
155
+        $shareActions = new Sharing($logger);
156
+
157
+        Util::connectHook(Share::class, 'post_shared', $shareActions, 'shared');
158
+        Util::connectHook(Share::class, 'post_unshare', $shareActions, 'unshare');
159
+        Util::connectHook(Share::class, 'post_unshareFromSelf', $shareActions, 'unshare');
160
+        Util::connectHook(Share::class, 'post_update_permissions', $shareActions, 'updatePermissions');
161
+        Util::connectHook(Share::class, 'post_update_password', $shareActions, 'updatePassword');
162
+        Util::connectHook(Share::class, 'post_set_expiration_date', $shareActions, 'updateExpirationDate');
163
+        Util::connectHook(Share::class, 'share_link_access', $shareActions, 'shareAccessed');
164
+    }
165
+
166
+    private function authHooks(ILogger $logger) {
167
+        $authActions = new Auth($logger);
168
+
169
+        Util::connectHook('OC_User', 'pre_login', $authActions, 'loginAttempt');
170
+        Util::connectHook('OC_User', 'post_login', $authActions, 'loginSuccessful');
171
+        Util::connectHook('OC_User', 'logout', $authActions, 'logout');
172
+    }
173
+
174
+    private function appHooks(ILogger $logger,
175
+                                IServerContainer $serverContainer) {
176
+        $eventDispatcher = $serverContainer->getEventDispatcher();
177
+        $eventDispatcher->addListener(ManagerEvent::EVENT_APP_ENABLE, function (ManagerEvent $event) use ($logger) {
178
+            $appActions = new AppManagement($logger);
179
+            $appActions->enableApp($event->getAppID());
180
+        });
181
+        $eventDispatcher->addListener(ManagerEvent::EVENT_APP_ENABLE_FOR_GROUPS, function (ManagerEvent $event) use ($logger) {
182
+            $appActions = new AppManagement($logger);
183
+            $appActions->enableAppForGroups($event->getAppID(), $event->getGroups());
184
+        });
185
+        $eventDispatcher->addListener(ManagerEvent::EVENT_APP_DISABLE, function (ManagerEvent $event) use ($logger) {
186
+            $appActions = new AppManagement($logger);
187
+            $appActions->disableApp($event->getAppID());
188
+        });
189
+    }
190
+
191
+    private function consoleHooks(ILogger $logger,
192
+                                    IServerContainer $serverContainer) {
193
+        $eventDispatcher = $serverContainer->getEventDispatcher();
194
+        $eventDispatcher->addListener(ConsoleEvent::EVENT_RUN, function (ConsoleEvent $event) use ($logger) {
195
+            $appActions = new Console($logger);
196
+            $appActions->runCommand($event->getArguments());
197
+        });
198
+    }
199
+
200
+    private function fileHooks(ILogger $logger,
201
+                                    IServerContainer $serverContainer) {
202
+        $fileActions = new Files($logger);
203
+        $eventDispatcher = $serverContainer->getEventDispatcher();
204
+        $eventDispatcher->addListener(
205
+            IPreview::EVENT,
206
+            function (GenericEvent $event) use ($fileActions) {
207
+                /** @var File $file */
208
+                $file = $event->getSubject();
209
+                $fileActions->preview([
210
+                    'path' => mb_substr($file->getInternalPath(), 5),
211
+                    'width' => $event->getArguments()['width'],
212
+                    'height' => $event->getArguments()['height'],
213
+                    'crop' => $event->getArguments()['crop'],
214
+                    'mode' => $event->getArguments()['mode']
215
+                ]);
216
+            }
217
+        );
218
+
219
+        Util::connectHook(
220
+            Filesystem::CLASSNAME,
221
+            Filesystem::signal_post_rename,
222
+            $fileActions,
223
+            'rename'
224
+        );
225
+        Util::connectHook(
226
+            Filesystem::CLASSNAME,
227
+            Filesystem::signal_post_create,
228
+            $fileActions,
229
+            'create'
230
+        );
231
+        Util::connectHook(
232
+            Filesystem::CLASSNAME,
233
+            Filesystem::signal_post_copy,
234
+            $fileActions,
235
+            'copy'
236
+        );
237
+        Util::connectHook(
238
+            Filesystem::CLASSNAME,
239
+            Filesystem::signal_post_write,
240
+            $fileActions,
241
+            'write'
242
+        );
243
+        Util::connectHook(
244
+            Filesystem::CLASSNAME,
245
+            Filesystem::signal_post_update,
246
+            $fileActions,
247
+            'update'
248
+        );
249
+        Util::connectHook(
250
+            Filesystem::CLASSNAME,
251
+            Filesystem::signal_read,
252
+            $fileActions,
253
+            'read'
254
+        );
255
+        Util::connectHook(
256
+            Filesystem::CLASSNAME,
257
+            Filesystem::signal_delete,
258
+            $fileActions,
259
+            'delete'
260
+        );
261
+    }
262
+
263
+    private function versionsHooks(ILogger $logger) {
264
+        $versionsActions = new Versions($logger);
265
+        Util::connectHook('\OCP\Versions', 'rollback', $versionsActions, 'rollback');
266
+        Util::connectHook('\OCP\Versions', 'delete', $versionsActions, 'delete');
267
+    }
268
+
269
+    private function trashbinHooks(ILogger $logger) {
270
+        $trashActions = new Trashbin($logger);
271
+        Util::connectHook('\OCP\Trashbin', 'preDelete', $trashActions, 'delete');
272
+        Util::connectHook('\OCA\Files_Trashbin\Trashbin', 'post_restore', $trashActions, 'restore');
273
+    }
274
+
275
+    private function securityHooks(ILogger $logger,
276
+                                        IServerContainer $serverContainer) {
277
+        $eventDispatcher = $serverContainer->getEventDispatcher();
278
+        $eventDispatcher->addListener(IProvider::EVENT_SUCCESS, function (GenericEvent $event) use ($logger) {
279
+            $security = new Security($logger);
280
+            $security->twofactorSuccess($event->getSubject(), $event->getArguments());
281
+        });
282
+        $eventDispatcher->addListener(IProvider::EVENT_FAILED, function (GenericEvent $event) use ($logger) {
283
+            $security = new Security($logger);
284
+            $security->twofactorFailed($event->getSubject(), $event->getArguments());
285
+        });
286
+    }
287 287
 }
Please login to merge, or discard this patch.