public function doControl(\permag\model\LoginHandler $lh, \permag\view\PageNavigationView $pageNavView) { $outputHTML = ''; $lw = new \permag\view\LoginView(); $message = ''; // logged in? if ($lh->isLoggedIn()) { // clicked logout? if ($lw->triedToLogOut()) { $lh->doLogout(); $lw->killCookie(); $pageNavView->redirectTo($pageNavView->getLoginLink()); } // not logged in? } else { // login cookie is set if ($lw->cookieExists()) { // auto login using username/password from cookie $userInfo_a = array(); $userInfo_a = $lw->readLoginCookie(); if ($lh->doLogin($userInfo_a[0], $userInfo_a[1])) { $message = $lw::USER_LOGGED_IN; } } // clicked login? if ($lw->triedToLogIn()) { // if username/passw is correct if ($lh->doLogin($lw->getUsername(), $lw->getPassword())) { // if remember me is checked, save to cookie if ($lw->rememberMe()) { $lw->saveCookie(); } $pageNavView->redirectTo($pageNavView->getHomeLink()); } else { $message = $lw::LOGIN_ERROR; } } } // logged in again? if ($lh->isLoggedIn()) { $outputHTML .= $lh->getLoggedInUsername(); $outputHTML .= $lw->doLogoutBox(); } else { $regLink = $pageNavView->getRegisterLink(); $outputHTML .= $lw->doLoginBox($regLink); } // get the user message from the view $messageHTML = $lw->outputMessage($message); return $outputHTML . $messageHTML; }