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); } } }