diff options
Diffstat (limited to 'core/Command/Encryption/SetDefaultModule.php')
-rw-r--r-- | core/Command/Encryption/SetDefaultModule.php | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/core/Command/Encryption/SetDefaultModule.php b/core/Command/Encryption/SetDefaultModule.php index 1a008c7724a..3399bd45b25 100644 --- a/core/Command/Encryption/SetDefaultModule.php +++ b/core/Command/Encryption/SetDefaultModule.php @@ -24,6 +24,7 @@ namespace OC\Core\Command\Encryption; use OCP\Encryption\IManager; +use OCP\IConfig; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; @@ -33,12 +34,20 @@ class SetDefaultModule extends Command { /** @var IManager */ protected $encryptionManager; + /** @var IConfig */ + protected $config; + /** * @param IManager $encryptionManager + * @param IConfig $config */ - public function __construct(IManager $encryptionManager) { + public function __construct( + IManager $encryptionManager, + IConfig $config + ) { parent::__construct(); $this->encryptionManager = $encryptionManager; + $this->config = $config; } protected function configure() { @@ -56,6 +65,13 @@ class SetDefaultModule extends Command { } protected function execute(InputInterface $input, OutputInterface $output) { + $isMaintenanceModeEnabled = $this->config->getSystemValue('maintenance', false); + if ($isMaintenanceModeEnabled) { + $output->writeln("Maintenance mode must be disabled when setting default module,"); + $output->writeln("in order to load the relevant encryption modules correctly."); + return; + } + $moduleId = $input->getArgument('module'); if ($moduleId === $this->encryptionManager->getDefaultEncryptionModuleId()) { |