| Current Path : /home/lejardintz/www/components/com_kunena/controller/widget/whoisonline/ |
| Current File : /home/lejardintz/www/components/com_kunena/controller/widget/whoisonline/display.php |
<?php
/**
* Kunena Component
* @package Kunena.Site
* @subpackage Controller.Statistics
*
* @copyright (C) 2008 - 2016 Kunena Team. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
* @link https://www.kunena.org
**/
defined('_JEXEC') or die;
/**
* Class ComponentKunenaControllerStatisticsWhoisonlineDisplay
*
* @since K4.0
*/
class ComponentKunenaControllerWidgetWhoisonlineDisplay extends KunenaControllerDisplay
{
protected $name = 'Widget/WhoIsOnline';
public $usersUrl;
/**
* Prepare Who is online display.
*
* @return void
*
* @throws KunenaExceptionAuthorise
*/
protected function before()
{
parent::before();
$this->config = KunenaConfig::getInstance();
if (!$this->config->get('showwhoisonline'))
{
throw new KunenaExceptionAuthorise(JText::_('COM_KUNENA_NO_ACCESS'), '404');
}
$me = KunenaUserHelper::getMyself();
$moderator = intval($me->isModerator()) + intval($me->isAdmin());
$users = KunenaUserHelper::getOnlineUsers();
KunenaUserHelper::loadUsers(array_keys($users));
$onlineusers = KunenaUserHelper::getOnlineCount();
$who = '<strong>' . $onlineusers['user'] . ' </strong>';
if ($onlineusers['user'] == 1)
{
$who .= JText::_('COM_KUNENA_WHO_ONLINE_MEMBER') . ' ';
}
else
{
$who .= JText::_('COM_KUNENA_WHO_ONLINE_MEMBERS') . ' ';
}
$who .= JText::_('COM_KUNENA_WHO_AND');
$who .= '<strong> ' . $onlineusers['guest'] . ' </strong>';
if ($onlineusers['guest'] == 1)
{
$who .= JText::_('COM_KUNENA_WHO_ONLINE_GUEST') . ' ';
}
else
{
$who .= JText::_('COM_KUNENA_WHO_ONLINE_GUESTS') . ' ';
}
$who .= JText::_('COM_KUNENA_WHO_ONLINE_NOW');
$this->membersOnline = $who;
$this->onlineList = array();
$this->hiddenList = array();
foreach ($users as $userid => $usertime)
{
$user = KunenaUserHelper::get($userid);
if (!$user->showOnline)
{
if ($moderator)
{
$this->hiddenList[$user->getName()] = $user;
}
}
else
{
$this->onlineList[$user->getName()] = $user;
}
}
ksort($this->onlineList);
ksort($this->hiddenList);
$profile = KunenaFactory::getProfile();
$this->usersUrl = $profile->getUserListURL();
}
/**
* Prepare document.
*
* @return void
*/
protected function prepareDocument()
{
$this->setTitle(JText::_('COM_KUNENA_MENU_STATISTICS_WHOSONLINE'));
}
}