diff options
author | Christoph Wurst <christoph@winzerhof-wurst.at> | 2018-10-08 10:22:27 +0200 |
---|---|---|
committer | Christoph Wurst <christoph@winzerhof-wurst.at> | 2018-10-08 10:31:51 +0200 |
commit | 5d2fdfe0b5214bd35bc9842cb6aa53f70aff125d (patch) | |
tree | 463a8d8d2bea4666945e028fafedf1e9072a062b /lib/private/Settings/Admin/Security.php | |
parent | 80f7add485b4e55d6d3b19cee12231e13bd4ff62 (diff) | |
download | nextcloud-server-5d2fdfe0b5214bd35bc9842cb6aa53f70aff125d.tar.gz nextcloud-server-5d2fdfe0b5214bd35bc9842cb6aa53f70aff125d.zip |
Rename admin security section
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'lib/private/Settings/Admin/Security.php')
-rw-r--r-- | lib/private/Settings/Admin/Security.php | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/lib/private/Settings/Admin/Security.php b/lib/private/Settings/Admin/Security.php new file mode 100644 index 00000000000..8475e3d8995 --- /dev/null +++ b/lib/private/Settings/Admin/Security.php @@ -0,0 +1,93 @@ +<?php +/** + * @copyright Copyright (c) 2016 Arthur Schiwon <blizzz@arthur-schiwon.de> + * + * @author Arthur Schiwon <blizzz@arthur-schiwon.de> + * @author Lukas Reschke <lukas@statuscode.ch> + * @author Robin Appelman <robin@icewind.nl> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OC\Settings\Admin; + +use OCP\AppFramework\Http\TemplateResponse; +use OCP\Encryption\IManager; +use OCP\IUserManager; +use OCP\Settings\ISettings; + +class Security implements ISettings { + /** @var IManager */ + private $manager; + + /** @var IUserManager */ + private $userManager; + + /** + * @param IManager $manager + * @param IUserManager $userManager + */ + public function __construct(IManager $manager, IUserManager $userManager) { + $this->manager = $manager; + $this->userManager = $userManager; + } + + /** + * @return TemplateResponse + */ + public function getForm() { + $encryptionModules = $this->manager->getEncryptionModules(); + $defaultEncryptionModuleId = $this->manager->getDefaultEncryptionModuleId(); + $encryptionModuleList = []; + foreach ($encryptionModules as $module) { + $encryptionModuleList[$module['id']]['displayName'] = $module['displayName']; + $encryptionModuleList[$module['id']]['default'] = false; + if ($module['id'] === $defaultEncryptionModuleId) { + $encryptionModuleList[$module['id']]['default'] = true; + } + } + + $parameters = [ + // Encryption API + 'encryptionEnabled' => $this->manager->isEnabled(), + 'encryptionReady' => $this->manager->isReady(), + 'externalBackendsEnabled' => count($this->userManager->getBackends()) > 1, + // Modules + 'encryptionModules' => $encryptionModuleList, + ]; + + return new TemplateResponse('settings', 'settings/admin/encryption', $parameters, ''); + } + + /** + * @return string the section ID, e.g. 'sharing' + */ + 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 + */ + public function getPriority() { + return 10; + } +} |