Index: trunk/core/kernel/event_manager.php =================================================================== diff -u -N -r3543 -r3559 --- trunk/core/kernel/event_manager.php (.../event_manager.php) (revision 3543) +++ trunk/core/kernel/event_manager.php (.../event_manager.php) (revision 3559) @@ -145,7 +145,7 @@ trigger_error('Prefix '.$event->Prefix.' not registred (requested event '.$event->Name.')', E_USER_NOTICE); return false; } - + if (!$event->SkipBeforeHooks) { $this->processHooks($event, hBEFORE); if ($event->status == erFATAL) return true; @@ -161,7 +161,7 @@ return true; } - + function ProcessRequest() { $this->processOpener(); @@ -246,10 +246,16 @@ array_pop($opener_stack); break; + case 'p': //pop-up - do not store last template + $this->Application->SetVar('skip_last_template', 1); + break; + default: // "s/0," stay on same deep level break; } - $this->Application->SetVar('m_opener','s'); + if ( !$this->Application->GetVar('skip_last_template') ) { + $this->Application->SetVar('m_opener','s'); + } $this->Application->StoreVar('opener_stack',serialize($opener_stack)); }