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());
         }
     }
 }
Exemple #2
0
 public function __construct(\model\AdminFacade $m, NavigationView $navigationView)
 {
     $pc = $m->getProducts();
     $this->catalog = new ProductCatalogView($pc, $navigationView);
 }