diff options
-rw-r--r-- | lib/private/Installer.php | 5 | ||||
-rw-r--r-- | lib/private/legacy/app.php | 14 |
2 files changed, 12 insertions, 7 deletions
diff --git a/lib/private/Installer.php b/lib/private/Installer.php index cc80423b7dc..643590ae22e 100644 --- a/lib/private/Installer.php +++ b/lib/private/Installer.php @@ -493,11 +493,6 @@ class Installer { */ public static function removeApp($appId) { - $appData = OC_App::getAppInfo($appId); - if (!is_null($appData)) { - OC_App::executeRepairSteps($appId, $appData['repair-steps']['uninstall']); - } - if(Installer::isDownloaded( $appId )) { $appDir=OC_App::getInstallPath() . '/' . $appId; OC_Helper::rmdirr($appDir); diff --git a/lib/private/legacy/app.php b/lib/private/legacy/app.php index 42bb441228f..41b1b79e4f6 100644 --- a/lib/private/legacy/app.php +++ b/lib/private/legacy/app.php @@ -370,9 +370,19 @@ class OC_App { $app = self::getInternalAppIdByOcs($app); } - self::$enabledAppsCache = array(); // flush - // check if app is a shipped app or not. if not delete + // flush + self::$enabledAppsCache = array(); + + // run uninstall steps + $appData = OC_App::getAppInfo($app); + if (!is_null($appData)) { + OC_App::executeRepairSteps($app, $appData['repair-steps']['uninstall']); + } + + // emit disable hook - needed anymore ? \OC_Hook::emit('OC_App', 'pre_disable', array('app' => $app)); + + // finally disable it $appManager = \OC::$server->getAppManager(); $appManager->disableApp($app); } |