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();
 }
Exemple #2
0
 /**
  * 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();
 }
Exemple #3
0
 /**
  * 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();
 }