public function startApp() { $rootLocation = "Location:http://" . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']; $lv = new LayoutView(); $ud = new userDAL(); $sm = new SessionManager(); $lm = new LoginModel($ud, $sm); if (!$lm->isUserLoggedIn()) { if ($lv->userWantsToRegister()) { $validate = new ValidateCredentials(); $v = new RegisterView($validate, $sm); $c = new RegisterController($v, $ud, $sm); $c->userPost(); if ($sm->SessionGetSuccessfulRegistration()) { header($rootLocation); } } else { $v = new LoginView($lm, $sm); $c = new LoginController($v, $lm); $c->userPost(); } } if ($lm->isUserLoggedIn()) { $c = new GameController($lm, $ud, $sm, $lv); $v = $c->startApp(); if ($c->userWantsToLogout()) { header($rootLocation); } } $lv->render($v, $lm->isUserLoggedIn()); }