Index: trunk/core/units/users/users_event_handler.php =================================================================== diff -u -N -r7702 -r7855 --- trunk/core/units/users/users_event_handler.php (.../users_event_handler.php) (revision 7702) +++ trunk/core/units/users/users_event_handler.php (.../users_event_handler.php) (revision 7855) @@ -46,6 +46,10 @@ if ($event->Special == 'regular') { $object->addFilter('primary_filter', 'ug.GroupId <> 11'); } + + if (!$this->Application->IsAdmin()) { + $object->addFilter('status_filter', '%1$s.Status = '.STATUS_ACTIVE); + } } @@ -105,17 +109,25 @@ function OnSessionExpire() { - if( $this->Application->IsAdmin() ) { + if ($this->Application->IsAdmin()) { $this->Application->Redirect('index', Array('expired' => 1), '', 'index.php'); } - else { - $http_query =& $this->Application->recallObject('HTTPQuery'); - $get = $http_query->getRedirectParams(); - - $t = $this->Application->GetVar('t'); - $get['js_redirect'] = $this->Application->ConfigValue('UseJSRedirect'); - $this->Application->Redirect($t ? $t : 'index', $get); + + if ($this->Application->GetVar('admin') == 1) { + $session_admin =& $this->Application->recallObject('Session.admin'); + /* @var $session_admin Session */ + + if (!$session_admin->LoggedIn()) { + // front-end session created from admin session & both expired + $this->Application->DeleteVar('admin'); + $this->Application->Redirect('index', Array('expired' => 1), '', 'admin/index.php'); + } } + + $get = $this->Application->HttpQuery->getRedirectParams(); + $t = $this->Application->GetVar('t'); + $get['js_redirect'] = $this->Application->ConfigValue('UseJSRedirect'); + $this->Application->Redirect($t ? $t : 'index', $get); } /** @@ -689,7 +701,7 @@ $user_email = $this->Application->RecallVar('SubscriberEmail'); if (preg_match("/^[_a-zA-Z0-9-\.]+@[a-zA-Z0-9-\.]+\.[a-z]{2,4}$/", $user_email)){ - + $this->RemoveRequiredFields($object); if($object->Load(array('Email'=>$user_email))){ $group_info = $this->GetGroupInfo($object->GetID());