function login($messageNoAccess = null) { $form = new Piwik_Login_Form(); // get url from POSTed form or GET parameter (getting back from password remind form) $currentUrl = 'index.php' . Piwik_Url::getCurrentQueryString(); $urlToRedirect = Piwik_Common::getRequestVar('form_url', htmlspecialchars($currentUrl), 'string'); $urlToRedirect = htmlspecialchars_decode($urlToRedirect); if ($form->validate()) { $login = $form->getSubmitValue('form_login'); $password = $form->getSubmitValue('form_password'); $md5Password = md5($password); $authenticated = $this->authenticateAndRedirect($login, $md5Password, $urlToRedirect); if ($authenticated === false) { $messageNoAccess = Piwik_Translate('Login_LoginPasswordNotCorrect'); } } $view = new Piwik_View('Login/templates/login.tpl'); // make navigation login form -> reset password -> login form remember your first url $view->urlToRedirect = $urlToRedirect; $view->AccessErrorString = $messageNoAccess; $view->linkTitle = Piwik::getRandomTitle(); $view->addForm($form); $view->subTemplate = 'genericForm.tpl'; echo $view->render(); }
/** * Login form */ function login() { $messageNoAccess = null; $form = new Piwik_Login_Form(); $currentUrl = Piwik_Url::getReferer(); $urlToRedirect = Piwik_Common::getRequestVar('form_url', $currentUrl, 'string'); $urlToRedirect = htmlspecialchars_decode($urlToRedirect); if ($form->validate()) { // if the current url to redirect contains module=Login or Installation we instead redirect to the doc root if (preg_match('/module=(Login|Installation)/', $urlToRedirect)) { $urlToRedirect = 'index.php'; } $login = $form->getSubmitValue('form_login'); $password = $form->getSubmitValue('form_password'); $md5Password = md5($password); $messageNoAccess = $this->authenticateAndRedirect($login, $md5Password, $urlToRedirect); } $view = Piwik_View::factory('login'); // make navigation login form -> reset password -> login form remember your first url $view->urlToRedirect = $urlToRedirect; $view->AccessErrorString = $messageNoAccess; $view->linkTitle = Piwik::getRandomTitle(); $view->addForm($form); $view->subTemplate = 'genericForm.tpl'; echo $view->render(); }
/** * Login form * * @param string $messageNoAccess Access error message * @param string $currentUrl Current URL * @return void */ function login($messageNoAccess = null) { $urlToRedirect = self::getRefererToRedirect(); $form = new Piwik_Login_Form(); if ($form->validate()) { $nonce = $form->getSubmitValue('form_nonce'); if (Piwik::verifyNonce('Piwik_Login.login', $nonce)) { $login = $form->getSubmitValue('form_login'); $password = $form->getSubmitValue('form_password'); $md5Password = md5($password); $messageNoAccess = $this->authenticateAndRedirect($login, $md5Password, $urlToRedirect); } } $view = Piwik_View::factory('login'); // make navigation login form -> reset password -> login form remember your first url $view->urlToRedirect = $urlToRedirect; $view->AccessErrorString = $messageNoAccess; $view->nonce = Piwik::getNonce('Piwik_Login.login'); $view->linkTitle = Piwik::getRandomTitle(); $view->addForm($form); $view->subTemplate = 'genericForm.tpl'; echo $view->render(); }