Helpful Information
 
 
Category: vBulletin.org Forum
digichat login hack?

Does anyone have the digichat login hack for 2.0 like the one used on the hole.com site?

thanks :)

It's easy -- we use it on http://chat.fanhome.com

Basically create a PHP file and embed your digiChat applet in there.

then:


// Check and see if the user is logged in

if( user is logged in ) {

echo "<APPLET .... nickname =\"$some_var_representing_user_name\">";

} // end if

Are you using vB on FanHome.Com? I don't see a copyright on it...

Originally posted by leadZERO
Are you using vB on FanHome.Com? I don't see a copyright on it...

FanHome.com is a special case. They purchased the source code and converted it to Sysbase.

I have no idea what you mean. I've spent the last 2 years heavily hacking my ubb without any problems. But this is the first time I've ever used php or mysql scripts, so I have a lot to learn. But thanks anyway :)

Do something like this (PHP and Perl are fairly close so you should be able to understand what I have, if not just ask):


if( $bbuserid ) {

$user = $DB_site->query_first( "SELECT username,
canpost,
usergroupid
FROM users
WHERE userid = $bbuserid" );
$bbusername = $user[ username ];
$usergroupid = $user[ usergroupid ];
$canpost = $user[ canpost ];

if( $canpost == 0 or $usergroupid == 366 ) {

print( "<font face=\"TREBUCHET MS,ARIAL,HELVETICA\">Sorry, you are banned from FanHome Chat! If you feel this is in error, please e-mail the administration at: <a href=\"mailto:administrators@fanhome.com\">administrators@fanhome.com</a></font><br>" );

} else {

print( "<APPLET align=middle code=\"digi.digichat.DigiChatApplet\" codeBase=\"http://www.yourdomain.com/path/to/digichat/\" width=\"600\" height=\"480\" align=\"middle\" ARCHIVE=\"client.jar\" nickname=\"$bbusername\">
<PARAM NAME=\"siteID\" VALUE=\"1000\">
<PARAM NAME=\"cabbase\" VALUE=\"Client.cab\">
<PARAM NAME=\"background\" VALUE=\"FFFFFF\">
<PARAM NAME=\"textcolor\" VALUE=\"000000\">

<PARAM NAME=\"url\" VALUE=\"http://forums.fanhome.com/member.php?action=getinfo&userid=$bbuserid\">
<PARAM NAME=\"openProfileURL\" VALUE=\"true\">
<PARAM NAME=\"room\" VALUE=\"$room\">
<PARAM NAME=\"embedded\" VALUE=\"true\">

FanHome Chat requires a Java Compatible web browser to run.
</APPLET>\n" );

} // end if

} else {

print( "<font face=\"TREBUCHET MS,ARIAL,HELVETICA\">Sorry, you must be logged in to use FanHome Chat!</font><br>" );

} // end if


I have the canpost check to see if they're "turned off" for some reason. Usergroupid 366 is what I have set up for users that we ban -- they aren't allowed to chat either.

If they're logged out I don't let them in either. You can configure DigiChat to disallow changing of usernames for guests and limit hosts to connect from -- it's a great program.

If you want to get fancy you can store more stuff in the users table for their chat settings and you can pass those as more parameters to the chat applet. I simply set up the username and their profile URL. There is also a way to capture any settings they change -- so if they edit their icon in chat and exit you can set it up to write to the database with the particular iconid. It's pretty sweet and it on my "to-do" list. :)

If you have any other questions just ask.

Thanks for the help. I hope you don't mind if I ask more questions about this? I couldn't get it to work.

I copied your script to a blank document, and replaced the urls and the site id with my own. I then added <?php and ?> to the top and bottom (just a guess here) and named it vbchat.php. I uploaded it into my forum directory, called it in the browser and received the following error:

Fatal error: Call to a member function on a non-object in /usr/www/thingsar/httpd/htdocs/..mydomain/forum/vbchat.php on line 5

(btw, I'm not really grumpy, I'm a nice old lady and am sincerely appreciative of any help you can give me :) )

you need to add:

require( "global.php" );

to the top of it (placing the file in your /forums directory is easiest).

Then it should work. Also change the database query from:

SELECT username,
canpost,
usergroupid
FROM users
WHERE userid = $bbuserid"


to this:


SELECT username,
canpost,
usergroupid
FROM user
WHERE userid = $bbuserid"

Thanks for the fast reply! I just tried and received the standard error that the tech dept will be notified. I then recieved the email with this:


Database error in vBulletin: Invalid SQL: SELECT username,
canpost,
usergroupid
FROM user
WHERE userid = 1
mysql error: Unknown column 'canpost' in 'field list'
mysql error number: 1054
Date: Tuesday 20th of February 2001 01:40:59 PM
Script: /forum/vbchat.php
Referer:


What did I do wrong?

and thank you for helping me :)

Are you using 2.0? That code is based on vB1.1.5, so they could've changed around the way things work in 2.0. If you want to ignore that then use:


require( "global.php" );

if( $bbuserid ) {

$user = $DB_site->query_first( "SELECT username
FROM users
WHERE userid = $bbuserid" );
$bbusername = $user[ username ];

print( "<APPLET align=middle code=\"digi.digichat.DigiChatApplet\" codeBase=\"http://www.yourdomain.com/path/to/digichat/\" width=\"600\" height=\"480\" align=\"middle\" ARCHIVE=\"client.jar\" nickname=\"$bbusername\">
<PARAM NAME=\"siteID\" VALUE=\"1000\">
<PARAM NAME=\"cabbase\" VALUE=\"Client.cab\">
<PARAM NAME=\"background\" VALUE=\"FFFFFF\">
<PARAM NAME=\"textcolor\" VALUE=\"000000\">

<PARAM NAME=\"url\" VALUE=\"http://forums.fanhome.com/member.php?action=getinfo&userid=$bbuserid\">
<PARAM NAME=\"openProfileURL\" VALUE=\"true\">
<PARAM NAME=\"room\" VALUE=\"$room\">
<PARAM NAME=\"embedded\" VALUE=\"true\">

FanHome Chat requires a Java Compatible web browser to run.
</APPLET>\n" );

} else {

print( "<font face=\"TREBUCHET MS,ARIAL,HELVETICA\">Sorry, you must be logged in to use FanHome Chat!</font><br>" );

} // end if

Hello again :)

Yes, I am using 2.0, so something must be different. I tried your latest revision and then recieved another mysql table error that 'users' doesn't exist. I really wish I knew what I was talking about here. I've noticed a similar thread in the 2.0 Questions forum, I think I'll ask if they would be willing to share the file with me.

Thank you so much for taking the time to help me, I'm sure we'll cross paths again, probably very soon :D

oops, replace "users" with "user" in the "SELECT username FROM users" portion of the code and that should work.

It's closer!! The applet loads but it's not recognizing that I am logged in, so I cant get into the chat. But I'm further now, thank you!. I see that the thread in the 2.0 questions forum (question about a variable) mentions changing the variables for $bbusername so I'm trying to make some of the changes they suggested. There are several different suggestions there, so I'm going to be busy for a while :)










privacy (GDPR)