Index: branches/5.2.x/core/units/admin/admin_events_handler.php =================================================================== diff -u -N -r15715 -r15728 --- branches/5.2.x/core/units/admin/admin_events_handler.php (.../admin_events_handler.php) (revision 15715) +++ branches/5.2.x/core/units/admin/admin_events_handler.php (.../admin_events_handler.php) (revision 15728) @@ -1,6 +1,6 @@ Application->recallObject('DeploymentHelper'); - /* @var $deployment_helper DeploymentHelper */ - - if ( !$deployment_helper->isCommandLine ) { - // browser invocation -> don't perform redirect - $event->redirect = false; - } - - if ( $deployment_helper->deployAll() ) { - $event->SetRedirectParam('action_completed', 1); - } - else { - $event->status = kEvent::erFAIL; - } + $this->_deploymentAction($event); } /** @@ -1069,16 +1056,36 @@ */ protected function OnSynchronizeDBRevisions(kEvent $event) { + $this->_deploymentAction($event, true); + } + + /** + * Common code to invoke deployment helper + * + * @param kEvent $event + * @param bool $dry_run + * @return void + * @access protected + */ + protected function _deploymentAction(kEvent $event, $dry_run = false) + { $deployment_helper = $this->Application->recallObject('DeploymentHelper'); /* @var $deployment_helper DeploymentHelper */ - if ( !$deployment_helper->isCommandLine ) { - // browser invocation -> don't perform redirect - $event->redirect = false; - } + $deployment_helper->setEvent($event); - if ( $deployment_helper->deployAll(true) ) { - $this->Application->SetVar('action_completed', 1); + if ( $deployment_helper->deployAll($dry_run) ) { + $event->SetRedirectParam('action_completed', 1); + + if ( !$deployment_helper->isCommandLine ) { + // browser invocation -> don't perform redirect + $event->redirect = false; + + // no redirect, but deployment succeeded - set redirect params directly + foreach ($event->getRedirectParams() as $param_name => $param_value) { + $this->Application->SetVar($param_name, $param_value); + } + } } else { $event->status = kEvent::erFAIL;