Пример #1
0
 public static function initialize(SessionInterface $session, $inputLang = null)
 {
     $lang = $inputLang ? $inputLang : DEFAULT_LANG;
     if (!$session->has('lang') || $session->get('lang') != $lang) {
         $session->set('lang', $lang);
     }
     static::load($lang);
     static::$lang = $lang;
 }
 /**
  * {@inheritdoc}
  */
 public function authenticate($userId)
 {
     // Fetch the user
     $userInfo = $this->db->fetchAssoc('SELECT * FROM users WHERE id = ?', [$userId]);
     if ($userInfo === false) {
         throw new AuthenticationException("Authentication failed");
     }
     // Create the user instance
     $user = $this->hydrateUser($userInfo);
     // Generate session fingerprint
     $sessionFingerprint = $this->createSessionFingerprint();
     // Update the user's info in the database
     $now = (new \DateTime())->format("Y-m-d H:i:s");
     $this->db->update('users', ['ip_address' => $_SERVER['REMOTE_ADDR'], 'is_online' => 1, 'ss_fprint' => $sessionFingerprint, 'last_login_date' => $now, 'last_activity_date' => $now], ['id' => $userId]);
     // Set session
     $this->session->set('ID', $userId);
     $this->session->set('ss_fprint', $sessionFingerprint);
     return $user;
 }