Esempio n. 1
0
 /**
  * Updates the current user's last access time.
  *
  * @param \Symfony\Component\HttpKernel\Event\PostResponseEvent $event
  *   The event to process.
  */
 public function onKernelTerminate(PostResponseEvent $event)
 {
     if ($this->account->isAuthenticated() && REQUEST_TIME - $this->account->getLastAccessedTime() > Settings::get('session_write_interval', 180)) {
         // Do that no more than once per 180 seconds.
         /** @var \Drupal\user\UserStorageInterface $storage */
         $storage = $this->entityManager->getStorage('user');
         $storage->updateLastAccessTimestamp($this->account, REQUEST_TIME);
     }
 }
 /**
  * Helper callback for uasort() to sort accounts by last access.
  */
 public static function sortUserList(AccountInterface $a, AccountInterface $b)
 {
     $a_access = (int) $a->getLastAccessedTime();
     $b_access = (int) $b->getLastAccessedTime();
     if ($a_access === $b_access) {
         return 0;
     }
     // User never access to site.
     if ($a_access === 0) {
         return 1;
     }
     return $a_access > $b_access ? -1 : 1;
 }