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