コード例 #1
0
 /**
  * @return LoginView|UserView
  */
 public function render()
 {
     if ($this->auth->isLoggedIn() && $this->userView->haveLoggedOut()) {
         $this->auth->logOut();
         $this->credentialsHandler->deleteSecret();
         $this->router->redirectTo(Router::INDEX);
     } elseif (!$this->auth->isLoggedIn()) {
         if ($this->loginView->haveLoggedIn()) {
             $username = $this->loginView->getUsername();
             $password = $this->loginView->getPassword();
             if ($this->auth->logInByCredentials($username, $password)) {
                 $token = new Token($this->auth->getUser());
                 $this->tokenRepository->insert($token);
                 $this->credentialsHandler->saveSecret($token);
                 $this->router->redirectTo(Router::INDEX);
             } else {
                 $this->loginView->loginFailed();
             }
         } elseif ($this->credentialsHandler->hasSecret()) {
             $secret = $this->credentialsHandler->getSecret();
             try {
                 $token = $this->tokenRepository->getBySecret($secret);
                 $this->auth->logInByToken($token);
                 $this->router->redirectTo(Router::INDEX);
             } catch (\Exception $e) {
             }
         }
     }
     if ($this->auth->isLoggedIn()) {
         return $this->userView;
     } else {
         return $this->loginView;
     }
 }
コード例 #2
0
 public function render()
 {
     $this->masterView->setAuth($this->authController->render());
     switch ($this->router->getCurrentPath()) {
         case Router::INDEX:
             $this->masterView->setMain($this->inputController->render());
             break;
         case Router::MY_DIAGRAMS:
             if ($this->auth->isLoggedIn()) {
                 $this->masterView->setMain($this->myDiagramsController->render());
             } else {
                 $this->router->redirectTo(Router::INDEX);
                 return null;
             }
             break;
         case Router::REGISTER:
             $this->masterView->setMain($this->authController->register());
             break;
         case Router::FILE:
             return $this->fileController->render();
         default:
             if ($this->router->isDiagram()) {
                 $this->masterView->setMain($this->inputController->render());
             } else {
                 $this->router->redirectTo(Router::INDEX);
                 return null;
             }
     }
     return $this->masterView->render();
 }
コード例 #3
0
ファイル: InputView.php プロジェクト: re222dv/1DV408-Project
 public function __construct(Auth $auth, ClassDiagramView $classDiagramView, ViewSettings $viewSettings)
 {
     parent::__construct($viewSettings);
     $this->variables = [self::TV_DIAGRAM_VIEW => $classDiagramView, self::TV_ERRORS => [], self::TV_LOGGED_IN => $auth->isLoggedIn(), self::TV_FILE_GV => FileView::RV_UMLS, self::TV_FILE_URL => Router::FILE];
 }