i have successfully gotten phpmychat (v0.14.4) and vbulletin (v2.0.1) fully integrated.
first off, i have implemented the md5 hashed passwords in vb, per a hack which is available on this board. then, i made modifications to the phpmychat script to use the 'user' table of vbulletin, and added the required rows (such as rooms and reg_time) to that same table, while modifying similar rows such as 'ip' and 'website'.
a little bit of code in the phpinclude template determines if a user is using 'encryptedpass' or not, and assigns the appropriate value to a variable that completes the url to automatically log a user into a chat room.
i have made a very dynamic drop-down menu system, so bear that in mind as you look at the code.
here are the relevant portions of my phpinclude template:
PHP Code:
if ($bbuserinfo[userid]) {
if ($bbuserinfo[encryptedpass] == "1") {
$chatpass = "PWD_Hash=$bbuserinfo[password]";
} else {
$chatpass = "PASSWORD=$bbuserinfo[password]";
}
if ($bbuserinfo[usergroupid] == "6") {
$adminmenu = "<a class=\"menuButton\" href=\"\" onclick=\"return buttonClick(this, 'adminMenu');\" onmouseover=\"buttonMouseover(this, 'adminMenu');\">Administrator</a> |";
} else {
$adminmenu = "";
}
if ($bbuserinfo[usergroupid] == "7") {
$modmenu = "<a class=\"menuButton\" href=\"\" onclick=\"return buttonClick(this, 'modMenu');\" onmouseover=\"buttonMouseover(this, 'modMenu');\">Moderator</a> |";
} else {
$modmenu = "";
}
$navbar_menu = "$bbuserinfo[username] ($bbuserinfo[usertitle]) | <a class=\"menuButton\" href=\"\" onclick=\"return buttonClick(this, 'userMenu');\" onmouseover=\"buttonMouseover(this, 'userMenu');\">User</a> | <a class=\"menuButton\" href=\"\" onclick=\"return buttonClick(this, 'generalMenu');\" onmouseover=\"buttonMouseover(this, 'generalMenu');\">General</a> | $adminmenu $modmenu <a class=\"menuButton\" href=\"\" onclick=\"return buttonClick(this, 'toysMenu');\" onmouseover=\"buttonMouseover(this, 'toysMenu');\">Toys</a> | <a class=\"menuButton\" href=\"\" onclick=\"return buttonClick(this, 'chatMenu');\" onmouseover=\"buttonMouseover(this, 'chatMenu');\">Chat</a> | <a class=\"menuButton\" href=\"\" onclick=\"return buttonClick(this, 'helpMenu');\" onmouseover=\"buttonMouseover(this, 'helpMenu');\">Help</a>";
} else {
$navbar_menu = "Guest (Unregistered) | <a class=\"menuButton\" href=\"register.php?s=$session[sessionhash]\">Why Not Register?</a> | <a class=\"menuButton\" href=\"member.php?s=$session[sessionhash]&action=lostpw\">Lost Your Password?</a> | <a class=\"menuButton\" href=\"\" onclick=\"return buttonClick(this, 'generalMenu');\" onmouseover=\"buttonMouseover(this, 'generalMenu');\">General</a> | <a class=\"menuButton\" href=\"\" onclick=\"return buttonClick(this, 'helpMenu');\" onmouseover=\"buttonMouseover(this, 'helpMenu');\">Help</a>";
}
$chatname = (str_replace(" ", "_", $bbuserinfo[username]));
note that phpmychat does not handle usernames that have spaces in them, as it sends the username as a part of the URL.
here is the relevant portion of my header template:
Code:
<div id="chatMenu" class="menu">
<a class="menuItem" href="javascript:popUp('/chat/index.php3?Ver=H&L=english&U=$chatname&$chatpass&R0=General+Chat&T=1&D=10&N=200&EN=1')">General Chat</a>
<a class="menuItem" href="javascript:popUp('/chat/index.php3?Ver=H&L=english&U=$chatname&$chatpass&R0=Poetry+Slam&T=1&D=10&N=200&EN=1')">Poetry Slam</a>
</div>
if you want to see this in action, take a look at my staging site
http://65.108.83.107/forums/ username/password: test