<?php
/**
* @version $Id: mod_whosonline.php,v 1.1.1.1 2006/07/13 19:59:32 rcho Exp $
* @package Joomla
* @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/
// no direct access
defined( '_VALID_MOS' ) or die( 'Restricted access' );
$showmode = $params->get( 'showmode', 0 );
$output = '';
// show online count
if ($showmode==0 || $showmode==2) {
$query = "SELECT guest, usertype"
. "\n FROM #__session"
;
$database->setQuery( $query );
$sessions = $database->loadObjectList();
// calculate number of guests and members
$user_array = 0;
$guest_array = 0;
foreach( $sessions as $session ) {
// if guest increase guest count by 1
if ( $session->guest == 1 && !$session->usertype ) {
$guest_array++;
}
// if member increase member count by 1
if ( $session->guest == 0 ) {
$user_array++;
}
}
// check if any guest or member is on the site
if ($guest_array != 0 || $user_array != 0) {
$output .= _WE_HAVE;
// guest count handling
if ($guest_array == 1) {
// 1 guest only
$output .= sprintf( _GUEST_COUNT, $guest_array );
} else if ($guest_array > 1) {
// more than 1 guest
$output .= sprintf( _GUESTS_COUNT, $guest_array );
}
// if there are guests and members online
if ($guest_array != 0 && $user_array != 0) {
$output .= _AND;
}
// member count handling
if ($user_array == 1) {
// 1 member only
$output .= sprintf( _MEMBER_COUNT, $user_array );
} else if ($user_array > 1) {
// more than 1 member
$output .= sprintf( _MEMBERS_COUNT, $user_array );
}
$output .= _ONLINE;
}
}
// show online member names
if ($showmode > 0) {
$query = "SELECT DISTINCT a.username"
."\n FROM #__session AS a"
."\n WHERE a.guest = 0"
;
$database->setQuery($query);
$rows = $database->loadObjectList();
if ( count( $rows ) ) {
// output
$output .= '<ul>';
foreach($rows as $row) {
$output .= '<li>';
$output .= '<strong>';
$output .= $row->username;
$output .= '</strong>';
$output .= '</li>';
}
$output .= '</ul>';
}
}
echo $output;
?>