You are here

public static function SendActivityDestinationBase::isUserOffline in Open Social 10.0.x

Same name and namespace in other branches
  1. 8.9 modules/custom/activity_send/src/Plugin/SendActivityDestinationBase.php \Drupal\activity_send\Plugin\SendActivityDestinationBase::isUserOffline()
  2. 8 modules/custom/activity_send/src/Plugin/SendActivityDestinationBase.php \Drupal\activity_send\Plugin\SendActivityDestinationBase::isUserOffline()
  3. 8.2 modules/custom/activity_send/src/Plugin/SendActivityDestinationBase.php \Drupal\activity_send\Plugin\SendActivityDestinationBase::isUserOffline()
  4. 8.3 modules/custom/activity_send/src/Plugin/SendActivityDestinationBase.php \Drupal\activity_send\Plugin\SendActivityDestinationBase::isUserOffline()
  5. 8.4 modules/custom/activity_send/src/Plugin/SendActivityDestinationBase.php \Drupal\activity_send\Plugin\SendActivityDestinationBase::isUserOffline()
  6. 8.5 modules/custom/activity_send/src/Plugin/SendActivityDestinationBase.php \Drupal\activity_send\Plugin\SendActivityDestinationBase::isUserOffline()
  7. 8.6 modules/custom/activity_send/src/Plugin/SendActivityDestinationBase.php \Drupal\activity_send\Plugin\SendActivityDestinationBase::isUserOffline()
  8. 8.7 modules/custom/activity_send/src/Plugin/SendActivityDestinationBase.php \Drupal\activity_send\Plugin\SendActivityDestinationBase::isUserOffline()
  9. 8.8 modules/custom/activity_send/src/Plugin/SendActivityDestinationBase.php \Drupal\activity_send\Plugin\SendActivityDestinationBase::isUserOffline()
  10. 10.3.x modules/custom/activity_send/src/Plugin/SendActivityDestinationBase.php \Drupal\activity_send\Plugin\SendActivityDestinationBase::isUserOffline()
  11. 10.1.x modules/custom/activity_send/src/Plugin/SendActivityDestinationBase.php \Drupal\activity_send\Plugin\SendActivityDestinationBase::isUserOffline()
  12. 10.2.x modules/custom/activity_send/src/Plugin/SendActivityDestinationBase.php \Drupal\activity_send\Plugin\SendActivityDestinationBase::isUserOffline()

Check if user last activity was more than few minutes ago.

Parameters

\Drupal\user\Entity\User $account: The account to check.

Return value

bool Status of user.

File

modules/custom/activity_send/src/Plugin/SendActivityDestinationBase.php, line 196

Class

SendActivityDestinationBase
Base class for Activity send destination plugins.

Namespace

Drupal\activity_send\Plugin

Code

public static function isUserOffline(User $account) {
  $query = \Drupal::database()
    ->select('sessions', 's');
  $query
    ->addField('s', 'timestamp');
  $query
    ->condition('s.uid', $account
    ->id());
  $last_activity_time = $query
    ->execute()
    ->fetchField();
  $offline_window = \Drupal::config('activity_send.settings')
    ->get('activity_send_offline_window');
  $current_time = \Drupal::time()
    ->getRequestTime() - $offline_window;
  return empty($last_activity_time) || $last_activity_time < $current_time;
}