vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=251)
-   -   AJAX Chat Integration with vB 4 (https://vborg.vbsupport.ru/showthread.php?t=259267)

ICThawk 02-22-2011 01:34 PM

AJAX Chat Integration with vB 4
 
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 [DATE]1298394882[/DATE] at [TIME]1298394882[/TIME] ---------------

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.

Code:

<?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:11 PM

Bump


All times are GMT. The time now is 03:32 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01197 seconds
  • Memory Usage 1,718KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (2)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete