diff --git a/core/command/app/disable.php b/core/command/app/disable.php new file mode 100644 index 0000000000000000000000000000000000000000..fc95739d997301848663673561b98d369944201a --- /dev/null +++ b/core/command/app/disable.php @@ -0,0 +1,37 @@ +<?php +/** + * Copyright (c) 2013 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC\Core\Command\App; + +use Symfony\Component\Console\Command\Command; +use Symfony\Component\Console\Input\InputArgument; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; + +class Disable extends Command { + protected function configure() { + $this + ->setName('app:disable') + ->setDescription('disable an app') + ->addArgument( + 'app_id', + InputArgument::REQUIRED, + 'disable the specified app' + ); + } + + protected function execute(InputInterface $input, OutputInterface $output) { + $appId = $input->getArgument('app_id'); + if (\OC_App::isEnabled($appId)) { + \OC_App::disable($appId); + $output->writeln($appId . ' disabled'); + } else { + $output->writeln('No such app enabled: ' . $appId); + } + } +} diff --git a/core/command/app/enable.php b/core/command/app/enable.php new file mode 100644 index 0000000000000000000000000000000000000000..20cb55c4aab5714d4fa0a6284062c40a634f44c0 --- /dev/null +++ b/core/command/app/enable.php @@ -0,0 +1,39 @@ +<?php +/** + * Copyright (c) 2013 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC\Core\Command\App; + +use Symfony\Component\Console\Command\Command; +use Symfony\Component\Console\Input\InputArgument; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; + +class Enable extends Command { + protected function configure() { + $this + ->setName('app:enable') + ->setDescription('enable an app') + ->addArgument( + 'app_id', + InputArgument::REQUIRED, + 'enable the specified app' + ); + } + + protected function execute(InputInterface $input, OutputInterface $output) { + $appId = $input->getArgument('app_id'); + if (\OC_App::isEnabled($appId)) { + $output->writeln($appId . ' is already enabled'); + } else if (!\OC_App::getAppPath($appId)) { + $output->writeln($appId . ' not found'); + } else { + \OC_App::enable($appId); + $output->writeln($appId . ' enabled'); + } + } +} diff --git a/core/register_command.php b/core/register_command.php index cfea1a6b8886442f50229c0370e1e19e1667fc8c..9ca2a8660bdbec41f5f1af19b25f41dbb0f372b8 100644 --- a/core/register_command.php +++ b/core/register_command.php @@ -10,3 +10,5 @@ $application->add(new OC\Core\Command\Status); $application->add(new OC\Core\Command\Db\GenerateChangeScript()); $application->add(new OC\Core\Command\Upgrade()); +$application->add(new OC\Core\Command\App\Disable()); +$application->add(new OC\Core\Command\App\Enable());