Index: trunk/core/kernel/event_manager.php =================================================================== diff -u -N -r7635 -r7855 --- trunk/core/kernel/event_manager.php (.../event_manager.php) (revision 7635) +++ trunk/core/kernel/event_manager.php (.../event_manager.php) (revision 7855) @@ -283,7 +283,15 @@ $this->HandleEvent($event); } + if ($event->status == erSTOP) { + // event requested to stop processing at this point + safeDefine('DBG_SKIP_REPORTING', 1); + $this->Application->Session->SaveData(); + exit; + } + if ($event->status == erPERM_FAIL) { + // should do redirect but to no_permissions template $event->redirect = $this->Application->IsAdmin() ? 'no_permission' : $this->Application->ConfigValue('NoPermissionTemplate'); $event->redirect_params['pass'] = 'm'; $event->redirect_params['m_cat_id'] = 0; @@ -294,8 +302,7 @@ // don't save last_template, because no_permission template does js history.back and could cause invalid opener_stack content $this->Application->SetVar('skip_last_template', 1); } - - // should do redirect but to no_permissions template + if ( ($event->status == erSUCCESS || $event->status == erPERM_FAIL) && ($event->redirect === true || strlen($event->redirect) > 0)) { // we need to pass category if the action was submitted to self-template, with the category passed // and it has not explicly set redirect template or pass_cateogry param