diff --git a/lib/private/App/AppStore/Fetcher/AppFetcher.php b/lib/private/App/AppStore/Fetcher/AppFetcher.php index 98eda35b3a1e3..f939df481c954 100644 --- a/lib/private/App/AppStore/Fetcher/AppFetcher.php +++ b/lib/private/App/AppStore/Fetcher/AppFetcher.php @@ -181,10 +181,17 @@ public function setVersion(string $version, string $fileName = 'apps.json', bool $this->ignoreMaxVersion = $ignoreMaxVersion; } - - public function get($allowUnstable = false) { + public function get($allowUnstable = false): array { $allowPreReleases = $allowUnstable || $this->getChannel() === 'beta' || $this->getChannel() === 'daily' || $this->getChannel() === 'git'; + $appStoreEnabled = $this->config->getSystemValueBool('appstoreenabled', true); + $internetAvailable = $this->config->getSystemValueBool('has_internet_connection', true); + + if (!$appStoreEnabled || !$internetAvailable) { + $this->logger->info('AppStore is disabled or this instance has no Internet connection', ['app' => 'appstoreFetcher']); + return []; + } + $apps = parent::get($allowPreReleases); if (empty($apps)) { $this->logger->warning('Could not get apps from the appstore', ['app' => 'appstoreFetcher']);