Example #1
0
 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;
 }
Example #2
0
 /**
  * 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;
 }