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));
}