Upgrade.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. namespace ModulesGarden\Servers\KerioEmail\Core\App\Controllers\Instances\Addon;
  3. use ModulesGarden\Servers\KerioEmail\Core\App\Controllers\Interfaces\AddonController;
  4. use ModulesGarden\Servers\KerioEmail\Core\Helper\DatabaseHelper;
  5. use ModulesGarden\Servers\KerioEmail\Core\ServiceLocator;
  6. /**
  7. * module update process
  8. */
  9. class Upgrade extends \ModulesGarden\Servers\KerioEmail\Core\App\Controllers\Instances\AddonController implements AddonController
  10. {
  11. /**
  12. * @var null|DatabaseHelper
  13. */
  14. protected $databaseHelper = null;
  15. public function execute($params = [])
  16. {
  17. if ($version == '')
  18. {
  19. $version = isset($this->params['version']) ? $this->params['version'] : $params['version'];
  20. }
  21. try
  22. {
  23. // after
  24. $return = ServiceLocator::call(\ModulesGarden\Servers\KerioEmail\Core\Configuration\Addon\Update\After::class)->execute(['version' => $version]);
  25. // update
  26. if (!isset($return['version']))
  27. {
  28. $return['version'] = $version;
  29. }
  30. $patchManager = ServiceLocator::call("patchManager")->run(/*$this->getConfig("version")*/ '', $version);
  31. // before
  32. $return = ServiceLocator::call(\ModulesGarden\Servers\KerioEmail\Core\Configuration\Addon\Update\Before::class)->execute($return);
  33. return $return;
  34. }
  35. catch (\Exception $ex)
  36. {
  37. ServiceLocator::call(\ModulesGarden\Servers\KerioEmail\Core\HandlerError\ErrorManager::class)->addError(self::class, $ex->getMessage(), $return);
  38. }
  39. }
  40. }