Browse Source
Run repair steps on uninstall in all cases
Signed-off-by: Tobia De Koninck <tobia@ledfan.be>
pull/5833/head
Tobia De Koninck
9 years ago
committed by
Morris Jobke
No known key found for this signature in database
GPG Key ID: FE03C3A163FEDE68
3 changed files with
11 additions and
11 deletions
-
lib/private/App/AppManager.php
-
lib/private/legacy/app.php
-
settings/ajax/disableapp.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 |
|
|
|
)); |
|
|
|
|
|
|
|
@ -431,16 +431,6 @@ class OC_App { |
|
|
|
// flush
|
|
|
|
self::$enabledAppsCache = []; |
|
|
|
|
|
|
|
// 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); |
|
|
|
} |
|
|
|
|
|
|
|
@ -39,6 +39,6 @@ if (!array_key_exists('appid', $_POST)) { |
|
|
|
$appIds = (array)$_POST['appid']; |
|
|
|
foreach($appIds as $appId) { |
|
|
|
$appId = OC_App::cleanAppId($appId); |
|
|
|
OC_App::disable($appId); |
|
|
|
\OC::$server->getAppManager()->disableApp($appId); |
|
|
|
} |
|
|
|
OC_JSON::success(); |