如何获得Joomla 3中的离线用户列表?
问题描述:
正如标题所示,我正在寻找解决方案来获取特定用户组的离线用户列表。有什么解决方法吗?如何获得Joomla 3中的离线用户列表?
其实我正在自定义一个模块,并且需要在前端显示离线用户。如果有人给我点亮,我会非常感激。
在此先感谢
答
这是一个很好的问题。您可以运行以下查询:
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();
}
你更容易得到帮助,如果你告诉你已经尝试过的你已经尝试了什么(代码片段或什么样)。 –