summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/command/upgrade.php14
-rw-r--r--core/register_command.php2
-rw-r--r--lib/private/templatelayout.php2
-rw-r--r--lib/private/updater.php20
-rw-r--r--tests/lib/updater.php2
5 files changed, 23 insertions, 17 deletions
diff --git a/core/command/upgrade.php b/core/command/upgrade.php
index 0f1b828ba25..5d4819f6baf 100644
--- a/core/command/upgrade.php
+++ b/core/command/upgrade.php
@@ -30,6 +30,7 @@ namespace OC\Core\Command;
use OC\Console\TimestampFormatter;
use OC\Updater;
use OCP\IConfig;
+use OCP\ILogger;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
@@ -44,17 +45,19 @@ class Upgrade extends Command {
const ERROR_INVALID_ARGUMENTS = 4;
const ERROR_FAILURE = 5;
- /**
- * @var IConfig
- */
+ /** @var IConfig */
private $config;
+ /** @var ILogger */
+ private $logger;
+
/**
* @param IConfig $config
*/
- public function __construct(IConfig $config) {
+ public function __construct(IConfig $config, ILogger $logger) {
parent::__construct();
$this->config = $config;
+ $this->logger = $logger;
}
protected function configure() {
@@ -126,7 +129,8 @@ class Upgrade extends Command {
$self = $this;
$updater = new Updater(\OC::$server->getHTTPHelper(),
- $this->config);
+ $this->config,
+ $this->logger);
$updater->setSimulateStepEnabled($simulateStepEnabled);
$updater->setUpdateStepEnabled($updateStepEnabled);
diff --git a/core/register_command.php b/core/register_command.php
index 460e8626e5e..4044d2d200c 100644
--- a/core/register_command.php
+++ b/core/register_command.php
@@ -94,7 +94,7 @@ if (\OC::$server->getConfig()->getSystemValue('installed', false)) {
$application->add(new OC\Core\Command\Maintenance\Repair(new \OC\Repair(\OC\Repair::getRepairSteps()), \OC::$server->getConfig()));
$application->add(new OC\Core\Command\Maintenance\SingleUser(\OC::$server->getConfig()));
- $application->add(new OC\Core\Command\Upgrade(\OC::$server->getConfig()));
+ $application->add(new OC\Core\Command\Upgrade(\OC::$server->getConfig(), \OC::$server->getLogger()));
$application->add(new OC\Core\Command\User\Add(\OC::$server->getUserManager(), \OC::$server->getGroupManager()));
$application->add(new OC\Core\Command\User\Delete(\OC::$server->getUserManager()));
diff --git a/lib/private/templatelayout.php b/lib/private/templatelayout.php
index 43c83dea815..7d16823d2a8 100644
--- a/lib/private/templatelayout.php
+++ b/lib/private/templatelayout.php
@@ -79,7 +79,7 @@ class OC_TemplateLayout extends OC_Template {
if($this->config->getSystemValue('updatechecker', true) === true &&
OC_User::isAdminUser(OC_User::getUser())) {
$updater = new \OC\Updater(\OC::$server->getHTTPHelper(),
- \OC::$server->getConfig());
+ \OC::$server->getConfig(), \OC::$server->getLogger());
$data = $updater->check();
if(isset($data['version']) && $data['version'] != '' and $data['version'] !== Array()) {
diff --git a/lib/private/updater.php b/lib/private/updater.php
index 8aa8b0703d7..70d68863788 100644
--- a/lib/private/updater.php
+++ b/lib/private/updater.php
@@ -32,7 +32,6 @@
namespace OC;
-use OC\Core\Command\Log\Manage;
use OC\Hooks\BasicEmitter;
use OC_App;
use OC_Installer;
@@ -199,15 +198,13 @@ class Updater extends BasicEmitter {
$installedVersion = $this->config->getSystemValue('version', '0.0.0');
$currentVersion = implode('.', \OC_Util::getVersion());
- if ($this->log) {
- $this->log->debug('starting upgrade from ' . $installedVersion . ' to ' . $currentVersion, array('app' => 'core'));
- }
+ $this->log->debug('starting upgrade from ' . $installedVersion . ' to ' . $currentVersion, array('app' => 'core'));
$success = true;
try {
$this->doUpgrade($currentVersion, $installedVersion);
} catch (\Exception $exception) {
- \OCP\Util::logException('update', $exception);
+ $this->log->logException($exception, ['app' => 'core']);
$this->emit('\OC\Updater', 'failure', array(get_class($exception) . ': ' .$exception->getMessage()));
$success = false;
}
@@ -235,6 +232,7 @@ class Updater extends BasicEmitter {
private function getAllowedPreviousVersion() {
// this should really be a JSON file
require \OC::$SERVERROOT . '/version.php';
+ /** @var array $OC_VersionCanBeUpgradedFrom */
return implode('.', $OC_VersionCanBeUpgradedFrom);
}
@@ -497,11 +495,15 @@ class Updater extends BasicEmitter {
*/
private function upgradeAppStoreApps(array $disabledApps) {
foreach($disabledApps as $app) {
- if (OC_Installer::isUpdateAvailable($app)) {
- $ocsId = \OC::$server->getConfig()->getAppValue($app, 'ocsid', '');
+ try {
+ if (OC_Installer::isUpdateAvailable($app)) {
+ $ocsId = \OC::$server->getConfig()->getAppValue($app, 'ocsid', '');
- $this->emit('\OC\Updater', 'upgradeAppStoreApp', array($app));
- OC_Installer::updateAppByOCSId($ocsId);
+ $this->emit('\OC\Updater', 'upgradeAppStoreApp', array($app));
+ OC_Installer::updateAppByOCSId($ocsId);
+ }
+ } catch (\Exception $ex) {
+ $this->log->logException($ex, ['app' => 'core']);
}
}
}
diff --git a/tests/lib/updater.php b/tests/lib/updater.php
index 763858acf5d..1651fe1759d 100644
--- a/tests/lib/updater.php
+++ b/tests/lib/updater.php
@@ -161,7 +161,7 @@ class UpdaterTest extends \Test\TestCase {
* @param bool $result
*/
public function testIsUpgradePossible($oldVersion, $newVersion, $allowedVersion, $result) {
- $updater = new Updater($this->httpHelper, $this->config);
+ $updater = new Updater($this->httpHelper, $this->config, $this->logger);
$this->assertSame($result, $updater->isUpgradePossible($oldVersion, $newVersion, $allowedVersion));
}