aboutsummaryrefslogtreecommitdiffstats
path: root/apps/twofactor_backupcodes/lib/Activity/Provider.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/twofactor_backupcodes/lib/Activity/Provider.php')
-rw-r--r--apps/twofactor_backupcodes/lib/Activity/Provider.php54
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;
+ }
+}