| [ Index ] |
PHP Cross Reference of Joomla 2.5.4 DE |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * @package Joomla.Site 4 * @subpackage mod_whosonline 5 * @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved. 6 * @license GNU General Public License version 2 or later; see LICENSE.txt 7 */ 8 9 // no direct access 10 defined('_JEXEC') or die; 11 12 class modWhosonlineHelper 13 { 14 // show online count 15 static function getOnlineCount() { 16 $db = JFactory::getDbo(); 17 // calculate number of guests and users 18 $result = array(); 19 $user_array = 0; 20 $guest_array = 0; 21 $query = $db->getQuery(true); 22 $query->select('guest, usertype, client_id'); 23 $query->from('#__session'); 24 $query->where('client_id = 0'); 25 $db->setQuery($query); 26 $sessions = (array) $db->loadObjectList(); 27 28 if (count($sessions)) { 29 foreach ($sessions as $session) { 30 // if guest increase guest count by 1 31 if ($session->guest == 1 && !$session->usertype) { 32 $guest_array ++; 33 } 34 // if member increase member count by 1 35 if ($session->guest == 0) { 36 $user_array ++; 37 } 38 } 39 } 40 41 $result['user'] = $user_array; 42 $result['guest'] = $guest_array; 43 44 return $result; 45 } 46 47 // show online member names 48 static function getOnlineUserNames($params) { 49 $db = JFactory::getDbo(); 50 $query = $db->getQuery(true); 51 $query->select('a.username, a.time, a.userid, a.usertype, a.client_id'); 52 $query->from('#__session AS a'); 53 $query->where('a.userid != 0'); 54 $query->where('a.client_id = 0'); 55 $query->group('a.userid'); 56 $user = JFactory::getUser(); 57 if (!$user->authorise('core.admin') && $params->get('filter_groups', 0) == 1) 58 { 59 $groups = $user->getAuthorisedGroups(); 60 if (empty($groups)) 61 { 62 return array(); 63 } 64 $query->leftJoin('#__user_usergroup_map AS m ON m.user_id = a.userid'); 65 $query->leftJoin('#__usergroups AS ug ON ug.id = m.group_id'); 66 $query->where('ug.id in (' . implode(',', $groups) . ')'); 67 $query->where('ug.id <> 1'); 68 } 69 $db->setQuery($query); 70 return (array) $db->loadObjectList(); 71 } 72 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Tue Apr 3 11:40:28 2012 | Cross-referenced by PHPXref 0.7.1 |