public function login($sUserName, $sPassword) { if ($sUserName === '' || $sPassword === '') { throw new LocalizedException('flash.login.empty_fields'); } $iLoginResult = Session::getSession()->login($sUserName, $sPassword); if (($iLoginResult & Session::USER_IS_VALID) === Session::USER_IS_VALID) { Session::getSession()->setLanguage(Session::getSession()->getUser()->getLanguageId()); return array('is_valid' => true); } else { if (($iLoginResult & Session::USER_IS_INACTIVE) === Session::USER_IS_INACTIVE) { throw new LocalizedException('flash.login_user_inactive'); } else { if (($iLoginResult & Session::USER_NEEDS_PASSWORD_RESET) === Session::USER_NEEDS_PASSWORD_RESET) { return array('needs_password_reset' => true); } } } if (AdminManager::initializeFirstUserIfEmpty($sUserName, $sPassword)) { throw new LocalizedException('flash.login_welcome2', array('username' => $sUserName, 'password' => $sPassword)); } throw new LocalizedException('flash.login_check_params'); }
public static function login($sUserName = null, $sPassword = null, $sReferrer = '') { if ($sUserName === null) { $sUserName = $_POST[self::USER_NAME]; } if ($sPassword === null) { $sPassword = $_POST[self::LOGIN_PASSWORD]; } $oFlash = Flash::getFlash(); if ($sUserName === '' || $sPassword === '') { $oFlash->addMessage('login.empty_fields'); return; } $iAdminTest = Session::getSession()->login($sUserName, $sPassword); //User is valid if (($iAdminTest & Session::USER_IS_VALID) === Session::USER_IS_VALID) { if (isset($_REQUEST['origin'])) { $sReferrer = $_REQUEST['origin']; } else { if (Session::getSession()->hasAttribute('login_referrer')) { $sReferrer = Session::getSession()->getAttribute('login_referrer'); Session::getSession()->resetAttribute('login_referrer'); } else { if (!$sReferrer) { $sReferrer = LinkUtil::link(array(), 'AdminManager'); } } } if (($iAdminTest & Session::USER_IS_DEFAULT_USER) === Session::USER_IS_DEFAULT_USER) { Session::getSession()->setAttribute('change_password', 1); $sReferrer = LinkUtil::link(array('users', Session::getSession()->getUserId()), 'AdminManager'); } LinkUtil::redirect($sReferrer); } //User is inactive if (($iAdminTest & Session::USER_IS_INACTIVE) === Session::USER_IS_INACTIVE) { $oFlash->addMessage('login_user_inactive'); return; } //User is unknown $oFlash->addMessage('login_check_params'); $sUsernameDefault = $sUserName; $sPasswordDefault = $sPassword; if (AdminManager::initializeFirstUserIfEmpty($sUsernameDefault, $sPasswordDefault)) { $oFlash->removeMessage('login_check_params'); $oFlash->addMessage('login_welcome'); $oFlash->addMessage('login_welcome2', array('username' => $sUsernameDefault, 'password' => $sPasswordDefault)); } }