From 04053311eef71536eaec8bc0519e21303b0cec20 Mon Sep 17 00:00:00 2001
From: Julius Härtl <jus@bitgrid.net>
Date: Thu, 15 Feb 2018 11:20:22 +0100
Subject: Properly encapsulate require_once for app.php
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Julius Härtl <jus@bitgrid.net>
---
 lib/private/legacy/app.php | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

(limited to 'lib/private/legacy')

diff --git a/lib/private/legacy/app.php b/lib/private/legacy/app.php
index b19d63f560e..646992c2c10 100644
--- a/lib/private/legacy/app.php
+++ b/lib/private/legacy/app.php
@@ -133,6 +133,7 @@ class OC_App {
 	 * load a single app
 	 *
 	 * @param string $app
+	 * @throws Exception
 	 */
 	public static function loadApp($app) {
 		self::$loadedApps[] = $app;
@@ -146,7 +147,15 @@ class OC_App {
 
 		if (is_file($appPath . '/appinfo/app.php')) {
 			\OC::$server->getEventLogger()->start('load_app_' . $app, 'Load app: ' . $app);
-			self::requireAppFile($app);
+			try {
+				self::requireAppFile($app);
+			} catch (Error $ex) {
+				\OC::$server->getLogger()->logException($ex);
+				if (!\OC::$server->getAppManager()->isShipped($app)) {
+					// Only disable apps which are not shipped
+					self::disable($app);
+				}
+			}
 			if (self::isType($app, array('authentication'))) {
 				// since authentication apps affect the "is app enabled for group" check,
 				// the enabled apps cache needs to be cleared to make sure that the
@@ -250,16 +259,8 @@ class OC_App {
 	 * @param string $app app name
 	 */
 	private static function requireAppFile($app) {
-		try {
-			// encapsulated here to avoid variable scope conflicts
-			require_once $app . '/appinfo/app.php';
-		} catch (Error $ex) {
-			\OC::$server->getLogger()->logException($ex);
-			if (!\OC::$server->getAppManager()->isShipped($app)) {
-				// Only disable apps which are not shipped
-				self::disable($app);
-			}
-		}
+		// encapsulated here to avoid variable scope conflicts
+		require_once $app . '/appinfo/app.php';
 	}
 
 	/**
-- 
cgit v1.2.3