public function doControl() { // setup everything for the login $userDAL = new \model\UserDAL(); $sessionHandler = new \common\SessionHandler(); $cookieHandler = new \view\CookieHandler(); $loginModel = new \model\LoginModel($sessionHandler, $userDAL); $loginView = new \view\LoginView($sessionHandler, $cookieHandler, $loginModel); $loginController = new \controller\LoginController($loginModel, $loginView); $isLoggedIn = $loginController->doLoginAction(); // The first view is always the AdminView $this->view = new \view\AdminView($loginView, $this->navView, $isLoggedIn); // Don't want to continue further down if not logged in if (!$isLoggedIn) { return; } if ($this->navView->adminWantsToAddBeer()) { $this->view = new \view\AddBeerView($sessionHandler, $this->adminFacade->getPubs()); if ($this->view->adminPressedSave()) { $beer = $this->view->getBeer(); if ($beer == null) { return; } $pubBeer = $this->view->getPubBeer($beer->getId()); $this->adminFacade->addBeer($beer); $this->adminFacade->addPubBeer($pubBeer); $this->navView->redirectToBeer($beer->getId()); } } elseif ($this->navView->adminWantsToAddPub()) { $this->view = new \view\AddPubView($sessionHandler); if ($this->view->adminPressedSave()) { $pub = $this->view->getPub(); if ($pub == null) { return; } $this->adminFacade->addPub($pub); $this->navView->redirectToPub($pub->getId()); } } }
public function __construct(\model\AdminFacade $m, NavigationView $navigationView) { $pc = $m->getProducts(); $this->catalog = new ProductCatalogView($pc, $navigationView); }