Index: trunk/core/kernel/session/session.php =================================================================== diff -u -N -r1860 -r2310 --- trunk/core/kernel/session/session.php (.../session.php) (revision 1860) +++ trunk/core/kernel/session/session.php (.../session.php) (revision 2310) @@ -291,7 +291,7 @@ if( ( $expired_sids && in_array($tmp_sid,$expired_sids) ) || ( $tmp_sid && !$this->Check() ) ) { $this->SetSession(); - $this->Application->HandleEvent($event, 'login:OnSessionExpire'); + $this->Application->HandleEvent($event, 'u:OnSessionExpire'); } } Index: trunk/kernel/units/general/inp_login_event_handler.php =================================================================== diff -u -N --- trunk/kernel/units/general/inp_login_event_handler.php (revision 1649) +++ trunk/kernel/units/general/inp_login_event_handler.php (revision 0) @@ -1,23 +0,0 @@ -Application->IsAdmin() ) - { - $location = $this->Application->BaseURL().ADMIN_DIR.'/index.php?expired=1'; - header('Location: '.$location); - exit; - } - else - { - $this->Application->Redirect('index'); - } - } - - - } - - -?> \ No newline at end of file Index: trunk/core/units/general/inp_login_event_handler.php =================================================================== diff -u -N --- trunk/core/units/general/inp_login_event_handler.php (revision 1649) +++ trunk/core/units/general/inp_login_event_handler.php (revision 0) @@ -1,23 +0,0 @@ -Application->IsAdmin() ) - { - $location = $this->Application->BaseURL().ADMIN_DIR.'/index.php?expired=1'; - header('Location: '.$location); - exit; - } - else - { - $this->Application->Redirect('index'); - } - } - - - } - - -?> \ No newline at end of file Index: trunk/kernel/units/users/users_event_handler.php =================================================================== diff -u -N -r2299 -r2310 --- trunk/kernel/units/users/users_event_handler.php (.../users_event_handler.php) (revision 2299) +++ trunk/kernel/units/users/users_event_handler.php (.../users_event_handler.php) (revision 2310) @@ -3,6 +3,21 @@ class UsersEventHandler extends InpDBEventHandler { + function OnSessionExpire() + { + if( $this->Application->IsAdmin() ) + { + $location = $this->Application->BaseURL().ADMIN_DIR.'/index.php?expired=1'; + header('Location: '.$location); + exit; + } + else + { + $t = $this->Application->GetVar('t'); + $this->Application->Redirect($t ? $t : 'index'); + } + } + /** * Checks user data and logs it in if allowed * Index: trunk/core/kernel/utility/http_query.php =================================================================== diff -u -N -r2183 -r2310 --- trunk/core/kernel/utility/http_query.php (.../http_query.php) (revision 2183) +++ trunk/core/kernel/utility/http_query.php (.../http_query.php) (revision 2310) @@ -256,7 +256,14 @@ if($env_var) { $sid = $this->Get('sid'); - if (defined('MOD_REWRITE') && MOD_REWRITE && $sid) $env_var = rtrim($sid.$env_var, '/'); + if (defined('MOD_REWRITE') && MOD_REWRITE && $sid && !$this->Get('admin') ) + { + //$env_var = rtrim($sid.$env_var, '/'); + $split_by = defined('INPORTAL_ENV') ? '-' : ':'; + $env_var = explode($split_by, $env_var, 2); + $env_var[0] = $sid; + $env_var = rtrim( implode($split_by, $env_var), '/'); + } $env_var = str_replace('\:','_&+$$+&_',$env_var); // replace escaped "=" with spec-chars :) $parts=explode(':',$env_var); Index: trunk/core/units/users/users_event_handler.php =================================================================== diff -u -N -r2299 -r2310 --- trunk/core/units/users/users_event_handler.php (.../users_event_handler.php) (revision 2299) +++ trunk/core/units/users/users_event_handler.php (.../users_event_handler.php) (revision 2310) @@ -3,6 +3,21 @@ class UsersEventHandler extends InpDBEventHandler { + function OnSessionExpire() + { + if( $this->Application->IsAdmin() ) + { + $location = $this->Application->BaseURL().ADMIN_DIR.'/index.php?expired=1'; + header('Location: '.$location); + exit; + } + else + { + $t = $this->Application->GetVar('t'); + $this->Application->Redirect($t ? $t : 'index'); + } + } + /** * Checks user data and logs it in if allowed * Index: trunk/admin/index.php =================================================================== diff -u -N -r931 -r2310 --- trunk/admin/index.php (.../index.php) (revision 931) +++ trunk/admin/index.php (.../index.php) (revision 2310) @@ -99,8 +99,10 @@ if (!admin_login() || GetVar('logout') || GetVar('expired') ) { - if(!headers_sent()) - setcookie("sid"," ",time()-3600); + if( !headers_sent() ) + { + setcookie('sid"','', time()-3600, $objConfig->Get("Site_Path").'/'.$admin ); + } $objSession->Logout(); require_once($pathtoroot.$admin."/login.php"); } Index: trunk/core/units/general/my_application.php =================================================================== diff -u -N -r2279 -r2310 --- trunk/core/units/general/my_application.php (.../my_application.php) (revision 2279) +++ trunk/core/units/general/my_application.php (.../my_application.php) (revision 2310) @@ -16,7 +16,6 @@ $this->registerClass('kCatDBItem',MODULES_PATH.'/kernel/units/general/cat_dbitem.php'); $this->registerClass('kCatDBList',MODULES_PATH.'/kernel/units/general/cat_dblist.php'); $this->registerClass('kCatDBEventHandler',MODULES_PATH.'/kernel/units/general/cat_event_handler.php'); - $this->registerClass('InpLoginEventHandler',MODULES_PATH.'/kernel/units/general/inp_login_event_handler.php','login_EventHandler'); $this->registerClass('InpDBEventHandler',MODULES_PATH.'/kernel/units/general/inp_db_event_handler.php','kDBEventHandler'); $this->registerClass('InpTempTablesHandler',MODULES_PATH.'/kernel/units/general/inp_temp_handler.php','kTempTablesHandler'); Index: trunk/core/kernel/session/login_event_handler.php =================================================================== diff -u -N --- trunk/core/kernel/session/login_event_handler.php (revision 1560) +++ trunk/core/kernel/session/login_event_handler.php (revision 0) @@ -1,12 +0,0 @@ -Application->Redirect('logout'); - } - } - - -?> \ No newline at end of file Index: trunk/kernel/units/general/my_application.php =================================================================== diff -u -N -r2279 -r2310 --- trunk/kernel/units/general/my_application.php (.../my_application.php) (revision 2279) +++ trunk/kernel/units/general/my_application.php (.../my_application.php) (revision 2310) @@ -16,7 +16,6 @@ $this->registerClass('kCatDBItem',MODULES_PATH.'/kernel/units/general/cat_dbitem.php'); $this->registerClass('kCatDBList',MODULES_PATH.'/kernel/units/general/cat_dblist.php'); $this->registerClass('kCatDBEventHandler',MODULES_PATH.'/kernel/units/general/cat_event_handler.php'); - $this->registerClass('InpLoginEventHandler',MODULES_PATH.'/kernel/units/general/inp_login_event_handler.php','login_EventHandler'); $this->registerClass('InpDBEventHandler',MODULES_PATH.'/kernel/units/general/inp_db_event_handler.php','kDBEventHandler'); $this->registerClass('InpTempTablesHandler',MODULES_PATH.'/kernel/units/general/inp_temp_handler.php','kTempTablesHandler');