Example #1
0
 /**
  * Get Instance of Account object.
  *
  * @param Application $application
  *
  * @return Account
  */
 public static function getInstance(Application $application)
 {
     if (empty(self::$instance)) {
         self::$instance = new self($application);
     }
     if (self::$instance->isAuthorized()) {
         $session = $application['session'];
         $authenticatedEmail = $session->get('account.authorized.email');
         $entityManager = $application['entityManager'];
         $authenticatedUser = $entityManager->getRepository('Models\\User')->findOneBy(['email' => $authenticatedEmail]);
         if (empty($authenticatedUser)) {
             self::$instance->logout();
         } else {
             self::$instance->authenticate($authenticatedUser);
         }
     }
     return self::$instance;
 }
Example #2
0
 /**
  * Creates new instance of Application.
  */
 public function __construct()
 {
     parent::__construct();
     $application = $this;
     $this['routes'] = function () {
         return new RouteCollection();
     };
     $this['requestContext'] = function () {
         return new RequestContext();
     };
     $this['entityManager'] = function () {
         return EntityManagerFactory::create();
     };
     $this['validator'] = function () {
         return ValidatorBuilderFactory::create();
     };
     $this['account'] = function () use($application) {
         return Account::getInstance($application);
     };
     $this['session'] = function () {
         return new Session();
     };
 }