Guest User

Untitled

a guest
Oct 3rd, 2018
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.71 KB | None | 0 0
  1. <?php
  2.  
  3. require_once "./controller/LoginController.php";
  4.  
  5. class LoginView
  6. {
  7. private static $login = 'LoginView::Login';
  8. private static $name = 'LoginView::UserName';
  9. private static $SavedUsername = 'LoginView::SavedUsername';
  10. private static $password = 'LoginView::Password';
  11. private static $cookieName = 'LoginView::CookieName';
  12. private static $cookiePassword = 'LoginView::CookiePassword';
  13. private static $keep = 'LoginView::KeepMeLoggedIn';
  14. private static $messageId = 'LoginView::Message';
  15. private static $logout = 'LoginView::Logout';
  16.  
  17. public function __construct()
  18. {
  19. $this->loginController = new LoginController();
  20. $this->session = new SessionController();
  21. }
  22.  
  23. // TODO
  24. // remove logincontroller connections
  25. // handle all validation in viev
  26. // make all the if´s cleaner
  27.  
  28. public function renderLoginView()
  29. {
  30. $message = '';
  31.  
  32. if (!empty($_POST)) {
  33. $this->loginController->ValidateUserCredentials($this->getRequestUserName(), $this->getRequestUserPassword());
  34. $message = $this->loginController->ShowUserResponseMessages();
  35. } else {
  36. $message = '';
  37. }
  38.  
  39. if ($this->session->checkIfLoggedIn() === true) {
  40. $response = $this->generateLogoutButtonHTML($message);
  41. } elseif ($this->session->checkIfRegistrationWasSucceded() === true) {
  42. $message = 'Registered new user.';
  43. $response = $this->generateLoginFormHTML($message);
  44. } else {
  45. $response = $this->generateLoginFormHTML($message);
  46. }
  47.  
  48. if ($this->isLogOutButtonPressed()) {
  49. $this->loginController->logOut();
  50. $message = $this->loginController->ShowUserResponseMessages();
  51. $response = $this->generateLoginFormHTML($message);
  52. }
  53.  
  54. return $response;
  55.  
  56. }
  57.  
  58. private function generateLogoutButtonHTML($message)
  59. {
  60. return '
  61. <form method="post" >
  62. <p id="' . self::$messageId . '">' . $message . '</p>
  63. <input type="submit" name="' . self::$logout . '" value="logout"/>
  64. </form>
  65. ';
  66. }
  67.  
  68. private function generateLoginFormHTML($message)
  69. {
  70. return '
  71. <form method="post" >
  72. <fieldset>
  73. <legend>Login - Enter Username and password</legend>
  74. <p id="' . self::$messageId . '">' . $message . '</p>
  75. <label for="' . self::$name . '">Username :</label>
  76. <input type="text" id="' . self::$name . '" name="' . self::$name . '" value="' . $this->checkWhichInputValueForUsernameToShow() . '" />
  77. <label for="' . self::$password . '">Password :</label>
  78. <input type="password" id="' . self::$password . '" name="' . self::$password . '" />
  79. <label for="' . self::$keep . '">Keep me logged in :</label>
  80. <input type="checkbox" id="' . self::$keep . '" name="' . self::$keep . '" />
  81.  
  82. <input type="submit" name="' . self::$login . '" value="login" />
  83. </fieldset>
  84. </form>
  85. ';
  86. }
  87.  
  88. public function isLogOutButtonPressed()
  89. {
  90. return isset($_REQUEST[self::$logout]);
  91. }
  92.  
  93. public function checkWhichInputValueForUsernameToShow()
  94. {
  95. if ($this->session->checkIfRegistrationWasSucceded()) {
  96. return $this->session->getRegUsername();
  97. } else {
  98. return $this->getRequestUserName();
  99. }
  100. }
  101.  
  102. public function getRequestUserName()
  103. {
  104. $name = self::$name;
  105.  
  106. if (isset($_POST[$name])) {
  107. return $_REQUEST[$name];
  108. } else {
  109. return "";
  110. }
  111. }
  112.  
  113. private function getRequestUserPassword()
  114. {
  115. $password = self::$password;
  116.  
  117. if (isset($_POST[$password])) {
  118. return $_POST[$password];
  119. } else {
  120. return "";
  121. }
  122. }
  123. }
Add Comment
Please, Sign In to add comment