I have this working somewhat on my version of VB.
I just edited the Members in Flashchat (2) plugin
here is my
Members in Flashchat (2) plugin
Code:
if ($show['wic'])
{
unset ($chatters);
$GLOBALS['fc_config_stop'] = true;
$lang = $vbulletin->options['chatlang'];
require_once(DIR . "/" . $vbulletin->options['chatfolder']. "/temp/config.srv.php");
require_once(DIR . "/" . $vbulletin->options['chatfolder']. "/inc/langs/".$lang.".php");
$fcprefix = $GLOBALS['fc_config']['db']['pref'];
$chatlist = $vbulletin->db->query_read_slave("
SELECT connections.*, rooms.*, user.*
FROM ".$fcprefix."connections as connections
LEFT JOIN ".$fcprefix."rooms as rooms ON connections.roomid = rooms.id
LEFT JOIN ".TABLE_PREFIX."user as user ON connections.userid = user.userid
WHERE connections.userid > 0
AND connections.updated > DATE_SUB(NOW(),INTERVAL 60 SECOND)
ORDER BY start
");
unset ($chatters);
$show['loggedinusers'] = true;
$i = 0;
$totalchatters = 0;
foreach ($GLOBALS['fc_config']['languages'][$lang]['status'] as $value)
{
$i += 1;
$status[$i] = $value;
}
$chattersdesc = $vbphrase['wic_using_flashchat'];
while ($chat = $vbulletin->db->fetch_array($chatlist))
{
$totalchatters += 1;
$chat['roomname'] = "In private room";
if ($chat['ispublic']) $chat['roomname'] = "In ".$chat['name'];
if ($chat['state'] > 1) $chat['roomname'] .= " (".$status[$chat['state']].")";
$ugroup = ($chat['displaygroupid'] > 0 ? $chat['displaygroupid'] : $chat['usergroupid']);
$chat['opentag'] = $vbulletin->usergroupcache[$ugroup]['opentag'];
$chat['closetag'] = $vbulletin->usergroupcache[$ugroup]['closetag'];
eval('$chatters .= "' . fetch_template('Display_Chatters_User') . '" . ", ";');
}
if ($chatters)
{
$chatters = substr($chatters, 0, -2);
}
else
{
$chatters = $vbphrase['wic_no_chatters'];
}
if ($vbulletin->products['paulm_fci_37'])
{
$fcpath = 'misc.php?do=flashchat';
}
else
{
$fcpath = $vbulletin->options['chatfolder'].'/flashchat.php';
}
if ($vbulletin->options['wiccol'])
{
$vbcollapse['collapseimg_forumhome_chatusers'] = '_collapsed';
$vbcollapse['collapseobj_forumhome_chatusers'] = 'display:none;';
}
$totalchatters = vb_number_format($totalchatters);
$chattitle = construct_phrase($chattersdesc,$totalchatters);
$pid = 'paulm_wic_37';
if ($pemdata37['set'] == true)
{
$data_wic =& $pemdata37[$pid];
}
else
{
if ($pemdata = unserialize($vbulletin->options['pemdata']))
{
$pemdata['set'] = true;
$data_wic =& $pemdata[$pid];
}
else
{
$data_wic = array('version' => 'N/A');
}
}
if ($vbulletin->options['enable_wic'])
{
$vbulletin->templatecache["{$vbulletin->options['template_wic']}"] = str_replace($vbulletin->options['text_wic'],
$vbulletin->options['text_wic'].$vbulletin->templatecache['Display_Chatters'],$vbulletin->templatecache["{$vbulletin->options['template_wic']}"]);
}
if ($vbulletin->options['wicmost'])
{
if (empty($vbulletin->maxloggedin))
{
if (method_exists($vbulletin->datastore,'do_fetch'))
{ // Datastore extension exists, use it
$vbulletin->datastore->do_fetch('maxloggedin',$errors);
if ($errors[0])
{ // Fetch failed, use original datastore
$vbulletin->datastore->do_db_fetch("'maxloggedin'");
}
}
else
{ // No extension, use original datastore
$vbulletin->datastore->do_db_fetch("'maxloggedin'");
}
}
if ($totalchatters > intval($vbulletin->maxloggedin['maxchatters']))
{
$vbulletin->maxloggedin['maxchattersdate'] = TIMENOW;
$vbulletin->maxloggedin['maxchatters'] = $totalchatters;
build_datastore('maxloggedin', serialize($vbulletin->maxloggedin),1);
}
if ($vbulletin->options['wicmost'])
{
if ($vbulletin->options['wic24'])
{
$description = $vbphrase['wic_members_24'];
}
else
{
$description = $vbphrase['wic_members_day'];
}
$chatmax = construct_phrase(
$description, vb_number_format($vbulletin->maxloggedin['maxchatters']),
vbdate( $vbulletin->options['dateformat'], $vbulletin->maxloggedin['maxchattersdate'], true ),
vbdate( $vbulletin->options['timeformat'], $vbulletin->maxloggedin['maxchattersdate'] )
);
$chatters = $chatmax . "<br />" . $chatters;
}
}
}