public static function getOnlineUsers() { if (self::$_online === null) { $db = JFactory::getDBO(); $query = "SELECT s.userid, s.time\n\t\t\t\tFROM #__session AS s\n\t\t\t\tWHERE s.client_id=0 AND s.userid>0\n\t\t\t\tGROUP BY s.userid\n\t\t\t\tORDER BY s.time DESC"; $db->setQuery($query); self::$_online = $db->loadObjectList('userid'); KunenaError::checkDatabaseError(); } return self::$_online; }
/** * Get the list of users online by giving list of userid * * @return array */ public static function getOnlineUsers() { if (self::$_online === null) { $app = JFactory::getApplication(); $config = KunenaFactory::getConfig(); $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select('userid, MAX(time) AS time')->from('#__session')->where('client_id=0 AND userid>0')->group('userid')->order('time DESC'); if ($config->show_session_type == 2 && $config->show_session_starttime != 0) { // Calculate x minutes by using Kunena setting. $time = JFactory::getDate()->toUnix() - $config->show_session_starttime; $query->where('time > ' . $time); } elseif ($config->show_session_type > 0) { // Calculate Joomla session expiration point. $time = JFactory::getDate()->toUnix() - $app->getCfg('lifetime', 15) * 60; $query->where('time > ' . $time); } $db->setQuery($query); self::$_online = (array) $db->loadObjectList('userid'); KunenaError::checkDatabaseError(); } return self::$_online; }