Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>pull/51608/head
parent
226ad23a1a
commit
f7f4930581
@ -0,0 +1,52 @@ |
||||
<?php |
||||
|
||||
declare(strict_types=1); |
||||
|
||||
/** |
||||
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors |
||||
* SPDX-License-Identifier: AGPL-3.0-or-later |
||||
*/ |
||||
namespace OCA\Files\Command; |
||||
|
||||
use OC\Core\Command\Base; |
||||
use OCA\Files\Service\SettingsService; |
||||
use Symfony\Component\Console\Input\InputInterface; |
||||
use Symfony\Component\Console\Output\OutputInterface; |
||||
|
||||
class WindowsCompatibleFilenames extends Base { |
||||
|
||||
public function __construct( |
||||
private SettingsService $service, |
||||
) { |
||||
parent::__construct(); |
||||
} |
||||
|
||||
protected function configure(): void { |
||||
parent::configure(); |
||||
|
||||
$this |
||||
->setName('files:windows-compatible-filenames') |
||||
->setDescription('Enforce naming constraints for windows compatible filenames') |
||||
->addOption('enable', description: 'Enable windows naming constraints') |
||||
->addOption('disable', description: 'Disable windows naming constraints'); |
||||
} |
||||
|
||||
protected function execute(InputInterface $input, OutputInterface $output): int { |
||||
if ($input->getOption('enable')) { |
||||
if ($this->service->hasFilesWindowsSupport()) { |
||||
$output->writeln('<error>Windows compatible filenames already enforced.</error>', OutputInterface::VERBOSITY_VERBOSE); |
||||
} |
||||
$this->service->setFilesWindowsSupport(true); |
||||
$output->writeln('Windows compatible filenames enforced.'); |
||||
} elseif ($input->getOption('disable')) { |
||||
if (!$this->service->hasFilesWindowsSupport()) { |
||||
$output->writeln('<error>Windows compatible filenames already disabled.</error>', OutputInterface::VERBOSITY_VERBOSE); |
||||
} |
||||
$this->service->setFilesWindowsSupport(false); |
||||
$output->writeln('Windows compatible filename constraints removed.'); |
||||
} else { |
||||
$output->writeln('Windows compatible filenames are ' . ($this->service->hasFilesWindowsSupport() ? 'enforced' : 'disabled')); |
||||
} |
||||
return self::SUCCESS; |
||||
} |
||||
} |
Loading…
Reference in new issue