PDA

View Full Version : AJAX Chat Integration with vB 4


ICThawk
02-22-2011, 11:32 PM
Perhaps this thread is better suited here...


So I have done tons and tons of searching all over the internet. I found the AJAX Chat files that "integrate" with vBulletin. Sadly, the only integration it does is allow users to auto login with their accounts. Thats a great start, however other forum software has even better integration. I have done enough work to know it really isn't that difficult to finish this off. However, I am not smart enough to figure it out and have a few questions for the geniuses here.


1.) AJAX Chat stores the "online users" in a database table called ajax_chat_online. It stores the usernames and userIDs. Can someone help me with the code to pull the data from this table and display the names with a link to their profile. (ex: member.php?$userID-$username)

2.) Another nice integration is displaying the number of online chatter next to the link in the nav bar. Can someone help me with the code to count the number of rows in the table and then display that number in a link. (ex: href="/forum/chat"> Chat [#num_online])

--------------- Added 1298394882 at 1298394882 ---------------

I assume getting this information and putting it into a function shouldn't be too hard. In fact there is a German Mod that does this for vB 3. Here is the code they use if this helps.

<?php
/**
* Fetch the chatuser details
*
* @return array ( $return['tableheader'], $return['template'] )
*/
function fetch_chatuser()
{
global $vbulletin, $vbphrase;
$chatcount = 0;
$chatusers = $vbulletin->db->query('SELECT userName,userID FROM ajax_chat_online order by userName ASC');
if ($vbulletin->db->num_rows($chatusers) == 0)
{
$activechatusers = $vbphrase['no_users'];
}
else
{
// TODO falls gast=> kein profillink
while($chatuser = $vbulletin->db->fetch_array($chatusers))
{
$chatcount ++;
if ($activechatusers != '')
{
$activechatusers .= ', ';
}
eval('$activechatusers .= "' . fetch_template('ajaxchatuserbit') . '";');
}
}
switch ($chatcount) {
case 1:
$tableheadertext = $vbphrase['ragtek_one_user_chat'];
break;
default:
$tableheadertext = construct_phrase($vbphrase['x_user_at_chat'],$chatcount);
break;
}
$return = array();
$return['tableheader'] = $tableheadertext;
$return['template'] = $activechatusers;
return $return;
}
?>

ICThawk
02-28-2011, 04:10 PM
Bump