diff options
author | vipsoft <vipsoft@59fd770c-687e-43c8-a1e3-f5a4ff64c105> | 2010-08-19 15:16:29 +0400 |
---|---|---|
committer | vipsoft <vipsoft@59fd770c-687e-43c8-a1e3-f5a4ff64c105> | 2010-08-19 15:16:29 +0400 |
commit | 824600dc8e47fdece6bf158537fa2f7e531fbb86 (patch) | |
tree | f42fa8f051ec27d42cd7163bfe74114e3bf8e29a | |
parent | ee3e061541a51086c0c4b76e55f68222385678f6 (diff) |
fixes #1624 - remove login referrer logic
-rw-r--r-- | plugins/Login/Controller.php | 47 |
1 files changed, 7 insertions, 40 deletions
diff --git a/plugins/Login/Controller.php b/plugins/Login/Controller.php index cd8ad8542c..0f219bef4b 100644 --- a/plugins/Login/Controller.php +++ b/plugins/Login/Controller.php @@ -18,36 +18,6 @@ class Piwik_Login_Controller extends Piwik_Controller { /** - * Get referer to redirect to upon successful login. - * Remembers referer URL even if navigation is: login form -> reset password -> login form - * - * @returns string - */ - static public function getRefererToRedirect() - { - // retrieve any previously saved referer - $ns = new Zend_Session_Namespace('Piwik_Login.referer'); - $referer = $ns->referer; - if(empty($referer)) - { - // if the referer contains module=Login, Installation, or CoreUpdater, we instead redirect to the doc root - $referer = Piwik_Url::getLocalReferer(); - if(empty($referer) || preg_match('/module=(Login|Installation|CoreUpdater)/', $referer)) - { - $referer = 'index.php'; - } - $ns->referer = $referer; - $ns->setExpirationSeconds(300, 'referer'); - } - else if(!Piwik_Url::isLocalUrl($referer)) - { - $referer = 'index.php'; - } - - return $referer; - } - - /** * Default action * * @param none @@ -67,8 +37,6 @@ class Piwik_Login_Controller extends Piwik_Controller */ function login($messageNoAccess = null) { - $urlToRedirect = self::getRefererToRedirect(); - $form = new Piwik_Login_FormLogin(); if($form->validate()) { @@ -77,9 +45,10 @@ class Piwik_Login_Controller extends Piwik_Controller { $login = $form->getSubmitValue('form_login'); $password = $form->getSubmitValue('form_password'); + $rememberMe = $form->getSubmitValue('form_rememberme') == '1'; $md5Password = md5($password); try { - $this->authenticateAndRedirect($login, $md5Password, $urlToRedirect); + $this->authenticateAndRedirect($login, $md5Password, $rememberMe); } catch(Exception $e) { $messageNoAccess = $e->getMessage(); } @@ -122,7 +91,7 @@ class Piwik_Login_Controller extends Piwik_Controller $urlToRedirect = Piwik_Common::getRequestVar('url', $currentUrl, 'string'); $urlToRedirect = htmlspecialchars_decode($urlToRedirect); - $this->authenticateAndRedirect($login, $password, $urlToRedirect); + $this->authenticateAndRedirect($login, $password, false, $urlToRedirect); } /** @@ -130,13 +99,15 @@ class Piwik_Login_Controller extends Piwik_Controller * * @param string $login (user name) * @param string $md5Password (md5 hash of password) + * @param bool $rememberMe Remember me? * @param string $urlToRedirect (URL to redirect to, if successfully authenticated) * @return string (failure message if unable to authenticate) */ - protected function authenticateAndRedirect($login, $md5Password, $urlToRedirect) + protected function authenticateAndRedirect($login, $md5Password, $rememberMe, $urlToRedirect = 'index.php') { $info = array( 'login' => $login, 'md5Password' => $md5Password, + 'rememberMe' => $rememberMe, ); Piwik_PostEvent('Login.initSession', $info); Piwik_Url::redirectToUrl($urlToRedirect); @@ -151,7 +122,6 @@ class Piwik_Login_Controller extends Piwik_Controller function lostPassword() { $messageNoAccess = null; - $urlToRedirect = self::getRefererToRedirect(); $form = new Piwik_Login_FormPassword(); if($form->validate()) @@ -171,7 +141,6 @@ class Piwik_Login_Controller extends Piwik_Controller * Validate user (by username or email address). * * @param string $loginMail (user name or email address) - * @param string $urlToRedirect (URL to redirect to, if successfully validated) * @return string (failure message if unable to validate) */ protected function lostPasswordFormValidated($loginMail) @@ -232,7 +201,6 @@ class Piwik_Login_Controller extends Piwik_Controller function resetPassword() { $messageNoAccess = null; - $urlToRedirect = self::getRefererToRedirect(); $form = new Piwik_Login_FormResetPassword(); if($form->validate()) @@ -255,8 +223,7 @@ class Piwik_Login_Controller extends Piwik_Controller * * @param string $loginMail (user name or email address) * @param string $token (password reset token) - * @param array of string $newPassword (new password) - * @param string $urlToRedirect (URL to redirect to, if successfully validated) + * @param string $pssword (new password) * @return string (failure message) */ protected function resetPasswordFormValidated($loginMail, $token, $password) |