Index: kernel/managers/request_manager.php =================================================================== --- kernel/managers/request_manager.php (revision 14705) +++ kernel/managers/request_manager.php (working copy) @@ -152,6 +152,7 @@ return $false; } + $event->SetRedirectParam('opener', 's'); // stay on same page after event is called $event->setEventParam('top_prefix', $this->Application->GetTopmostPrefix($event->Prefix, true)); $event_handler =& $this->Application->recallObject($event->Prefix . '_EventHandler'); @@ -217,6 +218,11 @@ $event->redirect = defined('CLOSE_POPUP_TPL') ? CLOSE_POPUP_TPL : 'incs/close_popup'; } + if ( $event->getRedirectParam('pass') === false ) { + // pass all discovered units to redirected page unless developer decided otherwise + $event->SetRedirectParam('pass', 'all'); + } + $this->Application->Redirect($event->redirect, $event->getRedirectParams(), '', $event->redirectScript); } @@ -468,6 +474,11 @@ $params = array_merge($params, $new_params); } + if ( !isset($params['pass_events']) ) { + // don't pass events, unless requested + $params['pass_events'] = false; + } + $opener_stack->push($template, $params, $index_file); $opener_stack->save(); } Index: kernel/utility/event.php =================================================================== --- kernel/utility/event.php (revision 14705) +++ kernel/utility/event.php (working copy) @@ -89,15 +89,12 @@ public $redirect = true; /** - * Params, used during redirect url building after event succsessfull processing + * Params, used during redirect url building after event successful processing * * @var bool * @access private */ - private $redirectParams = Array ( - 'opener' => 's', // redirect to given template - 'pass' => 'all' // pass all discovered units to redirected page - ); + private $redirectParams = Array (); /** * PHP file to redirect to. Defaults to "index.php"