diff options
author | Christoph Wurst <christoph@winzerhof-wurst.at> | 2018-09-26 16:25:18 +0200 |
---|---|---|
committer | Jan-Christoph Borchardt <hey@jancborchardt.net> | 2018-10-02 22:56:33 +0200 |
commit | 79a0ee4f4ae315b357f51dd35d3d3c6e60897ee1 (patch) | |
tree | 470d5bce819a22357fe820e515d82ca4d8339d64 /apps/twofactor_backupcodes/lib | |
parent | 6b730b4c478bc4f55a89fd7d6a7c2715e2e5b829 (diff) | |
download | nextcloud-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.php | 15 | ||||
-rw-r--r-- | apps/twofactor_backupcodes/lib/Settings/Personal.php | 63 |
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; - } } |