server/console.php
Vincent Petry 2b1cd84fcc Do not load apps when an upgrade is due
This makes it still possible to update from the command line, but
disables custom commands from apps
2014-07-24 16:53:30 +02:00

47 lines
1.3 KiB
PHP

<?php
/**
* Copyright (c) 2013 Bart Visscher <bartv@thisnet.nl>
* This file is licensed under the Affero General Public License version 3 or
* later.
* See the COPYING-README file.
*/
use Symfony\Component\Console\Application;
try {
require_once 'lib/base.php';
// Don't do anything if ownCloud has not been installed yet
if (!\OC::$server->getConfig()->getSystemValue('installed', false)) {
echo "Console can only be used once ownCloud has been installed" . PHP_EOL;
exit(0);
}
if (!OC::$CLI) {
echo "This script can be run from the command line only" . PHP_EOL;
exit(0);
}
// only load apps if no update is due,
// else only core commands will be available
if (!\OCP\Util::needUpgrade()) {
// load all apps to get all api routes properly setup
OC_App::loadApps();
}
$defaults = new OC_Defaults;
$application = new Application($defaults->getName(), \OC_Util::getVersionString());
require_once 'core/register_command.php';
if (!\OCP\Util::needUpgrade()) {
foreach(OC_App::getAllApps() as $app) {
$file = OC_App::getAppPath($app).'/appinfo/register_command.php';
if(file_exists($file)) {
require $file;
}
}
}
$application->run();
} catch (Exception $ex) {
echo "An unhandled exception has been thrown:" . PHP_EOL;
echo $ex;
}