Index: branches/unlabeled/unlabeled-1.38.2/core/kernel/event_manager.php =================================================================== diff -u -r6235 -r6367 --- branches/unlabeled/unlabeled-1.38.2/core/kernel/event_manager.php (.../event_manager.php) (revision 6235) +++ branches/unlabeled/unlabeled-1.38.2/core/kernel/event_manager.php (.../event_manager.php) (revision 6367) @@ -289,6 +289,11 @@ // 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 + if ($event->redirect === true && !isset($event->redirect_params['pass_category']) && $this->Application->GetVar('m_cat_id')) { + $event->redirect_params['pass_category'] = 1; + } $this->Application->Redirect($event->redirect, $event->redirect_params, null, $event->redirect_script); } } Index: branches/unlabeled/unlabeled-1.62.2/core/kernel/processors/main_processor.php =================================================================== diff -u -r6308 -r6367 --- branches/unlabeled/unlabeled-1.62.2/core/kernel/processors/main_processor.php (.../main_processor.php) (revision 6308) +++ branches/unlabeled/unlabeled-1.62.2/core/kernel/processors/main_processor.php (.../main_processor.php) (revision 6367) @@ -121,7 +121,7 @@ function FormAction($params) { - return $this->Application->ProcessParsedTag('m', 't', array_merge($params, Array('pass'=>'all,m' )) ); + return $this->Application->ProcessParsedTag('m', 't', array_merge($params, Array('pass'=>'all,m', 'pass_category' => 1 )) ); } /*// NEEDS TEST Index: branches/unlabeled/unlabeled-1.50.2/core/kernel/session/session.php =================================================================== diff -u -r6235 -r6367 --- branches/unlabeled/unlabeled-1.50.2/core/kernel/session/session.php (.../session.php) (revision 6235) +++ branches/unlabeled/unlabeled-1.50.2/core/kernel/session/session.php (.../session.php) (revision 6367) @@ -412,7 +412,7 @@ function CheckIfCookiesAreOn() { // $this->CheckDuplicateCookies(); - if ($this->Mode == smGET_ONLY) + if ($this->Mode == smGET_ONLY) { //we don't need to bother checking if we would not use it $this->CookiesEnabled = false; @@ -522,8 +522,8 @@ break; } } - + $this->CachedSID = $sid; return $this->CachedSID; } @@ -689,6 +689,7 @@ $last_env = $this->Application->BuildEnv($t, Array('m_opener' => 'u', '__URLENCODE__' => 1), 'all'); $last_template = basename($_SERVER['PHP_SELF']).'|'.substr($last_env, strlen(ENV_VAR_NAME) + 1); $this->StoreVar('last_template', $last_template); + $this->StoreVar('last_url', $_SERVER['REQUEST_URI']); $this->StoreVar('last_env', substr($this->Application->BuildEnv($t, Array('__URLENCODE__' => 1), 'all'), strlen(ENV_VAR_NAME)+1)); }