registerService('defaultMailAddress', function () { return Util::getDefaultEmailAddress('lostpassword-noreply'); }); // register notifier $context->registerNotifierService(CoreNotifier::class); $context->registerNotifierService(AuthenticationNotifier::class); // register event listeners $context->registerEventListener(AddMissingIndicesEvent::class, AddMissingIndicesListener::class); $context->registerEventListener(AddMissingPrimaryKeyEvent::class, AddMissingPrimaryKeyListener::class); $context->registerEventListener(BeforeTemplateRenderedEvent::class, BeforeTemplateRenderedListener::class); $context->registerEventListener(BeforeLoginTemplateRenderedEvent::class, BeforeTemplateRenderedListener::class); $context->registerEventListener(RemoteWipeStarted::class, RemoteWipeActivityListener::class); $context->registerEventListener(RemoteWipeStarted::class, RemoteWipeNotificationsListener::class); $context->registerEventListener(RemoteWipeStarted::class, RemoteWipeEmailListener::class); $context->registerEventListener(RemoteWipeFinished::class, RemoteWipeActivityListener::class); $context->registerEventListener(RemoteWipeFinished::class, RemoteWipeNotificationsListener::class); $context->registerEventListener(RemoteWipeFinished::class, RemoteWipeEmailListener::class); $context->registerEventListener(UserDeletedEvent::class, UserDeletedStoreCleanupListener::class); $context->registerEventListener(UserDeletedEvent::class, UserDeletedTokenCleanupListener::class); $context->registerEventListener(BeforeUserDeletedEvent::class, UserDeletedFilesCleanupListener::class); $context->registerEventListener(UserDeletedEvent::class, UserDeletedFilesCleanupListener::class); $context->registerEventListener(UserDeletedEvent::class, UserDeletedWebAuthnCleanupListener::class); $context->registerEventListener(PasswordUpdatedEvent::class, PasswordUpdatedListener::class); // Tags $context->registerEventListener(UserDeletedEvent::class, TagManager::class); // config lexicon $context->registerConfigLexicon(ConfigLexicon::class); $context->registerWellKnownHandler(OCMDiscoveryHandler::class); $context->registerWellKnownHandler(OCMJwksHandler::class); $context->registerCapability(Capabilities::class); } #[\Override] public function boot(IBootContext $context): void { $context->injectFn($this->registerNavigationEntries(...)); } /** * Registers the navigation entries for the core app: * - The logout button in the settings menu */ public function registerNavigationEntries( INavigationManager $navigationManager, IUserSession $userSession, IURLGenerator $urlGenerator, ): void { if (!$userSession->isLoggedIn()) { return; } $l = Server::get(IFactory::class)->get('core'); // Register the logout button in the user settings $logoutUrl = \OC_User::getLogoutUrl($urlGenerator); if ($logoutUrl !== '') { $navigationManager->add([ 'type' => 'settings', 'id' => 'logout', 'order' => 99999, 'href' => $logoutUrl, 'name' => $l->t('Log out'), 'icon' => $urlGenerator->imagePath('core', 'actions/logout.svg'), ]); } } }