View Full Version : Chatters online for V2
umpty
03-14-2001, 04:46 PM
I've managed to incorporate Digi-Chat with my version of VB2 so only registered members can gain access. Now I'd like to know how it's possible to display the members who're using the chat on the main forum page. I've seen this hack working on Freddies page with JIRC but wouldn't know where to start in applying it to my own forum.
Can anyone here give any help as to what needs to be done?
For those that want to incorporate Digi-chat into their VB, here's the code you'll need for your chat page:
<?php
require( "./global.php" );
?>
<?php
if( $bbuserid ) {
$user = $DB_site->query_first( "SELECT username
FROM user
WHERE userid = $bbuserid" );
$bbuserinfo = $user[ username ];
print( "<APPLET align=middle code=\"com.diginet.digichat.client.DigiChatApplet\" codeBase=\"http://host4.digichat.com/DigiChat/DigiClasses/\" width=\"200\" height=\"100\" align=\"middle\" ARCHIVE=\"client.jar\" nickname=\"$username\">
<PARAM NAME=\"siteID\" VALUE=\"yoursiteIDnumberhere\">
<PARAM NAME=\"cabbase\" VALUE=\"Client.cab\">
<PARAM NAME=\"background\" VALUE=\"000000\">
<PARAM NAME=\"textcolor\" VALUE=\"ffffff\">
<PARAM NAME=\"nickname\" VALUE=\"$bbuserinfo\">
<PARAM NAME=\"openProfileURL\" VALUE=\"true\">
<PARAM NAME=\"room\" VALUE=\"chat\">
Chat requires a Java Compatible web browser to run.
</APPLET>\n" );
} else {
print( "<BODY BGCOLOR=\"#000000\">
<CENTER>
<FONT FACE=\"verdana, arial\" size=\"2\" color=\"white\">Sorry, you must be logged into the Forum to use Chat!</font><br>" );
} // end if
?>
Hope that code proves useful to someone.
Frak
I wouldn't know where to tell you to start since I know nothing about java. Digichat looks nice but it just to cost prohibitive at $495.
freddie's page doesn't use Jirc, uses (or at least used to) phpMychat, am I right?
Anyways I wouldn't have to d owith Java Freddie, since you can't modify a closed applet, I thin the way to go would be to make users authenticate, before they get to the chat (by having a php page that checks the user table from vbb) then, display that authenticated user back, like freddie did.
I believe the concept is the same!
I use Jpilot now.
It is easy enough to get users name when they enter chat. The hard part will be getting them when they leave.
If you can come up with something let me know... This was one problem I was trying to figure out.
Originally posted by freddie
It is easy enough to get users name when they enter chat. The hard part will be getting them when they leave.
One way i thought of doing it was open the java chat into a framset. Have both of them authenticate the user but have the bottom frame a 1 pixel frame which auto refreshes every couple of minutes. This is then used to count the users online.
Any thoughts on this? it is something i am planning on implementing as well. I would love digichat but just too expensive!
Originally posted by freddie
I use Jpilot now.
It is easy enough to get users name when they enter chat. The hard part will be getting them when they leave.
Freddie do you think you could release the hack you used to have this system working with Jpilot? I too use Jpilot, and would love to see this!
The digichat commander will return a list of online users according to the manual.
jrp -cp commander.zip returns:
userid: roomid: name: connected from:
Is there a way with php to convert that unto the forum page?
Manual url: http://www.digichat.com/documentation/DigiChat3.5.pdf page 5-54.....
Would be nice if this could work.....
Originally posted by umpty
I've managed to incorporate Digi-Chat with my version of VB2 so only registered members can gain access. Now I'd like to know how it's possible to display the members who're using the chat on the main forum page. I've seen this hack working on Freddies page with JIRC but wouldn't know where to start in applying it to my own forum.
Can anyone here give any help as to what needs to be done?
For those that want to incorporate Digi-chat into their VB, here's the code you'll need for your chat page:
<?php
require( "./global.php" );
?>
<?php
if( $bbuserid ) {
$user = $DB_site->query_first( "SELECT username
FROM user
WHERE userid = $bbuserid" );
$bbuserinfo = $user[ username ];
print( "<APPLET align=middle code=\"com.diginet.digichat.client.DigiChatApplet\" codeBase=\"http://host4.digichat.com/DigiChat/DigiClasses/\" width=\"200\" height=\"100\" align=\"middle\" ARCHIVE=\"client.jar\" nickname=\"$username\">
<PARAM NAME=\"siteID\" VALUE=\"yoursiteIDnumberhere\">
<PARAM NAME=\"cabbase\" VALUE=\"Client.cab\">
<PARAM NAME=\"background\" VALUE=\"000000\">
<PARAM NAME=\"textcolor\" VALUE=\"ffffff\">
<PARAM NAME=\"nickname\" VALUE=\"$bbuserinfo\">
<PARAM NAME=\"openProfileURL\" VALUE=\"true\">
<PARAM NAME=\"room\" VALUE=\"chat\">
Chat requires a Java Compatible web browser to run.
</APPLET>\n" );
} else {
print( "<BODY BGCOLOR=\"#000000\">
<CENTER>
<FONT FACE=\"verdana, arial\" size=\"2\" color=\"white\">Sorry, you must be logged into the Forum to use Chat!</font><br>" );
} // end if
?>
Hope that code proves useful to someone.
Frak
Is jrp a shell command?
If so you could run a cronjob that runs it every minute. Then read the output from the file it creates onto index.php and format it to appear on your frontpage.
Yes you can run it on the command-line. The problem is they (digichat) want 1500$ for the application that does this.....ouch!!!
There must be a better solution and cheaper as well.
Here is a post based on this topic.
============
Use backticks but be aware that also a shell is started each time (losing time too). There are better solutions using fork, exec etc. but they are more complex:
## Saving output in string
$output = `digichat.commander arguments ..`;
## Saving output in Array
@output = `digichat.commander arguments ..`;
>> Is it true that the commander will consume a lot of cpu resources because it would be invoked everytime the cgi script is accessed? <<
Yes- that is true because the CGI script - as you see - always starts the commander!
Depending on what you want to do it could be a solution to run commander periodically (automatically) - i.e. all 5 minutes - producing a site with html content that you can refer to for each chatter visiting your site. So the CGI script is not invoked each time a new visitor is coming along!
=================
Originally posted by freddie
Is jrp a shell command?
If so you could run a cronjob that runs it every minute. Then read the output from the file it creates onto index.php and format it to appear on your frontpage.
bbuserid doesn't seem to be available for non-cookied users. How do I get the userid or similar if they aren't cookied?
RobAC
04-19-2001, 11:56 AM
You posted this same question in this thread as well:
http://www.vbulletin.com/forum/showthread.php?threadid=2055&pagenumber=2
....is this same question relevant to this thread also??
-Rob
Guess I'll answer my own question...I used $bbuserinfo[ userid ] instead and this seems to work reliably.
Peteruk
04-20-2001, 04:40 PM
Where can JPILOT be located and how much does it cost??
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, vBulletin Solutions Inc.