From 1f6f644e772ca09b1adf5d4fceeff4fa93a54c53 Mon Sep 17 00:00:00 2001 From: Louis Chemineau Date: Thu, 21 Nov 2024 17:19:33 +0100 Subject: [PATCH] feat: Warn about maintenance in EncryptAll command Signed-off-by: Louis Chemineau --- core/Command/Encryption/EncryptAll.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/core/Command/Encryption/EncryptAll.php b/core/Command/Encryption/EncryptAll.php index 868c240e26d96..349bbbc34686f 100644 --- a/core/Command/Encryption/EncryptAll.php +++ b/core/Command/Encryption/EncryptAll.php @@ -17,7 +17,6 @@ class EncryptAll extends Command { protected bool $wasTrashbinEnabled = false; - protected bool $wasMaintenanceModeEnabled = false; public function __construct( protected IManager $encryptionManager, @@ -33,7 +32,6 @@ public function __construct( */ 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'); } @@ -42,7 +40,7 @@ protected function forceMaintenanceAndTrashbin(): void { * 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'); } @@ -73,6 +71,11 @@ protected function execute(InputInterface $input, OutputInterface $output): int throw new \Exception('Server side encryption is not enabled'); } + if ($this->config->getSystemValueBool('maintenance')) { + $output->writeln('This command cannot be run with maintenance mode enabled.'); + return 0; + } + $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.');