如何获得Joomla 3中的离线用户列表?

问题描述:

正如标题所示,我正在寻找解决方案来获取特定用户组的离线用户列表。有什么解决方法吗?如何获得Joomla 3中的离线用户列表?

其实我正在自定义一个模块,并且需要在前端显示离线用户。如果有人给我点亮,我会非常感激。

在此先感谢

+1

你更容易得到帮助,如果你告诉你已经尝试过的你已经尝试了什么(代码片段或什么样)。 –

这是一个很好的问题。您可以运行以下查询:

SELECT * FROM `#__users` WHERE `lastVisitDate` < NOW() - INTERVAL 1 HOUR 

上述查询假定现在已注销一个多小时前登录的用户。问题是,在这里你无法达到100%的准确率,因为用户可以登录5分钟然后离开,用户可以不间断地登录16小时。但是,上述查询将产生良好的,适用的结果。您可以随时调整间隔时间(例如,将其更改为INTERVAL 2 HOUR)以满足您的需求。

谢谢你的关注itoctopus。

我终于设法得到这种由下面的函数:

public static function getOfflineUserNames($params) 
{ 
    $db  = JFactory::getDbo(); 
    $query = $db->getQuery(true) 
     ->select ($db->quoteName('a.username')) 
     ->from('#__users AS a'); 

    $user = JFactory::getUser(); 
    $query->join('LEFT', '#__session AS m ON m.username = a.username') 
      ->where('m.username IS NULL'); 
    $db->setQuery($query); 
    return (array) $db->loadObjectList(); 
}