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\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());
|
||||
|
|
Loading…
Reference in a new issue