From b5b8ab4a8ea032eb7d91b947a44033fdd63f6bf5 Mon Sep 17 00:00:00 2001 From: Taras Machyshyn Date: Tue, 17 Feb 2015 13:02:02 +0200 Subject: [PATCH] added initialize(), finalize() methods to upgrade scripts --- application/Espo/Core/Upgrades/Actions/Base.php | 10 ++++++++++ application/Espo/Core/Upgrades/Actions/Base/Delete.php | 4 ++++ .../Espo/Core/Upgrades/Actions/Base/Install.php | 6 +++++- .../Espo/Core/Upgrades/Actions/Base/Uninstall.php | 4 ++++ application/Espo/Core/Upgrades/Actions/Base/Upload.php | 4 ++++ .../Espo/Core/Upgrades/Actions/Upgrade/Install.php | 2 +- 6 files changed, 28 insertions(+), 2 deletions(-) diff --git a/application/Espo/Core/Upgrades/Actions/Base.php b/application/Espo/Core/Upgrades/Actions/Base.php index 2b0f530910..91a1d3bba1 100644 --- a/application/Espo/Core/Upgrades/Actions/Base.php +++ b/application/Espo/Core/Upgrades/Actions/Base.php @@ -504,6 +504,16 @@ abstract class Base $this->getActionManager()->setAction($currentAction); } + protected function initialize() + { + + } + + protected function finalize() + { + + } + protected function beforeRunAction() { diff --git a/application/Espo/Core/Upgrades/Actions/Base/Delete.php b/application/Espo/Core/Upgrades/Actions/Base/Delete.php index edcbcb66aa..c301a04228 100644 --- a/application/Espo/Core/Upgrades/Actions/Base/Delete.php +++ b/application/Espo/Core/Upgrades/Actions/Base/Delete.php @@ -32,6 +32,8 @@ class Delete extends \Espo\Core\Upgrades\Actions\Base throw new Error('Delete package package ID was not specified.'); } + $this->initialize(); + $this->setProcessId($processId); $this->beforeRunAction(); @@ -41,6 +43,8 @@ class Delete extends \Espo\Core\Upgrades\Actions\Base $this->afterRunAction(); + $this->finalize(); + $GLOBALS['log']->debug('Delete package process ['.$processId.']: end run.'); } diff --git a/application/Espo/Core/Upgrades/Actions/Base/Install.php b/application/Espo/Core/Upgrades/Actions/Base/Install.php index 4d27ba9b87..85b4a42b99 100644 --- a/application/Espo/Core/Upgrades/Actions/Base/Install.php +++ b/application/Espo/Core/Upgrades/Actions/Base/Install.php @@ -50,6 +50,8 @@ class Install extends \Espo\Core\Upgrades\Actions\Base $this->setProcessId($processId); + $this->initialize(); + $this->isCopied = false; /** check if an archive is unzipped, if no then unzip */ @@ -76,7 +78,7 @@ class Install extends \Espo\Core\Upgrades\Actions\Base $this->isCopied = true; /* remove files defined in a manifest */ - $this->deleteFiles(); + $this->deleteFiles(true); if (!$this->systemRebuild()) { $this->throwErrorAndRemovePackage('Error occurred while EspoCRM rebuild.'); @@ -92,6 +94,8 @@ class Install extends \Espo\Core\Upgrades\Actions\Base /* delete unziped files */ $this->deletePackageFiles(); + $this->finalize(); + $GLOBALS['log']->debug('Installation process ['.$processId.']: end run.'); } diff --git a/application/Espo/Core/Upgrades/Actions/Base/Uninstall.php b/application/Espo/Core/Upgrades/Actions/Base/Uninstall.php index 722e0e9287..910ad9dd29 100644 --- a/application/Espo/Core/Upgrades/Actions/Base/Uninstall.php +++ b/application/Espo/Core/Upgrades/Actions/Base/Uninstall.php @@ -37,6 +37,8 @@ class Uninstall extends \Espo\Core\Upgrades\Actions\Base $this->setProcessId($processId); + $this->initialize(); + $this->checkIsWritable(); /* run before install script */ @@ -72,6 +74,8 @@ class Uninstall extends \Espo\Core\Upgrades\Actions\Base /* delete backup files */ $this->deletePackageFiles(); + $this->finalize(); + $GLOBALS['log']->debug('Uninstallation process ['.$processId.']: end run.'); } diff --git a/application/Espo/Core/Upgrades/Actions/Base/Upload.php b/application/Espo/Core/Upgrades/Actions/Base/Upload.php index 2d10db12ec..03ebae176e 100644 --- a/application/Espo/Core/Upgrades/Actions/Base/Upload.php +++ b/application/Espo/Core/Upgrades/Actions/Base/Upload.php @@ -38,6 +38,8 @@ class Upload extends \Espo\Core\Upgrades\Actions\Base $GLOBALS['log']->debug('Installation process ['.$processId.']: start upload the package.'); + $this->initialize(); + $packagePath = $this->getPackagePath(); $packageArchivePath = $this->getPackagePath(true); @@ -55,6 +57,8 @@ class Upload extends \Espo\Core\Upgrades\Actions\Base $this->isAcceptable(); + $this->finalize(); + $GLOBALS['log']->debug('Installation process ['.$processId.']: end upload the package.'); return $processId; diff --git a/application/Espo/Core/Upgrades/Actions/Upgrade/Install.php b/application/Espo/Core/Upgrades/Actions/Upgrade/Install.php index 407ff85733..026b9ff6a7 100644 --- a/application/Espo/Core/Upgrades/Actions/Upgrade/Install.php +++ b/application/Espo/Core/Upgrades/Actions/Upgrade/Install.php @@ -24,7 +24,7 @@ namespace Espo\Core\Upgrades\Actions\Upgrade; class Install extends \Espo\Core\Upgrades\Actions\Base\Install { - protected function afterRunAction() + protected function finalize() { $manifest = $this->getManifest();