Example #1
0
 /**
  * checks if login & password are correct and save the user in session.
  * it redirects the user to the $referer link
  * @param  string $referer the url to redirect after login
  * @todo add the return value
  * @return boolean
  */
 public function login($referer)
 {
     list($login, $password, $isauthenticated) = $this->credentials();
     if ($login === false || $password === false) {
         $this->messages->add('e', _('login failed: you have to fill all fields'));
         Tools::logm('login failed');
         Tools::redirect();
     }
     if (!empty($login) && !empty($password)) {
         $user = $this->store->login($login, Tools::encodeString($password . $login), $isauthenticated);
         if ($user != array()) {
             # Save login into Session
             $longlastingsession = isset($_POST['longlastingsession']);
             $passwordTest = $isauthenticated ? $user['password'] : Tools::encodeString($password . $login);
             Session::login($user['username'], $user['password'], $login, $passwordTest, $longlastingsession, array('poche_user' => new User($user)));
             # reload l10n
             $language = $user['config']['language'];
             @putenv('LC_ALL=' . $language);
             setlocale(LC_ALL, $language);
             bindtextdomain($language, LOCALE);
             textdomain($language);
             $this->messages->add('s', _('welcome to your wallabag'));
             Tools::logm('login successful');
             Tools::redirect($referer);
         }
         $this->messages->add('e', _('login failed: bad login or password'));
         // log login failure in web server log to allow fail2ban usage
         error_log('user ' . $login . ' authentication failure');
         Tools::logm('login failed');
         Tools::redirect();
     }
 }
Example #2
0
 /**
  * checks if login & password are correct and save the user in session.
  * it redirects the user to the $referer link
  * @param  string $referer the url to redirect after login
  * @todo add the return value
  * @return boolean
  */
 public function login($referer)
 {
     list($login, $password, $isauthenticated) = $this->credentials();
     if ($login === false || $password === false) {
         $this->messages->add('e', _('login failed: you have to fill all fields'));
         Tools::logm('login failed');
         Tools::redirect();
     }
     if (!empty($login) && !empty($password)) {
         $user = $this->store->login($login, Tools::encodeString($password . $login), $isauthenticated);
         if ($user != array()) {
             # Save login into Session
             $longlastingsession = isset($_POST['longlastingsession']);
             $passwordTest = $isauthenticated ? $user['password'] : Tools::encodeString($password . $login);
             Session::login($user['username'], $user['password'], $login, $passwordTest, $longlastingsession, array('poche_user' => new User($user)));
             $this->messages->add('s', _('welcome to your wallabag'));
             Tools::logm('login successful');
             Tools::redirect($referer);
         }
         $this->messages->add('e', _('login failed: bad login or password'));
         Tools::logm('login failed');
         Tools::redirect();
     }
 }