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;
 }