From 7bd7c202953c46d9433c295eeea09f455a7ccc5c Mon Sep 17 00:00:00 2001
From: Joas Schilling <nickvergessen@gmx.de>
Date: Fri, 30 Jan 2015 16:39:57 +0100
Subject: [PATCH] Check whether return is an error case before using it

---
 settings/controller/appsettingscontroller.php | 20 +++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/settings/controller/appsettingscontroller.php b/settings/controller/appsettingscontroller.php
index 816b7b2e65c..72403437bb8 100644
--- a/settings/controller/appsettingscontroller.php
+++ b/settings/controller/appsettingscontroller.php
@@ -67,11 +67,13 @@ class AppSettingsController extends Controller {
 			$categories[] = ['id' => 2, 'displayName' => (string)$this->l10n->t('Recommended')];
 			// apps from external repo via OCS
 			$ocs = \OC_OCSClient::getCategories();
-			foreach($ocs as $k => $v) {
-				$categories[] = array(
-					'id' => $k,
-					'displayName' => str_replace('ownCloud ', '', $v)
-				);
+			if ($ocs) {
+				foreach($ocs as $k => $v) {
+					$categories[] = array(
+						'id' => $k,
+						'displayName' => str_replace('ownCloud ', '', $v)
+					);
+				}
 			}
 		}
 
@@ -124,9 +126,11 @@ class AppSettingsController extends Controller {
 				default:
 					if ($category === 2) {
 						$apps = \OC_App::getAppstoreApps('approved');
-						$apps = array_filter($apps, function ($app) {
-							return isset($app['internalclass']) && $app['internalclass'] === 'recommendedapp';
-						});
+						if ($apps) {
+							$apps = array_filter($apps, function ($app) {
+								return isset($app['internalclass']) && $app['internalclass'] === 'recommendedapp';
+							});
+						}
 					} else {
 						$apps = \OC_App::getAppstoreApps('approved', $category);
 					}
-- 
GitLab