/** * Create HTTP response * * Should be called after a login attempt has been determined * @sideeffect Sets cookies! * @return String HTML */ public function response() { if ($this->model->isLoggedIn($this->getUserClient())) { return $this->doLogoutForm(); } else { return $this->doLoginForm(); } }
public function index() { if (LoginModel::isLoggedIn()) { Redirect::toPath('account'); } else { $this->View->render('index'); } }
public function registration() { if (LoginModel::isLoggedIn()) { Redirect::toPath('account'); } else { $data = array('redirect' => Request::get_get('redirect') != NULL ? Request::get_get('redirect') : NULL); $this->View->render('login/register', $data); } }
public function LaunchApplication() { $uDAL = new userDAL(); $dtv = new DateTimeView(); $layv = new LayoutView(); $lm = new LoginModel($uDAL); if (isset($_GET["register"])) { $rv = new RegisterView($rm); $rm = new RegisterModel($uDAL); $rc = new RegisterControl($rm, $rv); $rc->tryRegisterUser(); //Runs the tryRegisteruser from registercontroller. $layv->render($lm->isloggedin(), $rv, $dtv); } else { $logv = new LoginView($lm); $lc = new LoginController($logv, $lm); $lc->init(); $layv->render($lm->isLoggedIn(), $logv, $dtv); //Renders the HTML-layout. } }
<?php /** * Solution for assignment 2 * @author Daniel Toll */ require_once "Settings.php"; require_once "controller/LoginController.php"; require_once "view/DateTimeView.php"; require_once "view/LayoutView.php"; require_once "view/RegistrationView.php"; if (Settings::DISPLAY_ERRORS) { error_reporting(-1); ini_set('display_errors', 'ON'); } //session must be started before LoginModel is created session_start(); //Dependency injection $m = new LoginModel(); $v = new LoginView($m); $r = new RegistrationView(); $c = new LoginController($m, $v, $r); //Controller must be run first since state is changed $c->doControl(); //Generate output $dtv = new DateTimeView(); $lv = new LayoutView(); $lv->render($m->isLoggedIn($v->getUserClient()), $v, $dtv, $r);
require_once 'model/Database.php'; require_once 'view/LoginView.php'; require_once 'view/DateTimeView.php'; require_once 'view/LayoutView.php'; require_once 'view/RegisterView.php'; require_once 'controller/LoginController.php'; require_once 'controller/RegisterController.php'; require_once 'controller/MainController.php'; //MAKE SURE ERRORS ARE SHOWN... MIGHT WANT TO TURN THIS OFF ON A PUBLIC SERVER error_reporting(E_ALL); ini_set('display_errors', 'On'); //Create models $db = new Database(); $dal = new UserDAL($db); $loginModel = new LoginModel($dal); $registerModel = new RegisterModel($dal); //CREATE OBJECTS OF THE VIEWS $loginView = new LoginView($loginModel); $registerView = new RegisterView($registerModel); $dateTimeView = new DateTimeView(); $layoutView = new LayoutView(); //Create controllers $loginController = new LoginController($loginView, $loginModel); $registerController = new RegisterController($registerView, $loginView, $registerModel); $mainController = new MainController($registerController, $loginController); $mainController->listen(); if ($mainController->renderRegView()) { $layoutView->render(false, $registerView, $dateTimeView); } else { $layoutView->render($loginModel->isLoggedIn(), $loginView, $dateTimeView); }
$layoutView = new LayoutView(); //Create controllers $loginController = new LoginController($loginView, $loginModel); $registerController = new RegisterController($registerView, $loginView, $registerModel); $searchController = new SearchController($searchView, $userProfileView, $searchModel); $userProfileController = new UserProfileController($userProfileView); $settingsController = new SettingsController($settingsView, $settingsModel); $mainController = new MainController($registerController, $loginController, $searchController, $userProfileController, $settingsController, $layoutView, $settingsView); $mainController->listen(); // What view to render within LayoutView if ($mainController->renderRegView()) { $layoutView->render(false, $registerView); } else { if ($mainController->renderSearchView()) { if ($searchModel->foundMatch()) { $layoutView->render($loginModel->isLoggedIn(), $userProfileView); } else { $layoutView->render($loginModel->isLoggedIn(), $searchView); } } else { if ($mainController->renderSettingsView()) { $layoutView->render($loginModel->isLoggedIn(), $settingsView); } else { if ($mainController->renderMyProfile()) { $layoutView->render($loginModel->isLoggedIn(), $userProfileView); } else { if ($loginModel->isLoggedIn()) { $userProfileView->setUser(null); $layoutView->render($loginModel->isLoggedIn(), $userProfileView); } else { $layoutView->render($loginModel->isLoggedIn(), $loginView);
/** * Follows a route and produces a web page from it. */ public function route() { $view = null; $exception = null; /* construct template engine */ $smarty = new Smarty(); $smarty->caching = true; $smarty->cache_lifetime = 120; $smarty->setTemplateDir(__DIR__ . '/layouts'); $smarty->setCompileDir(__DIR__ . '/../../smarty/compiled_templates'); $smarty->setCacheDir(__DIR__ . '/../../smarty/cache'); switch ($this->path) { case 'index': $view = new IndexView($smarty); break; case 'statuses': if (!$this->isLoggedIn()) { $exception = new Exception('You must be <a href="?action=login">logged in<a> to view the circuit board status list.'); break; } $view = new StatusesView($smarty); $model = new StatusesModel($view); $controller = new StatusesController($model); try { $controller->fetchStatuses(); } catch (Exception $e) { $exception = $e; } break; case 'updates': if (!$this->isLoggedIn() || $_SESSION['rank'] != 'ADMIN') { $exception = new Exception('You must be <a href="?action=login">logged in<a> to an administrator\'s account to poll the service for updates.'); break; } $view = new UpdatesView($smarty); $model = new UpdatesModel($view); $controller = new UpdatesController($model); try { $controller->fetchUpdates(); } catch (Exception $e) { $exception = $e; } break; case 'register': $view = new RegisterView($smarty); $model = new RegisterModel($view); $controller = new RegisterController($model); try { $controller->checkValidRegistration(); $username = $model->getUsername(); if ($model->isRegistered()) { $view = new RegisteredView($smarty); $model = new RegisteredModel($view); $model->setUsername($username); } } catch (Exception $e) { $exception = $e; } break; case 'login': $view = new LoginView($smarty); $model = new LoginModel($view); $controller = new LoginController($model); try { $controller->checkValidLogin(); if ($model->isLoggedIn()) { // successful login $view = new LoggedInView($smarty); $model = new LoggedInModel($view); $model->setUsername($_SESSION['username']); } } catch (Exception $e) { $exception = $e; } break; case 'logout': $view = new LogoutView($smarty); $model = new LogoutModel($view, $this->isLoggedIn()); $controller = new LogoutController($model); try { $controller->logout(); } catch (Exception $e) { $exception = $e; } break; case 'debug': if (!$this->isLoggedIn() || $_SESSION['rank'] != 'ADMIN') { $exception = new Exception('You must be <a href="?action=login">logged in<a> to an administrator\'s account view the debug page.'); break; } $view = new DebugView($smarty); break; /* any unhandled action return them to the welcome screen */ /* any unhandled action return them to the welcome screen */ default: $this->path = 'index'; $view = new IndexView($smarty); break; } if ($exception !== null) { $view = new ErrorView($smarty); $model = new ErrorModel($view); $model->setMessage($exception->getMessage()); } if (!DEBUG_MODE) { /* optimize the output by removing whitespace */ $smarty->loadFilter("output", "trimwhitespace"); } /* apply view specific information to the template engine */ $view->applyTemplate($this->isLoggedIn()); /* display generated template */ $smarty->display($view->getId() . '.tpl'); }
<?php session_start(); require_once 'view/LoginView.php'; require_once 'view/DateTimeView.php'; require_once 'view/LayoutView.php'; require_once 'controller/LoginController.php'; require_once 'model/LoginModel.php'; // show php errors error_reporting(E_ALL); ini_set('display_errors', 'On'); // creates instances of classes $loginModel = new LoginModel(); $loginView = new LoginView($loginModel); $dateTimeView = new DateTimeView(); $layoutView = new LayoutView(); $loginController = new LoginController($loginView, $loginModel); $loginController->doLogin(); $isLoggedIn = $loginModel->isLoggedIn(); $layoutView->render($isLoggedIn, $loginView, $dateTimeView);