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
parent
commit
539fdaea1e
No known key found for this signature in database GPG Key ID: FE03C3A163FEDE68
  1. 10
      lib/private/App/AppManager.php
  2. 10
      lib/private/legacy/app.php
  3. 2
      settings/ajax/disableapp.php

10
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
));

10
lib/private/legacy/app.php

@ -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);
}

2
settings/ajax/disableapp.php

@ -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();
Loading…
Cancel
Save