summaryrefslogtreecommitdiffstats
path: root/apps/twofactor_backupcodes/lib
diff options
context:
space:
mode:
authorChristoph Wurst <christoph@winzerhof-wurst.at>2018-09-26 16:25:18 +0200
committerJan-Christoph Borchardt <hey@jancborchardt.net>2018-10-02 22:56:33 +0200
commit79a0ee4f4ae315b357f51dd35d3d3c6e60897ee1 (patch)
tree470d5bce819a22357fe820e515d82ca4d8339d64 /apps/twofactor_backupcodes/lib
parent6b730b4c478bc4f55a89fd7d6a7c2715e2e5b829 (diff)
downloadnextcloud-server-79a0ee4f4ae315b357f51dd35d3d3c6e60897ee1.tar.gz
nextcloud-server-79a0ee4f4ae315b357f51dd35d3d3c6e60897ee1.zip
Consolidate personal two-factor provider settings
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'apps/twofactor_backupcodes/lib')
-rw-r--r--apps/twofactor_backupcodes/lib/Provider/BackupCodesProvider.php15
-rw-r--r--apps/twofactor_backupcodes/lib/Settings/Personal.php63
2 files changed, 23 insertions, 55 deletions
diff --git a/apps/twofactor_backupcodes/lib/Provider/BackupCodesProvider.php b/apps/twofactor_backupcodes/lib/Provider/BackupCodesProvider.php
index 03d1ee0d405..27653c1dd61 100644
--- a/apps/twofactor_backupcodes/lib/Provider/BackupCodesProvider.php
+++ b/apps/twofactor_backupcodes/lib/Provider/BackupCodesProvider.php
@@ -25,12 +25,15 @@ namespace OCA\TwoFactorBackupCodes\Provider;
use OC\App\AppManager;
use OCA\TwoFactorBackupCodes\Service\BackupCodeStorage;
+use OCA\TwoFactorBackupCodes\Settings\Personal;
+use OCP\Authentication\TwoFactorAuth\IPersonalProviderSettings;
use OCP\Authentication\TwoFactorAuth\IProvider;
+use OCP\Authentication\TwoFactorAuth\IProvidesPersonalSettings;
use OCP\IL10N;
use OCP\IUser;
use OCP\Template;
-class BackupCodesProvider implements IProvider {
+class BackupCodesProvider implements IProvider, IProvidesPersonalSettings {
/** @var string */
private $appName;
@@ -139,4 +142,14 @@ class BackupCodesProvider implements IProvider {
return false;
}
+ /**
+ * @param IUser $user
+ *
+ * @return IPersonalProviderSettings
+ */
+ public function getPersonalSettings(IUser $user): IPersonalProviderSettings {
+ return new Personal();
+ }
+
}
+
diff --git a/apps/twofactor_backupcodes/lib/Settings/Personal.php b/apps/twofactor_backupcodes/lib/Settings/Personal.php
index eb28dacb42b..0b71b1da088 100644
--- a/apps/twofactor_backupcodes/lib/Settings/Personal.php
+++ b/apps/twofactor_backupcodes/lib/Settings/Personal.php
@@ -1,8 +1,9 @@
<?php
+
+declare(strict_types=1);
+
/**
- * @copyright Copyright (c) 2017 Arthur Schiwon <blizzz@arthur-schiwon.de>
- *
- * @author Arthur Schiwon <blizzz@arthur-schiwon.de>
+ * @author Christoph Wurst <christoph@winzerhof-wurst.at>
*
* @license GNU AGPL version 3 or any later version
*
@@ -24,59 +25,13 @@
namespace OCA\TwoFactorBackupCodes\Settings;
-use OCA\TwoFactorBackupCodes\AppInfo\Application;
-use OCA\TwoFactorBackupCodes\Provider\BackupCodesProvider;
-use OCP\AppFramework\Http\TemplateResponse;
-use OCP\IUserSession;
-use OCP\Settings\ISettings;
-
-class Personal implements ISettings {
-
- /** @var Application */
- private $app;
- /** @var BackupCodesProvider */
- private $provider;
- /** @var IUserSession */
- private $userSession;
+use OCP\Authentication\TwoFactorAuth\IPersonalProviderSettings;
+use OCP\Template;
- public function __construct(Application $app, BackupCodesProvider $provider, IUserSession $userSession) {
- $this->app = $app;
- $this->provider = $provider;
- $this->userSession = $userSession;
- }
-
- /**
- * @return TemplateResponse returns the instance with all parameters set, ready to be rendered
- * @since 9.1
- */
- public function getForm() {
- $templateOwner = 'settings';
- $templateName = 'settings/empty';
- if ($this->provider->isActive($this->userSession->getUser())) {
- $templateOwner = $this->app->getContainer()->getAppName();
- $templateName = 'personal';
- }
+class Personal implements IPersonalProviderSettings {
- return new TemplateResponse($templateOwner, $templateName, [], '');
+ public function getBody(): Template {
+ return new Template('twofactor_backupcodes', 'personal');
}
- /**
- * @return string the section ID, e.g. 'sharing'
- * @since 9.1
- */
- public function getSection() {
- return 'security';
- }
-
- /**
- * @return int whether the form should be rather on the top or bottom of
- * the admin section. The forms are arranged in ascending order of the
- * priority values. It is required to return a value between 0 and 100.
- *
- * E.g.: 70
- * @since 9.1
- */
- public function getPriority() {
- return 40;
- }
}