1<?php
2/**
3 * @copyright Copyright (c) 2016, ownCloud, Inc.
4 *
5 * @author Joas Schilling <coding@schilljs.com>
6 *
7 * @license AGPL-3.0
8 *
9 * This code is free software: you can redistribute it and/or modify
10 * it under the terms of the GNU Affero General Public License, version 3,
11 * as published by the Free Software Foundation.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Affero General Public License for more details.
17 *
18 * You should have received a copy of the GNU Affero General Public License, version 3,
19 * along with this program. If not, see <http://www.gnu.org/licenses/>
20 *
21 */
22namespace OC\Core\Command\Encryption;
23
24use OCP\IConfig;
25use Symfony\Component\Console\Command\Command;
26use Symfony\Component\Console\Input\InputInterface;
27use Symfony\Component\Console\Output\OutputInterface;
28
29class Disable extends Command {
30	/** @var IConfig */
31	protected $config;
32
33	/**
34	 * @param IConfig $config
35	 */
36	public function __construct(IConfig $config) {
37		parent::__construct();
38		$this->config = $config;
39	}
40
41	protected function configure() {
42		$this
43			->setName('encryption:disable')
44			->setDescription('Disable encryption')
45		;
46	}
47
48	protected function execute(InputInterface $input, OutputInterface $output): int {
49		if ($this->config->getAppValue('core', 'encryption_enabled', 'no') !== 'yes') {
50			$output->writeln('Encryption is already disabled');
51		} else {
52			$this->config->setAppValue('core', 'encryption_enabled', 'no');
53			$output->writeln('<info>Encryption disabled</info>');
54		}
55		return 0;
56	}
57}
58