private function checkUserStatus() { $loginDAL = new LoginDAL(); $loginView = new LoginView($loginDAL); $masterView = new MasterView($loginDAL, $loginView); $isInputValidated = $loginView->getIsInputValidated(); if (!$loginDAL->isUserLoggedIn()) { //user wants to start login process or enters input data that is not valid if ($masterView->userClickedLogin() || $loginView->userSubmitsLoginData() && !$isInputValidated) { $masterView->renderTemplateHTML($loginView->showLoginFrom()); } else { if ($loginView->userSubmitsLoginData() && $isInputValidated) { $loginController = new LoginController(); $loggedIn = $loginController->checkUserCredentials($loginView, $loginDAL); if ($loggedIn) { //if user is found in database return new KustAdminController($masterView, $loginDAL); } else { $masterView->renderTemplateHTML($loginView->showLoginFrom()); } } else { //if none of the above keep going back to StartView $startView = new StartView(); $masterView->renderTemplateHTML($startView->showHomeView($loginDAL->isUserLoggedIn())); } } } else { if ($masterView->userClickedLogout()) { $masterView->logout(); } else { //If user is authenticated and logged in return new KustAdminController($masterView, $loginDAL); } } }
<?php include_once '../bootstrap.php'; use Models\LoginManager; use Views\LoginView; LoginManager::startSession(); if ($_SERVER['REQUEST_METHOD'] === 'GET') { $loginView = new LoginView(false); $loginView->render(); } elseif ($_SERVER['REQUEST_METHOD'] === 'POST') { $username = $_POST['username']; $password = $_POST['password']; $loginManager = new LoginManager(); $isLoginSuccess = $loginManager->isValid($username, $password); if ($isLoginSuccess) { header("Location: /auction/homepage"); exit; } else { $loginView = new LoginView(true); $loginView->render(); } }