summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2015-05-04 16:40:47 +0200
committerThomas Müller <thomas.mueller@tmit.eu>2015-05-04 16:40:47 +0200
commite5c5c908a3cb520edca648a1ae9e139b1bffe0e4 (patch)
tree5dc2a6f74690e7b3974d1775801a352029526079
parent51936e68aaf47007f277442a65ce857313f39b3c (diff)
parent5180c2398d260bda5a57a947833f2595d097df03 (diff)
downloadnextcloud-server-e5c5c908a3cb520edca648a1ae9e139b1bffe0e4.tar.gz
nextcloud-server-e5c5c908a3cb520edca648a1ae9e139b1bffe0e4.zip
Merge pull request #16044 from owncloud/issue-15977-occ-encryption-status
Add an occ command to get the status of encryption
-rw-r--r--core/command/encryption/status.php56
-rw-r--r--core/register_command.php1
2 files changed, 57 insertions, 0 deletions
diff --git a/core/command/encryption/status.php b/core/command/encryption/status.php
new file mode 100644
index 00000000000..1a52500cf29
--- /dev/null
+++ b/core/command/encryption/status.php
@@ -0,0 +1,56 @@
+<?php
+/**
+ * @author Joas Schilling <nickvergessen@owncloud.com>
+ *
+ * @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 <http://www.gnu.org/licenses/>
+ *
+ */
+
+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 b9c722860c1..5e16abca0c0 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()));
}