Ejemplo n.º 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;
     }
 }
Ejemplo n.º 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();
 }
 public function render()
 {
     $diagrams = $this->diagramRepository->getByUser($this->auth->getUser());
     $idToDelete = $this->myDiagramsView->shouldDelete();
     if ($idToDelete != null) {
         foreach ($diagrams as $index => $diagram) {
             if ($diagram->getId() == $idToDelete) {
                 $this->diagramRepository->delete($diagram);
                 unset($diagrams[$index]);
             }
         }
     }
     $this->myDiagramsView->setDiagrams($diagrams);
     return $this->myDiagramsView;
 }
Ejemplo n.º 4
0
 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];
 }