Properly encapsulate require_once for app.php
Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
parent
c2db0f9d04
commit
4bd0a3fe4d
|
@ -133,6 +133,7 @@ class OC_App {
|
||||||
* load a single app
|
* load a single app
|
||||||
*
|
*
|
||||||
* @param string $app
|
* @param string $app
|
||||||
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public static function loadApp($app) {
|
public static function loadApp($app) {
|
||||||
self::$loadedApps[] = $app;
|
self::$loadedApps[] = $app;
|
||||||
|
@ -146,7 +147,15 @@ class OC_App {
|
||||||
|
|
||||||
if (is_file($appPath . '/appinfo/app.php')) {
|
if (is_file($appPath . '/appinfo/app.php')) {
|
||||||
\OC::$server->getEventLogger()->start('load_app_' . $app, 'Load app: ' . $app);
|
\OC::$server->getEventLogger()->start('load_app_' . $app, 'Load app: ' . $app);
|
||||||
|
try {
|
||||||
self::requireAppFile($app);
|
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'))) {
|
if (self::isType($app, array('authentication'))) {
|
||||||
// since authentication apps affect the "is app enabled for group" check,
|
// since authentication apps affect the "is app enabled for group" check,
|
||||||
// the enabled apps cache needs to be cleared to make sure that the
|
// the enabled apps cache needs to be cleared to make sure that the
|
||||||
|
@ -204,16 +213,8 @@ class OC_App {
|
||||||
* @param string $app app name
|
* @param string $app app name
|
||||||
*/
|
*/
|
||||||
private static function requireAppFile($app) {
|
private static function requireAppFile($app) {
|
||||||
try {
|
|
||||||
// encapsulated here to avoid variable scope conflicts
|
// encapsulated here to avoid variable scope conflicts
|
||||||
require_once $app . '/appinfo/app.php';
|
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue