Deactivate.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace ThurData\Servers\KerioEmail\Core\App\Controllers\Instances\Addon;
  3. use ThurData\Servers\KerioEmail\Core\App\Controllers\Interfaces\AddonController;
  4. use ThurData\Servers\KerioEmail\Core\ServiceLocator;
  5. /**
  6. * Deactivate module action
  7. */
  8. class Deactivate extends \ThurData\Servers\KerioEmail\Core\App\Controllers\Instances\AddonController implements AddonController
  9. {
  10. /**
  11. * @param array $params
  12. * @return array
  13. */
  14. public function execute($params = [])
  15. {
  16. try
  17. {
  18. // before
  19. $return = ServiceLocator::call(\ThurData\Servers\KerioEmail\Core\Configuration\Addon\Deactivate\Before::class)->execute($params);
  20. if (!isset($return['status']))
  21. {
  22. $return['status'] = 'success';
  23. }
  24. // after
  25. $return = ServiceLocator::call(\ThurData\Servers\KerioEmail\Core\Configuration\Addon\Deactivate\After::class)->execute($return);
  26. return $return;
  27. }
  28. catch (\Exception $exc)
  29. {
  30. ServiceLocator::call(\ThurData\Servers\KerioEmail\Core\HandlerError\ErrorManager::class)->addError(self::class, $exc->getMessage(), $return);
  31. return [
  32. 'status' => 'error',
  33. 'description' => $exc->getMessage()
  34. ];
  35. }
  36. }
  37. }