Index: branches/5.2.x/core/units/helpers/user_helper.php =================================================================== diff -u -N -r14585 -r14628 --- branches/5.2.x/core/units/helpers/user_helper.php (.../user_helper.php) (revision 14585) +++ branches/5.2.x/core/units/helpers/user_helper.php (.../user_helper.php) (revision 14628) @@ -1,6 +1,6 @@ verifySuperAdmin(); if ($this->Application->isAdmin && ($username == 'root') || ($super_admin && $username == 'super-root')) { $root_password = $this->Application->ConfigValue('RootPass'); + $password_formatter =& $this->Application->recallObject('kPasswordFormatter'); + /* @var $password_formatter kPasswordFormatter */ if ($root_password != $password_formatter->EncryptPassword($password, 'b38')) { return LoginResult::INVALID_PASSWORD; @@ -214,13 +216,18 @@ } $sync_manager =& $this->Application->recallObject('UsersSyncronizeManager', null, Array(), Array ('InPortalSyncronize')); + /* @var $sync_manager UsersSyncronizeManager */ + $sync_manager->performAction('LogoutUser'); $this->Application->HandleEvent($dummy, 'u:OnBeforeLogout'); $user_id = USER_GUEST; $this->Application->SetVar('u.current_id', $user_id); + $object =& $this->Application->recallObject('u.current', null, Array('skip_autoload' => true)); + /* @var $object UsersItem */ + $object->Load($user_id); $this->Application->DestroySession(); @@ -285,20 +292,23 @@ $this->event->SetRedirectParam('js_redirect', 1); } - // syncronize login + // synchronize login $sync_manager =& $this->Application->recallObject('UsersSyncronizeManager', null, Array(), Array ('InPortalSyncronize')); + /* @var $sync_manager UsersSyncronizeManager */ + $sync_manager->performAction('LoginUser', $username, $password); } /** - * Sets correct interface language after sucessful login, based on user settings + * Sets correct interface language after successful login, based on user settings * - * @param kEvent $event + * @return void + * @access protected */ - function _processInterfaceLanguage() + protected function _processInterfaceLanguage() { - if (!$this->Application->isAdmin) { - return ; + if ( !$this->Application->isAdmin ) { + return; } $is_root = $this->Application->RecallVar('user_id') == USER_ROOT; @@ -315,9 +325,9 @@ $language_info = $this->Conn->GetRow($sql); $language_id = $language_info && $language_info['LanguageId'] ? $language_info['LanguageId'] : $user_language_id; - if ($user_language_id != $language_id) { - // first admin login OR language was delelted or disabled - if ($is_root) { + if ( $user_language_id != $language_id ) { + // first admin login OR language was deleted or disabled + if ( $is_root ) { $this->Application->StorePersistentVar('AdminLanguage', $language_id); } else { @@ -342,15 +352,18 @@ } /** - * Returns user object, used during login processings + * Returns user object, used during login processing * * @return UsersItem + * @access public */ - function &getUserObject() + public function &getUserObject() { $prefix_special = $this->Application->isAdmin ? 'u.current' : 'u'; // "u" used on front not to change theme + $object =& $this->Application->recallObject($prefix_special, null, Array('skip_autoload' => true)); - + /* @var $object UsersItem */ + return $object; }