/**
  * @authorize
  * @method GET
  * @route('profile/me')
  */
 public function myProfile()
 {
     $repo = new UserRepository($this->databaseInstance);
     $userInfo = $repo->getInfo($_SESSION['id']);
     $viewModel = new ProfileViewModel();
     $viewModel->setUsername($userInfo['username']);
     return new View($viewModel);
 }
 private function initLogin($username, $password)
 {
     $userModel = new UserRepository($this->_databaseInstance);
     $userInfo = $userModel->login($username, $password);
     $_SESSION = [];
     $_SESSION['id'] = $userInfo['id'];
     $_SESSION['role'] = $userInfo['role'];
     $this->redirect($this->alreadyAuthorizedLocation);
 }
 /**
  * @authorize
  * @customRoute('profile/me')
  */
 public function myProfile()
 {
     $repo = new UserRepository($this->_databaseInstance);
     $userInfo = $repo->getInfo($_SESSION['id']);
     $viewModel = new ProfileViewModel();
     $viewModel->setUsername($userInfo['username']);
     $this->_view->appendToLayout('layouts.profile', 'profile.myProfile', $viewModel);
     $this->_view->appendToLayout('layouts.profile', 'footer');
     $this->_view->render('layouts.profile');
 }
 /**
  * @authorize
  * @customRoute('home/welcome')
  */
 public function welcome()
 {
     $repo = new UserRepository($this->_databaseInstance);
     $userInfo = $repo->getInfo($_SESSION['id']);
     $viewModel = new WelcomeViewModel();
     $viewModel->setUsername($userInfo['username']);
     $this->_view->appendToLayout('layouts.home', 'header');
     $this->_view->appendToLayout('layouts.home', 'body', $viewModel);
     $this->_view->appendToLayout('layouts.home', 'footer');
     $this->_view->render('layouts.home');
 }
 public function welcome()
 {
     if (!$this->isLogged()) {
         $this->redirect($this->unauthorizedLocation);
     }
     $repo = new UserRepository($this->databaseInstance);
     $userInfo = $repo->getInfo($_SESSION['id']);
     $viewModel = new WelcomeViewModel();
     $viewModel->setUsername($userInfo['username']);
     return new View($viewModel);
 }