private function logout()
 {
     $this->loginModel->logoutUser();
     $this->loginView->forgetUser();
     $this->loginView->setLogoutSucceeded();
     $this->loginView->reloadPage();
 }
 public function rememberUser()
 {
     $username = $this->getRequestUserName();
     $password = $this->loginModel->getTempPassword();
     $this->cookieHandler->setCookie(self::$cookieName, $username, 30);
     $this->cookieHandler->setCookie(self::$cookiePassword, $password, 30);
 }
Example #3
0
 /**
  * Create HTTP response
  *
  * Should be called after a login attempt has been determined
  * @sideeffect Sets cookies!
  * @return String HTML
  */
 public function response($inputName)
 {
     if ($this->model->isLoggedIn($this->getUserClient())) {
         return $this->doLogoutForm();
     } else {
         return $this->doLoginForm($inputName);
     }
 }
Example #4
0
 private function setNewTemporaryPassword()
 {
     //set New Cookie
     $tempCred = $this->model->getTempCredentials();
     if ($tempCred) {
         setcookie(self::$cookieName, $this->getUserName(), $tempCred->getExpire());
         setcookie(self::$CookiePassword, $tempCred->getPassword(), $tempCred->getExpire());
     }
 }
 /**
  * Called when cookies containing login credentials exists.
  * Calls \model\LoginModel for verification of the data
  * stored in the cookies.
  *
  * Sets \view\LoginView message.
  */
 private function cookieLogin()
 {
     $cookieName = $this->logView->getCookieName();
     $cookiePassword = $this->logView->getCookiePassword();
     $this->logModel->verifyPersistentLogin($cookieName, $cookiePassword);
     if ($this->logModel->isLoggedIn()) {
         $this->logView->setMsgWelcomeWithCookies();
     }
 }
 /**
  * Function for handling states associated with the login
  */
 public function doLogin()
 {
     //var_dump(self::$LoginView->isCorrectSession());
     if (self::$LoginView->theUserWantToLogout()) {
         self::$LoginView->setLogoutView();
         self::$LoginModel->logout();
         $tempUsername = self::$LoginView->removeKeepLogin();
         self::$LoginModel->removeUser($tempUsername);
     } else {
         if (self::$LoginView->theUserWantToLogin()) {
             self::$LoginView->setLoginView();
             $successfulLogin = self::$LoginModel->login(self::$LoginView->getUser());
             if ($successfulLogin && self::$LoginView->isKeepLoggedInChecked()) {
                 $randomizedPassword = self::$LoginModel->saveUser(self::$LoginView->getUser());
                 self::$LoginView->setKeepLogin($randomizedPassword);
             }
         } else {
             if (self::$LoginView->checkIfPersistentLoggedIn()) {
                 self::$LoginModel->loginSavedUser(self::$LoginView->getPersistentLoggedInUser());
                 self::$LoginView->setLoginWithCookiesView();
             } else {
                 if (!self::$LoginView->validCookies()) {
                     //            self::$LoginModel->logout();
                     self::$LoginView->removeKeepLogin();
                     self::$LoginView->setFailedLoginWithCookiesView();
                 }
             }
         }
     }
     if (self::$PrgView->isPost()) {
         self::$PrgView->reloadPage();
     }
 }
Example #7
0
 /**
  * @return string HTML
  */
 public function doControl()
 {
     // if the user has clicked the submit button
     if ($this->loginFormView->isSubmitted()) {
         try {
             $username = $this->loginFormView->getUsername();
             $password = $this->loginFormView->getPassword();
             if ($this->loginModel->validate($username, $password)) {
                 if ($this->loginFormView->clickedRemember()) {
                     $this->loginModel->setCookies();
                     $message = $this->loginFormView->remberMeMsg();
                 } else {
                     $message = $this->loginFormView->loggedInMsg();
                 }
                 if ($this->loginModel->isRefreshed()) {
                     $message = $this->loginFormView->refreshPageMsg();
                 }
                 $this->adminView->setMessage($message);
                 return $this->adminView->getAdminHTML();
             }
         } catch (\Exception $e) {
             $this->loginFormView->setMessage($e->getMessage());
             return $this->loginFormView->getForm();
         }
     }
     //if the user logged out
     if ($this->adminView->logOutClicked() && $this->loginModel->isLoggedIn()) {
         $this->loginModel->logOut();
         $message = $this->loginFormView->loggedOutMsg();
         $this->loginFormView->setMessage($message);
         $this->loginModel->unsetCookies();
         return $this->loginFormView->getForm();
     }
     //if the user has saved cookies
     if ($this->loginModel->hasSavedCookies()) {
         try {
             $username = $this->loginModel->getCookieUsername();
             $password = $this->loginModel->getCookiePassword();
             $cookiTime = $this->loginModel->getCookieTime();
             if ($this->loginModel->validateCookies($username, $password, $cookiTime)) {
                 $message = $this->loginFormView->cookieMsg();
                 $this->adminView->setMessage($message);
                 return $this->adminView->getAdminHTML();
             }
         } catch (\Exception $e) {
             $this->loginFormView->setMessage($e->getMessage());
             $this->loginModel->unsetCookies();
             return $this->loginFormView->getForm();
         }
     }
     //if user is logged in
     if ($this->loginModel->isLoggedIn()) {
         return $this->adminView->getAdminHTML();
     }
     return $this->loginFormView->getForm();
 }
 /**
  * Create HTTP response
  *
  * Should be called after a login attempt has been determined
  *
  * @return  void BUT writes to standard output and cookies!
  */
 public function response()
 {
     $message = '';
     if (self::$LoginModel->userLoggedIn()) {
         $message = $this->getMessage();
         $response = $this->generateLogoutButtonHTML($message);
     } else {
         $message = $this->getMessage();
         $response = $this->generateLoginFormHTML($message);
     }
     // $response .= $this->generateLogoutButtonHTML($message);
     return $response;
 }