public function doNavigation()
 {
     try {
         //Switch sats som kollar om användaren vill registrera ny användare eller kolla nyheter.
         //Default är se nyheter.
         switch (NavigationView::getAction()) {
             case NavigationView::$actionRegister:
                 $controller = new RegisterController();
                 $result = $controller->doRegister();
                 if ($result === self::$operationSuccess) {
                     $loginController = new LoginController();
                     $loginPage = $loginController->doLogin();
                     $controller = new NewsController();
                     return $controller->doNews($loginPage, self::$operationSuccess);
                 }
                 return $result;
                 break;
             case NavigationView::$actionNews:
             default:
                 $loginController = new LoginController();
                 $loginPage = $loginController->doLogin();
                 $controller = new NewsController();
                 $result = $controller->doNews($loginPage);
                 return $result;
                 break;
         }
     } catch (Exception $e) {
         throw new Exception('Något gick fel när sidan skulle laddas!');
     }
 }
 public function generate()
 {
     if ($this->navigationView->inRegistrationForm()) {
         $register = new RegisterController($this->userDAL, $this->model, $this->registerView, $this->navigationView);
         $register->doRegister();
     } else {
         $login = new LoginController($this->userDAL->getUsers(), $this->model, $this->loginView);
         $login->doLogin();
     }
     $this->mysqli->close();
 }
Ejemplo n.º 3
0
 public function doApp()
 {
     if ($this->navigationView->userWantsToRegister()) {
         $registerController = new RegisterController($this->registerView);
         if ($registerController->doRegister()) {
             $this->loginView->setUserDidRegister();
             $this->loginView->response($this->registerView->getProvidedUsername());
         }
     } else {
         $loginController = new LoginController($this->loginModel, $this->loginView);
         $loginController->doControl();
     }
     $userClient = $this->loginView->getUserClient();
     $this->layoutView->render($this->loginModel->isLoggedIn($userClient), $this->navigationView, $this->loginView, $this->registerView, $this->dateTimeView);
 }
 public function run()
 {
     // This method initializes the model (connection to db, etc.)
     if (!$this->model->initialize()) {
         $this->view->showDatabaseErrorMessage();
         // If an error with the DB occurred, show error message
     }
     if ($this->view->isOnRegisterPage()) {
         $register = new RegisterController($this->model, $this->view);
         $register->doRegister();
     } else {
         $login = new LoginController($this->model, $this->view);
         $login->doLogin();
     }
 }
Ejemplo n.º 5
0
//Controller
require_once 'controller/LoginController.php';
require_once 'controller/RegisterController.php';
//ExtendedExceptions
//Added a bunch of Extended Extensions for A4 since it makes things simpler
require_once 'ExtendedExtensions/ErrorRegisterEqualPasswordException.php';
require_once 'ExtendedExtensions/ErrorRegisterNoCredentialsCheckException.php';
require_once 'ExtendedExtensions/ErrorRegisterPasswordException.php';
require_once 'ExtendedExtensions/ErrorRegisterUsernameException.php';
require_once 'ExtendedExtensions/ErrorRegisterUsernameInvalidException.php';
require_once 'ExtendedExtensions/ErrorRegisterUsernameExistException.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 OBJECTS OF MODEL
$registerModel = new RegisterModel();
$sessionModel = new SessionModel();
$loginModel = new LoginModel($sessionModel);
//CREATE OBJECTS OF THE VIEWS
$registerView = new RegisterView($registerModel, $sessionModel);
$loginView = new LoginView($loginModel, $sessionModel);
$dtv = new DateTimeView();
$layoutview = new LayoutView();
//CREATE OBJECTS OF THE CONTROLLERS
$registerController = new RegisterController($registerView, $registerModel, $loginView, $loginModel, $sessionModel);
$loginController = new LoginController($loginView, $loginModel);
//Login attempt
$isLoggedIn = $loginController->doLogin();
//register attempt
$registerController->doRegister();
$layoutview->render($isLoggedIn, $loginView, $dtv, $registerView);