diff options
Diffstat (limited to 'lib/private/App')
-rw-r--r-- | lib/private/App/AppManager.php | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/private/App/AppManager.php b/lib/private/App/AppManager.php index 4bf15c23fab..f46ec2a584e 100644 --- a/lib/private/App/AppManager.php +++ b/lib/private/App/AppManager.php @@ -287,6 +287,16 @@ class AppManager implements IAppManager { } unset($this->installedAppsCache[$appId]); $this->appConfig->setValue($appId, 'enabled', 'no'); + + // run uninstall steps + $appData = $this->getAppInfo($appId); + if (!is_null($appData)) { + \OC_App::executeRepairSteps($appId, $appData['repair-steps']['uninstall']); + } + + // emit disable hook - needed anymore ? + \OC_Hook::emit('OC_App', 'pre_disable', array('app' => $appId)); + $this->dispatcher->dispatch(ManagerEvent::EVENT_APP_DISABLE, new ManagerEvent( ManagerEvent::EVENT_APP_DISABLE, $appId )); |