Merge pull request #6038 from owncloud/occ-app-enable
add occ commands for enabling and disabling apps
This commit is contained in:
commit
4626fae882
4 changed files with 126 additions and 0 deletions
37
core/command/app/disable.php
Normal file
37
core/command/app/disable.php
Normal file
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
39
core/command/app/enable.php
Normal file
39
core/command/app/enable.php
Normal file
|
@ -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');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
47
core/command/app/listapps.php
Normal file
47
core/command/app/listapps.php
Normal file
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -10,3 +10,6 @@
|
||||||
$application->add(new OC\Core\Command\Status);
|
$application->add(new OC\Core\Command\Status);
|
||||||
$application->add(new OC\Core\Command\Db\GenerateChangeScript());
|
$application->add(new OC\Core\Command\Db\GenerateChangeScript());
|
||||||
$application->add(new OC\Core\Command\Upgrade());
|
$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());
|
||||||
|
|
Loading…
Reference in a new issue