From 5180c2398d260bda5a57a947833f2595d097df03 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Mon, 4 May 2015 15:31:19 +0200 Subject: [PATCH] Add an occ command to get the status of encryption --- core/command/encryption/status.php | 56 ++++++++++++++++++++++++++++++ core/register_command.php | 1 + 2 files changed, 57 insertions(+) create mode 100644 core/command/encryption/status.php diff --git a/core/command/encryption/status.php b/core/command/encryption/status.php new file mode 100644 index 0000000000..1a52500cf2 --- /dev/null +++ b/core/command/encryption/status.php @@ -0,0 +1,56 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * 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, version 3, + * along with this program. If not, see + * + */ + +namespace OC\Core\Command\Encryption; + +use OC\Core\Command\Base; +use OCP\Encryption\IManager; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; + +class Status extends Base { + /** @var IManager */ + protected $encryptionManager; + + /** + * @param IManager $encryptionManager + */ + public function __construct(IManager $encryptionManager) { + parent::__construct(); + $this->encryptionManager = $encryptionManager; + } + + protected function configure() { + parent::configure(); + + $this + ->setName('encryption:status') + ->setDescription('Lists the current status of encryption') + ; + } + + protected function execute(InputInterface $input, OutputInterface $output) { + $this->writeArrayInOutputFormat($input, $output, [ + 'enabled' => $this->encryptionManager->isEnabled(), + 'defaultModule' => $this->encryptionManager->getDefaultEncryptionModuleId(), + ]); + } +} diff --git a/core/register_command.php b/core/register_command.php index b9c722860c..5e16abca0c 100644 --- a/core/register_command.php +++ b/core/register_command.php @@ -54,6 +54,7 @@ if (\OC::$server->getConfig()->getSystemValue('installed', false)) { $application->add(new OC\Core\Command\Encryption\Enable(\OC::$server->getConfig())); $application->add(new OC\Core\Command\Encryption\ListModules(\OC::$server->getEncryptionManager())); $application->add(new OC\Core\Command\Encryption\SetDefaultModule(\OC::$server->getEncryptionManager())); + $application->add(new OC\Core\Command\Encryption\Status(\OC::$server->getEncryptionManager())); } else { $application->add(new OC\Core\Command\Maintenance\Install(\OC::$server->getConfig())); }