summaryrefslogtreecommitdiffstats
path: root/lib/private/App
diff options
context:
space:
mode:
authorTobia De Koninck <tobia@ledfan.be>2017-07-22 13:32:56 +0200
committerMorris Jobke <hey@morrisjobke.de>2018-03-06 10:41:55 +0100
commit539fdaea1efa7fa35b321031554af8703d00737c (patch)
tree4d877909bf66e9a4749df474d2f7c407b01612ce /lib/private/App
parent3867a74f0d8f17357043a72e38828eb3cbca59f8 (diff)
downloadnextcloud-server-539fdaea1efa7fa35b321031554af8703d00737c.tar.gz
nextcloud-server-539fdaea1efa7fa35b321031554af8703d00737c.zip
Run repair steps on uninstall in all cases
Signed-off-by: Tobia De Koninck <tobia@ledfan.be>
Diffstat (limited to 'lib/private/App')
-rw-r--r--lib/private/App/AppManager.php10
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
));