Browse Source

Do not fail hard if no appinfo is returned during update

Signed-off-by: Julius Härtl <jus@bitgrid.net>
tags/v14.0.0beta1
Julius Härtl 6 years ago
parent
commit
eb6e5a27a3
No account linked to committer's email address
2 changed files with 5 additions and 3 deletions
  1. 4
    2
      lib/private/App/AppManager.php
  2. 1
    1
      lib/private/Updater.php

+ 4
- 2
lib/private/App/AppManager.php View File

@@ -358,7 +358,7 @@ class AppManager implements IAppManager {
*
* @param bool $path
* @param null $lang
* @return array app info
* @return array|null app info
*/
public function getAppInfo(string $appId, bool $path = false, $lang = null) {
if ($path) {
@@ -411,7 +411,9 @@ class AppManager implements IAppManager {
$incompatibleApps = array();
foreach ($apps as $appId) {
$info = $this->getAppInfo($appId);
if (!\OC_App::isAppCompatible($version, $info)) {
if ($info === null) {
$incompatibleApps[] = ['id' => $appId];
} else if (!\OC_App::isAppCompatible($version, $info)) {
$incompatibleApps[] = $info;
}
}

+ 1
- 1
lib/private/Updater.php View File

@@ -391,7 +391,7 @@ class Updater extends BasicEmitter {
foreach ($apps as $app) {
// check if the app is compatible with this version of ownCloud
$info = OC_App::getAppInfo($app);
if(!OC_App::isAppCompatible($version, $info)) {
if($info === null || !OC_App::isAppCompatible($version, $info)) {
if ($appManager->isShipped($app)) {
throw new \UnexpectedValueException('The files of the app "' . $app . '" were not correctly replaced before running the update');
}

Loading…
Cancel
Save