diff options
author | icewind1991 <robin@icewind.nl> | 2013-11-25 10:12:49 -0800 |
---|---|---|
committer | icewind1991 <robin@icewind.nl> | 2013-11-25 10:12:49 -0800 |
commit | 4626fae8827de22f6b4e4ce043e8a1b30c98ca3f (patch) | |
tree | 82dc1f5b173a4aeeace0d61617f3408d2c5c35ba /core | |
parent | 4b67d4258d4b746673cc31c09c53f8822e2e6afc (diff) | |
parent | abe63bd329e1180173e249f6edbe440a289d809f (diff) | |
download | nextcloud-server-4626fae8827de22f6b4e4ce043e8a1b30c98ca3f.tar.gz nextcloud-server-4626fae8827de22f6b4e4ce043e8a1b30c98ca3f.zip |
Merge pull request #6038 from owncloud/occ-app-enable
add occ commands for enabling and disabling apps
Diffstat (limited to 'core')
-rw-r--r-- | core/command/app/disable.php | 37 | ||||
-rw-r--r-- | core/command/app/enable.php | 39 | ||||
-rw-r--r-- | core/command/app/listapps.php | 47 | ||||
-rw-r--r-- | core/register_command.php | 3 |
4 files changed, 126 insertions, 0 deletions
diff --git a/core/command/app/disable.php b/core/command/app/disable.php new file mode 100644 index 00000000000..dcdee92349e --- /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 00000000000..f08546602ee --- /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/command/app/listapps.php b/core/command/app/listapps.php new file mode 100644 index 00000000000..dc471c5453a --- /dev/null +++ b/core/command/app/listapps.php @@ -0,0 +1,47 @@ +<?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\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; + +class ListApps extends Command { + protected function configure() { + $this + ->setName('app:list') + ->setDescription('List all available apps'); + } + + protected function execute(InputInterface $input, OutputInterface $output) { + $apps = \OC_App::getAllApps(); + $enabledApps = array(); + $disabledApps = array(); + + //sort enabled apps above disabled apps + foreach ($apps as $app) { + if (\OC_App::isEnabled($app)) { + $enabledApps[] = $app; + } else { + $disabledApps[] = $app; + } + } + + sort($enabledApps); + sort($disabledApps); + $output->writeln('Enabled:'); + foreach ($enabledApps as $app) { + $output->writeln(' - ' . $app); + } + $output->writeln('Disabled:'); + foreach ($disabledApps as $app) { + $output->writeln(' - ' . $app); + } + } +} diff --git a/core/register_command.php b/core/register_command.php index cfea1a6b888..144dcd3dc5d 100644 --- a/core/register_command.php +++ b/core/register_command.php @@ -10,3 +10,6 @@ $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()); +$application->add(new OC\Core\Command\App\ListApps()); |