aboutsummaryrefslogtreecommitdiffstats
path: root/core/Command/Encryption/EncryptAll.php
diff options
context:
space:
mode:
Diffstat (limited to 'core/Command/Encryption/EncryptAll.php')
-rw-r--r--core/Command/Encryption/EncryptAll.php56
1 files changed, 16 insertions, 40 deletions
diff --git a/core/Command/Encryption/EncryptAll.php b/core/Command/Encryption/EncryptAll.php
index 11e33ae9e2e..f2c991471b6 100644
--- a/core/Command/Encryption/EncryptAll.php
+++ b/core/Command/Encryption/EncryptAll.php
@@ -1,28 +1,9 @@
<?php
+
/**
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- *
- * @author Björn Schießle <bjoern@schiessle.org>
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Evgeny Golyshev <eugulixes@gmail.com>
- * @author Joas Schilling <coding@schilljs.com>
- * @author Matthew Setter <matthew@matthewsetter.com>
- * @author Morris Jobke <hey@morrisjobke.de>
- *
- * @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/>
- *
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-only
*/
namespace OC\Core\Command\Encryption;
@@ -36,24 +17,15 @@ use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Question\ConfirmationQuestion;
class EncryptAll extends Command {
- protected IManager $encryptionManager;
- protected IAppManager $appManager;
- protected IConfig $config;
- protected QuestionHelper $questionHelper;
protected bool $wasTrashbinEnabled = false;
- protected bool $wasMaintenanceModeEnabled;
public function __construct(
- IManager $encryptionManager,
- IAppManager $appManager,
- IConfig $config,
- QuestionHelper $questionHelper
+ protected IManager $encryptionManager,
+ protected IAppManager $appManager,
+ protected IConfig $config,
+ protected QuestionHelper $questionHelper,
) {
parent::__construct();
- $this->appManager = $appManager;
- $this->encryptionManager = $encryptionManager;
- $this->config = $config;
- $this->questionHelper = $questionHelper;
}
/**
@@ -61,7 +33,6 @@ class EncryptAll extends Command {
*/
protected function forceMaintenanceAndTrashbin(): void {
$this->wasTrashbinEnabled = (bool)$this->appManager->isEnabledForUser('files_trashbin');
- $this->wasMaintenanceModeEnabled = $this->config->getSystemValueBool('maintenance');
$this->config->setSystemValue('maintenance', true);
$this->appManager->disableApp('files_trashbin');
}
@@ -70,7 +41,7 @@ class EncryptAll extends Command {
* Reset the maintenance mode and re-enable the trashbin app
*/
protected function resetMaintenanceAndTrashbin(): void {
- $this->config->setSystemValue('maintenance', $this->wasMaintenanceModeEnabled);
+ $this->config->setSystemValue('maintenance', false);
if ($this->wasTrashbinEnabled) {
$this->appManager->enableApp('files_trashbin');
}
@@ -101,6 +72,11 @@ class EncryptAll extends Command {
throw new \Exception('Server side encryption is not enabled');
}
+ if ($this->config->getSystemValueBool('maintenance')) {
+ $output->writeln('<error>This command cannot be run with maintenance mode enabled.</error>');
+ return self::FAILURE;
+ }
+
$output->writeln("\n");
$output->writeln('You are about to encrypt all files stored in your Nextcloud installation.');
$output->writeln('Depending on the number of available files, and their size, this may take quite some time.');
@@ -120,9 +96,9 @@ class EncryptAll extends Command {
}
$this->resetMaintenanceAndTrashbin();
- return 0;
+ return self::SUCCESS;
}
$output->writeln('aborted');
- return 1;
+ return self::FAILURE;
}
}