If you have trouble with your forumhome "Who's online" or find that no members show up as chatting on the forumhome even when they are in the chat, this may work for you:
Make a backup of your forums root index.php file before you try this!
Now, in your fourms root index.php file, look for:
Code:
$inforum = array();
which should be around line 368.
Replace everything below it down to (but not including)
which should be around line 426 with this:
Code:
// Get the users in vBChat
$vbchat_users = array();
while ($loggedin = $DB_site->fetch_array($forumusers))
{
$userid = $loggedin['userid'];
if (!$userid)
{ // Guest
$numberguest++;
$inforum["$loggedin[inforum]"]++;
}
else if (empty($userinfos["$userid"]) OR ($userinfos["$userid"]['lastactivity'] < $loggedin['lastactivity']))
{
$userinfos["$userid"] = $loggedin;
$numberregistered++;
if ($userid != $bbuserinfo['userid'])
{
$inforum["$loggedin[inforum]"]++;
}
$loggedin['musername'] = fetch_musername($loggedin);
if (fetch_online_status($loggedin))
{
$numbervisible++;
eval('$activeusers .= ", ' . fetch_template('forumhome_loggedinuser') . '";');
if(preg_match("/vBChat.php/",$loggedin['location']) && $loggedin['userid']){
$vbchat_users[$loggedin['userid']] = $loggedin;
}
}
}
}
// Configure Peeps In vBChat
$invBChat = "";
if(is_array($vbchat_users)){
foreach($vbchat_users as $invbc){
if($invBChat == ""){
$extra = "";
} else {
$extra = ", ";
}
// Get Username Style
$invbc['musername'] = fetch_musername($invbc);
$invBChat .= "{$extra}<a href='member.php?{$session['sessionurl']}&u={$invbc['userid']}'>{$invbc['musername']}</a>";
}
}
if($invBChat == ""){
$invBChat = "<i>No one is currently inside vBChat</i>";
}
This should work for 3.0.0 and 3.0.1.