Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.48 KB | None | 0 0
  1. <?php
  2. class LoginController {
  3.  
  4. private $layoutView;
  5. private $loginView;
  6. private $databaseModel;
  7. private $sessionModel;
  8. private $loginModel;
  9.  
  10.  
  11. public function __construct($layoutView, $loginView, $databaseModel) {
  12. $this->layoutView = $layoutView;
  13. $this->loginView = $loginView;
  14. $this->databaseModel = $databaseModel;
  15. $this->sessionModel = new SessionModel($this->databaseModel);
  16. $this->loginModel = new LoginModel($this->layoutView, $this->loginView, $this->databaseModel);
  17. }
  18.  
  19.  
  20.  
  21. public function newLogin() {
  22. $this->loginModel->getUserLoginInput();
  23.  
  24. if ($this->loginModel->validateLoginRequest()) {
  25.  
  26. if ($this->loginModel->isCredentialsMatch()) {
  27.  
  28. $this->sessionModel->regenerateSessionId();
  29. $this->sessionModel->setSessionVariables();
  30. $this->loginView->setIsLoggedIn();
  31.  
  32. if ($this->loginView->isKeepLoggedInRequested()) {
  33.  
  34. $this->sessionModel->handleNewCookies($this->loginView->getUsername());
  35. $this->loginView->setLoginMessage("Welcome and you will be remembered");
  36.  
  37. } else {
  38.  
  39. $this->loginView->setLoginMessage("Welcome");
  40.  
  41. }
  42.  
  43. $this->layoutView->render($this->loginView->isLoggedIn(), $this->loginView);
  44.  
  45. } else {
  46.  
  47. $this->loginView->setLoginMessage("Wrong name or password");
  48. }
  49. }
  50.  
  51. $this->loginView->setUsernameValue($this->loginView->getUsername());
  52. $this->layoutView->render($this->loginView->isLoggedIn(), $this->loginView);
  53. }
  54.  
  55.  
  56.  
  57. public function loginWithCookies() {
  58.  
  59. if ($this->sessionModel->isCookieValid()) {
  60.  
  61. $this->loginView->setIsLoggedIn();
  62. $this->sessionModel->regenerateSessionId();
  63.  
  64. if (!$this->sessionModel->isSessionSet()) {
  65.  
  66. $this->sessionModel->setSessionVariables();
  67. $this->loginView->setLoginMessage("Welcome back with cookie");
  68. }
  69. $this->layoutView->render($this->loginView->isLoggedIn(), $this->loginView);
  70.  
  71. } else {
  72.  
  73. $this->sessionModel->destroyCookies();
  74. $this->loginView->setLoginMessage("Wrong information in cookies");
  75. $this->layoutView->render($this->loginView->isLoggedIn(), $this->loginView);
  76. }
  77. }
  78.  
  79.  
  80.  
  81.  
  82. public function loginWithSession() {
  83.  
  84. if ($this->sessionModel->isSessionHijacked()) {
  85.  
  86. $this->layoutView->render($this->loginView->isLoggedIn(), $this->loginView);
  87.  
  88. } else {
  89.  
  90. $this->sessionModel->regenerateSessionId();
  91. $this->loginView->setIsLoggedIn();
  92. $this->layoutView->render($this->loginView->isLoggedIn(), $this->loginView);
  93.  
  94. }
  95. }
  96.  
  97.  
  98.  
  99. public function logout() {
  100.  
  101. if ($this->sessionModel->isSessionSet()) {
  102.  
  103. $this->sessionModel->destroySessionAndCookies();
  104. $this->loginView->setLoginMessage("Bye bye!");
  105. }
  106.  
  107. $this->layoutView->render($this->loginView->isLoggedIn(), $this->loginView);
  108. }
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement