diff options
Diffstat (limited to 'apps/twofactor_backupcodes/lib/Activity/Provider.php')
-rw-r--r-- | apps/twofactor_backupcodes/lib/Activity/Provider.php | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/apps/twofactor_backupcodes/lib/Activity/Provider.php b/apps/twofactor_backupcodes/lib/Activity/Provider.php new file mode 100644 index 00000000000..eba38147bd7 --- /dev/null +++ b/apps/twofactor_backupcodes/lib/Activity/Provider.php @@ -0,0 +1,54 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +namespace OCA\TwoFactorBackupCodes\Activity; + +use OCP\Activity\Exceptions\UnknownActivityException; +use OCP\Activity\IEvent; +use OCP\Activity\IManager; +use OCP\Activity\IProvider; +use OCP\IURLGenerator; +use OCP\L10N\IFactory as L10nFactory; + +class Provider implements IProvider { + + /** + * @param L10nFactory $l10n + * @param IURLGenerator $urlGenerator + * @param IManager $activityManager + */ + public function __construct( + private L10nFactory $l10n, + private IURLGenerator $urlGenerator, + private IManager $activityManager, + ) { + } + + public function parse($language, IEvent $event, ?IEvent $previousEvent = null): IEvent { + if ($event->getApp() !== 'twofactor_backupcodes') { + throw new UnknownActivityException(); + } + + $l = $this->l10n->get('twofactor_backupcodes', $language); + + switch ($event->getSubject()) { + case 'codes_generated': + $event->setParsedSubject($l->t('You created two-factor backup codes for your account')); + + if ($this->activityManager->getRequirePNG()) { + $event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/password.png'))); + } else { + $event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/password.svg'))); + } + break; + default: + throw new UnknownActivityException(); + } + return $event; + } +} |