Hello,
There is a mod called FlashChat you can find at
www.tufat.com. They have the ability to integrate with UBB.Threads 6.5, but when I try it with UBB.Threads 7.0.2 it doesn't work. Does anyone know how to fix or get around this problem?
Thanks.
The bridge between the 2 will need to be updated.
I would look to updating/creating one, but I don't have the software; though I have purchased their family tree like 2 years ago lol
They did an update that is supposed to work for UBBT 7.1, but it has a bug in it somewhere as it isn't working.
Here is the error message I receive when trying to access the Flashchat Control Panel:
Fatal error: Call to a member function on a non-object in /home/virtual/site5/fst/var/www/html/forums/chat/inc/cmses/ubb71CMS.php on line 82
Does anybody have any ideas on how to correct this?
I just upgraded mine to the latest build, i'll poke around a bit later though.
found the issue, the table "USERS" was being referanced as "users"; a fix:
Find:
$this->loginStmt = new Statement("SELECT USER_DISPLAY_NAME, USER_MEMBERSHIP_LEVEL, USER_PASSWORD,USER_IS_APPROVED,USER_IS_BANNED,USER_ID FROM {$GLOBALS['config']['TABLE_PREFIX']}users WHERE USER_LOGIN_NAME = ? LIMIT 1");
//$this->updateSessionStmt = new Statement("UPDATE {$GLOBALS['config']['TABLE_PREFIX']}users SET U_Laston = ?, U_SessionId = ? WHERE USER_DISPLAY_NAME = ?");
$this->getUserStmt = new Statement("SELECT USER_LOGIN_NAME as login, USER_MEMBERSHIP_LEVEL as status FROM {$GLOBALS['config']['TABLE_PREFIX']}users WHERE USER_ID = ? LIMIT 1");
$this->getUsersStmt = new Statement("SELECT USER_LOGIN_NAME as login, USER_ID as id FROM {$GLOBALS['config']['TABLE_PREFIX']}users");
Replace With:
$this->loginStmt = new Statement("SELECT USER_DISPLAY_NAME, USER_MEMBERSHIP_LEVEL, USER_PASSWORD,USER_IS_APPROVED,USER_IS_BANNED,USER_ID FROM {$GLOBALS['config']['TABLE_PREFIX']}USERS WHERE USER_LOGIN_NAME = ? LIMIT 1");
//$this->updateSessionStmt = new Statement("UPDATE {$GLOBALS['config']['TABLE_PREFIX']}USERS SET U_Laston = ?, U_SessionId = ? WHERE USER_DISPLAY_NAME = ?");
$this->getUserStmt = new Statement("SELECT USER_LOGIN_NAME as login, USER_MEMBERSHIP_LEVEL as status FROM {$GLOBALS['config']['TABLE_PREFIX']}USERS WHERE USER_ID = ? LIMIT 1");
$this->getUsersStmt = new Statement("SELECT USER_LOGIN_NAME as login, USER_ID as id FROM {$GLOBALS['config']['TABLE_PREFIX']}USERS");
I've looked everywhere on the tufat site and
do not find the base UBBT integration instructions?
I found the so-called 7.02 update but only basic instructions for the old 6.5.X
there is no ubbt_registerednav template
what do I do in 7.1 ?
make a custom portal Island of it ?
The importer comes with the latest version of the script available on the TUFAT site; the integration file is listed in the integration list as "UBB.Threads 7.1 CMS".
FYI, the integration file with my updates seems to be listed
here and is for FlashChat 4.7.9
BTW, my demo is at:
UBB7: http://home.corthell.net:81/forums/ubb7/ubbthreads.php
FlashChat: http://home.corthell.net:81/forums/ubb7/chat/
Thank you!
I will do a fix and see what happens on mine.
Another question:
Was there also an error in w3t_myid being used instead of ubbt_myid?
I answered my own question, and then found another question.
I got it working, but I need to log in myself, which is the reason for asking the following question:
Does your's log you in automatically, or do you need to log yourself in?
If you are able to log into Flashchat automatically when logged into the forum, I may not be able to do that on account that I am using a cookie prefix.
If that is the case, do you know what I need to change in the Flashchat Config. to add the cookie prefix?
I am wondering if the following also needs to be changed in order for the automatic login to work?
// $this->ubbt_setcookie("{$GLOBALS['config']['cookieprefix']}w3t_myid",$rec['U_Number'],time()+$GLOBALS['config']['cookieexp']);
Should the w3t be changed to ubbt?
Should something be added onto 'cookieprefix' seeing that I am using a cookie prefix word?
Thanks.
yes i found those and I chose the "UBB.Threads 7.1 CMS" when I installed.
Flashchat does indeed allow me to login with my UBB registered account.
what I want to do at this point is get a link on the navigation bar.
the flashchat site has an old method for 6.5.X which calls for modifying the ubbt_registerednav templatein 6.5.X
But honestly I'm a UNIX Admin and not really a coder - so I'm being a tad braindead about where and how to tweek the navigation bar in 7.1 and add a hotlink to the FlashChat app.
Installs fine and works fine, just have to hack it, because it displays the loginname instead of the displayname.
Yes, but do you also need to log in to Flashchat separately, or does it bypass a separate manual log in and logs you in automatically?
It installs fine, however i have to login manually.
As for the commented out code, those are commented out lines from the 6.5 integration; do NOT uncomment them, they will not work, and it can make things not work at all.
As for auto logins, that'd use a cookie, you'll have to ask them at their site about using the ubb cookies to auto login.
I recommend making any requests on the ubb7 discussion on their site, such as having to use the display name vs login name, and any bugs you find.
Flashchat integrated with UBBT prior to version 7 did an automatic login as long as you were already logged into UBBT, which is why I was wondering why the automatic login wasn't working with UBB7.x
Flashchat integrated with UBBT prior to version 7 did an automatic login as long as you were already logged into UBBT, which is why I was wondering why the automatic login wasn't working with UBB7.x
Not everything was ported up; you should ask there or email the author and ask...
I discovered that the auto login only works if the default cookies are used without a cookies prefix.
Try replacing:
$this->userid = isset($_COOKIE["ubbt_myid"]) ? $_COOKIE["ubbt_myid"] : NULL;
With:
$this->userid = isset($_COOKIE[$GLOBALS["config"]["COOKIE_PREFIX"] ."ubbt_myid"]) ? $_COOKIE[$GLOBALS["config"]["COOKIE_PREFIX"] ."ubbt_myid"] : NULL;
After I had changed my cookie prefix back to the default, the auto login began to work without any problem, therefore, I will not make this change, however, it is good to have it here for future use, or for others having the same problem.
Was hoping someone would test it out vs me on my dev machine; as I don't use the script in a production environment I cannot test the functionality of the addition properly.
Was hoping someone would test it out vs me on my dev machine; as I don't use the script in a production environment I cannot test the functionality of the addition properly.
well I'm still in dev myself but I added it in and it worked fine for me.
well I'm still in dev myself but I added it in and it worked fine for me.
Well, thats good enough for me; I'll post it at the flashchat thread to be updated in the integration
I actually already posted it there.
They actually tested it and they said it works.
http://forum.tufat.com/showthread.php?p=135717#post135717
I posted a problem I'm having on
their forum - hopefully one of you guys could lend a hand since I cannot log in to FlashChat!
Okay, well, let me ask you guys this, if you have FlashChat integrated successfully into Threads 7.* -- the Mod there hasn't been very helpful.
For some reason, for me, the "built-in login" is working, but not the manual "HTML-based login" -- it says "incorrect user name or password". Has anyone here been able to log-in when it asks you for a username/password?
Also, before I use FlashChat, I really need it to display Display Names and not Usernames. Anyone figure that out yet? I can't seem to find it...
Thanks!
JG
geoff, i have it working for html based login, no problems...
As for PDN, let me have a look at the files and I'll get back to you.
It doesn't look like the integration file even touches the pdn, it just basically works with the login name and password...
If I get some more time I'll do some digging in the normal files to see if i can find a place to hijack what name is shown; but no promises, the ammount of files is vastly huge...
geoff, i have it working for html based login, no problems...
I wish I knew what my problem was. Are you using the 7.1 version? I'll have to play with it more I suppose...
As for PDN, let me have a look at the files and I'll get back to you.
Sorry, what's PDN?
The Threads 7.1 CMS file
seems to call up USER_DISPLAY_NAME - but after looking at dozens of files, I cannot find where/how to use it...
Yes I'm using the 7.1 version; you can fiddle at:
http://home.corthell.net:81/forums/ubb7/chat/
PDN == Public Displayed Name; I do realize that it selects the PDN but it never referances, if you look at the calls, it only uses the login name and password (i think its the third mysql call).
I've "cleaned up" my configuration file so line numbers wouldn't match up, else I'd tell you what lines to look at lol...
I did see that some of the scripts referance "name" so I set name as a variable but it doesn't get used; I'm sure it's only used for their "normal"/"non-integration" login system...
Yeah, yours works... mine doesn't... guess I'll try reinstalling it... :rolleyes:
Why Darren chose to display user names rather than display names is till beyond me... makes it virtually worthless...
well it's quite simple; most products don't have public names and only have login names... however i think it would have been cool to have the option; perhaps email him with a feature request?
Guess an email to him directly would be better than trying to get passed his bulldog moderator! LOL
... no comments from me, as they wouldn't be professional in nature :nods:
Did anyone ever figure out the display name vs login name fix? I've read here and at the Tufat forums, no luck yet.
From my point of view, without knowing what their script looks for as a variable it'd be near impossible to pull it with the integration file.
From their point of view, we're a "small fish" and they could care less.
Ok, this is so simple there must be something wrong with it, but in ubb71CMS.php I changed the guts of function UBBCMS () to the following, basically subbing USER_DISPLAY_NAME for USER_LOGIN_NAME:
$this->loginStmt = new Statement("SELECT USER_DISPLAY_NAME, USER_MEMBERSHIP_LEVEL, USER_PASSWORD,USER_IS_APPROVED,USER_IS_BANNED,USER_ID FROM {$GLOBALS['config']['TABLE_PREFIX']}USERS WHERE USER_DISPLAY_NAME = ? LIMIT 1");
$this->getUserStmt = new Statement("SELECT USER_DISPLAY_NAME as login, USER_MEMBERSHIP_LEVEL as status FROM {$GLOBALS['config']['TABLE_PREFIX']}USERS WHERE USER_ID = ? LIMIT 1");
$this->getUsersStmt = new Statement("SELECT USER_DISPLAY_NAME as login, USER_ID as id FROM {$GLOBALS['config']['TABLE_PREFIX']}USERS");
Then I expired my site cookies and it shows my username rather than my login name. Violá!
I'll have to warn all my users to expire their cookies, otherwise it they will not be autologged in the first time. To log in manually using this code, you have to log in with your display name and password, rather than login name and password. As long as autologin is working, this process will be transparent and your users won't know it's even happening.
All my users will hit it in the morning, and we'll see what happens. I'll report back if any probs.
Ok, this is so simple there must be something wrong with it, but in ubb71CMS.php I changed the guts of function UBBCMS () to the following, basically subbing USER_DISPLAY_NAME for USER_LOGIN_NAME:
$this->loginStmt = new Statement("SELECT USER_DISPLAY_NAME, USER_MEMBERSHIP_LEVEL, USER_PASSWORD,USER_IS_APPROVED,USER_IS_BANNED,USER_ID FROM {$GLOBALS['config']['TABLE_PREFIX']}USERS WHERE USER_DISPLAY_NAME = ? LIMIT 1");
$this->getUserStmt = new Statement("SELECT USER_DISPLAY_NAME as login, USER_MEMBERSHIP_LEVEL as status FROM {$GLOBALS['config']['TABLE_PREFIX']}USERS WHERE USER_ID = ? LIMIT 1");
$this->getUsersStmt = new Statement("SELECT USER_DISPLAY_NAME as login, USER_ID as id FROM {$GLOBALS['config']['TABLE_PREFIX']}USERS");
Then I expired my site cookies and it shows my username rather than my login name. Violá!
I'll have to warn all my users to expire their cookies, otherwise it they will not be autologged in the first time. To log in manually using this code, you have to log in with your display name and password, rather than login name and password. As long as autologin is working, this process will be transparent and your users won't know it's even happening.
All my users will hit it in the morning, and we'll see what happens. I'll report back if any probs.
I'll have to give this a shot - thanks!
I still can't log in unless I use the "automatic login", and the change above didn't work either for me... something's wrong and I can't figure it out
Okay, everything's working now!!
Some issues:
1) For some reason we can only see our OWN profiles, with the FlashChat link to "Profile" that's supposed to point back to our UBB profiles. For everyone other than ourselves, it takes us to the main UBB page.
2) How to get UBB Mods to display as Mods rather than Admins in FlashChat?
I still stand behind the statement that it's not possible with their current integration file.
I still stand behind the statement that it's not possible with their current integration file.
To (almost) quote The Godfather Part II...
If anything in this life is certain -- if history has taught us anything -- it's that anything's possible... Okay, well, Michael Corleone ended with it's possible to
kill anyone, but that's a bit extreme for what we're dealing with at the moment. lol
In any event, I did a live beta test w/ a handful of members tonight, and have my short list of fixes/quirks that need to be fixed... I'll compile them later -- here, but mostly on their forum, of course...
But at least it works for the most part
Well, if they'd let the cat out of the bag at what items referance other items and are called from the integration file, sure, it'd be possible...
Have you TRIED asking at their site? Your thread will either be ignored, locked, or deleted...
have you TRIED emailing their author? He'll either ignore you or offend you (in my case, demanding a free copy of .T7 which would violate my license agreement for his $5 script lol...
one would think that just finding another chat system would be better, if that's the treatment you get from the author...
Well, one thing that happens with these driveby authors who create cheap scripts, if you have input or requests and don't want to spent $$$ getting them to update in a direction of your liking, it's likely you'll get turned down; their script isn't what you're wanting to integrate with, so it's more of a courtesy
...
I still push for the irc way of things lol
I posted a new topic over there,
here, and will see if anyone has any feedback. In the mean time, I'll look into some of these issues and see if I can figure some of them out...
If anyone wants to try it, here's my ubb71CMS integration script for FlashChat 4.7. I can't attach the file apparently, so here it is -- rename it
ubb71CMS.php and save it to
\FLASHCHAT_DIR\inc\cmsesI have not tried this with a later version of UBB.t than 7.1. I will test with 7.3 once it's released...
<?php
if ( !defined( 'INC_DIR' ) ) {
die( 'hacking attempt' );
}
$ubb_root_path = realpath(dirname(__FILE__) . '/../../../') . '/';
require_once($ubb_root_path . 'includes/config.inc.php');
class UBBCMS {
var $loginStmt;
var $updateSessionStmt;
var $getUserStmt;
var $getUsersStmt;
var $userid;
function UBBCMS() {
$this->loginStmt = new Statement("SELECT USER_DISPLAY_NAME, USER_MEMBERSHIP_LEVEL, USER_PASSWORD,USER_IS_APPROVED,USER_IS_BANNED,USER_ID FROM {$GLOBALS['config']['TABLE_PREFIX']}USERS WHERE USER_DISPLAY_NAME = ? LIMIT 1");
$this->getUserStmt = new Statement("SELECT USER_DISPLAY_NAME as login, USER_MEMBERSHIP_LEVEL as status FROM {$GLOBALS['config']['TABLE_PREFIX']}USERS WHERE USER_ID = ? LIMIT 1");
$this->getUsersStmt = new Statement("SELECT USER_DISPLAY_NAME as login, USER_ID as id FROM {$GLOBALS['config']['TABLE_PREFIX']}USERS");
$this->userid = isset($_COOKIE[$GLOBALS["config"]["COOKIE_PREFIX"] ."ubbt_myid"]) ? $_COOKIE[$GLOBALS["config"]["COOKIE_PREFIX"] ."ubbt_myid"] : NULL;
}
function isLoggedIn() {
return $this->userid;
}
function getRoles($status) {
$rv = NULL;
if ($status == "Administrator" || $status == "Moderator")
$rv = ROLE_ADMIN;
elseif ($status == "User")
$rv = ROLE_USER;
else
$rv = ROLE_SPY;
return $rv;
}
function getUserProfile($userid) {
if ($userid == SPY_USERID) $rv = NULL;
elseif ($user = $this->getUser($userid))
{
$id = $this->isLoggedIn();
if( $id && ($id == $userid) )
{
toLog("true",true);
$rv = $GLOBALS["config"]["FULL_URL"] . "/ubbthreads.php?ubb=showprofile&User={$userid}";
}
else
{
toLog("false",false);
$rv = $GLOBALS["config"]["FULL_URL"] . "/ubbthreads.php?ubb=login";
}
}
toLog("rv_prof",$rv);
return $rv;
}
function getUser($userid) {
$rs = $this->getUserStmt->process($userid);
$rv = $rs->next();
if($rv) {
$rv["roles"] = $this->getRoles($rv["status"]);
}
return $rv;
}
function login($login, $password) {
$goodPassword = false;
$rs = $this->loginStmt->process(addslashes($login));
$rec = $rs->next();
if ($rec) {
if ($rec["USER_IS_BANNED"]) return NULL;
if (md5($password) != $rec["USER_PASSWORD"]) return NULL;
return $rec['USER_ID'];
}
}
function userInRole($userid, $role) {
if($user = $this->getUser($userid)) {
return ($user['roles'] == $role);
}
return false;
}
function logout() {
}
function getUsers() {
return $this->getUsersStmt->process();
}
function getGender($userid) {
return NULL;
}
}
$GLOBALS['fc_config']['db'] = array(
'host' => $GLOBALS["config"]["DATABASE_SERVER"],
'user' => $GLOBALS["config"]["DATABASE_USER"],
'pass' => $GLOBALS["config"]["DATABASE_PASSWORD"],
'base' => $GLOBALS["config"]["DATABASE_NAME"],
'pref' => $GLOBALS["config"]["TABLE_PREFIX"] . 'fc_',
);
$GLOBALS['fc_config']['cms'] = new UBBCMS();
foreach($GLOBALS['fc_config']['languages'] as $k => $v) {
$GLOBALS['fc_config']['languages'][$k]['dialog']['login']['moderator'] = '';
}
?>
Has anyone figured out how to add a "Who's Chatting" custom island into Threads?
Edit: Never mind, I found this download (just a php file) in the Tufat resources:
New "Who's Chatting" file for CMS systems Edit Again: Haven't gotten it working in a custom island yet, but it works as a
stand-alone page. Getting errors when put in a custom island. Here's the code...
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
include_once('inc/common.php');
ChatServer::purgeExpired(); function numusers( $room = "" )
{
if($room) {
$stmt = new Statement("SELECT COUNT(*) AS numb FROM {$GLOBALS['fc_config']['db']['pref']}connections WHERE userid IS NOT NULL AND roomid=?");
$rs = $stmt->process($room);
} else {
$stmt = new Statement("SELECT COUNT(*) AS numb FROM {$GLOBALS['fc_config']['db']['pref']}connections,{$GLOBALS['fc_config']['db']['pref']}rooms
WHERE userid IS NOT NULL AND ispublic IS NOT NULL
AND {$GLOBALS['fc_config']['db']['pref']}connections.roomid = {$GLOBALS['fc_config']['db']['pref']}rooms.id");
$rs = $stmt->process();
}
$rec = $rs->next();
return $rec?$rec['numb']:0;
}
function usersinroom( $room = "" )
{
$cms = $GLOBALS['fc_config']['cms'];
$list = array();
if($room) {
$stmt = new Statement("SELECT userid, state, color, lang, roomid FROM {$GLOBALS['fc_config']['db']['pref']}connections WHERE userid IS NOT NULL AND roomid=?");
$rs = $stmt->process($room);
} else {
$stmt = new Statement("SELECT userid, state, color, lang, roomid FROM {$GLOBALS['fc_config']['db']['pref']}connections WHERE userid IS NOT NULL");
$rs = $stmt->process();
}
while($rec = $rs->next()) $list[] = array_merge($cms->getUser($rec['userid']), $rec);
return $list;
}
function roomlist()
{
$list = array();
$stmt = new Statement("SELECT * FROM {$GLOBALS['fc_config']['db']['pref']}rooms WHERE ispublic IS NOT NULL order by ispermanent");
$rs = $stmt->process(); while($rec = $rs->next()) $list[] = $rec;
return $list;
}
$rooms = roomlist();
$roomnumb = sizeof($rooms);
$usernumb = numusers();
$body = <<<EOF
<BR>><a href="/threads/chat/flashchat.php" target="_blank">Chatroom</a> (<?= $usernumb ?> user<? if ($usernumb != 1) echo "s" ?> in <?=$roomnumb ?> room<? if ($roomnumb != 1) echo "s"; ?>)
<ul id="roomList">
<?php if($roomnumb) { ?>
<?php foreach($rooms as $room) { ?>
<li><strong><a href="#" onclick="javascript:toggleUserList('room_<?=$room[id]?>')"><?=$room[name]?> (<?= numusers($room[id]) ?>)</a></strong>
<?php
$users = usersinroom($room[id]);
if ($users) {
echo "<ul class="userList" id="room_".$room[id]."">";
foreach( $users as $user ) {
echo "<li>".$user[login] . "</li>";
}
echo "</ul>";
}
?> </li>
<?php } ?>
<?php } ?>
</ul>
EOF;
I am working on integrating several chats.
Question:
will the user authorization stay the same from version 7.2 to 7.3? data like username, password, moderator and admin status, will they be the same and unchanged in the database?
The following for Who's Chatting is working for me in my Custom Island:
You may need to customize the SRC for your particular site.
Explanation:
I integrated PJIRC, works fine, but probably will not be a hit with my chat guests
Want to integrate FlashChat, will the stuff here work with 7.2 and 7.3 (still in beta4) of ubb?
Working to integrate phpopenchat.
If I integrate it for 7.2, will it work for the other version? 7.3.4
or vice versa. I.e. is it upward or downward compatible?
By integrating I mean mainly that usercheck and userpasswordcheck for the chat will be done using the ubb database.
Ideally, moderator and adminstrator status could translate also from ubb to the chat
The following for Who's Chatting is working for me in my Custom Island:
THANK YOU!!!!! If I integrate it for 7.2, will it work for the other version? 7.3.4
I'm still using 7.1 so I have no idea -- I'm waiting for 7.3 (final) to come out to test it... I sure hope so!
Please, for the love of god, start a feature request thread for phpopenchat vs spamming your want for it in other chat integration threads.
well I tried this with 7.2.2 & don't work
Fatal error: Call to a member function next() on a non-object in /home/boneyard/public_html/forum3/chat/inc/cmses/ubb71CMS.php on line 82
on line 82
has anyone worked on this for 7.2.2
I know everyone is waiting for 7.3
hold on works now
I reinstalled it
edit: works just fine with 7.2.2
no problems with install other then I reinstalled but I thing it was my fault as I skipped a step
FlashChat seems to still be working fine in Threads 7.3
I have been using Flash Chat successfully for quite a while, with one exception. I have a troll who keeps registering and re-registering, often multiple times in one day. I usually manage to spot him and boot him through the approval process, keeping him off the board.
Unfortunately, Flash Chat sees him as a member as soon as he registers, even though he is not approved, so he goes straight into chat.
Does anyone know a way around that?
I started a thread "over there," but I'm not sure of what to tell them...
http://forum.tufat.com/showthread.php?t=49698
It'd be a security issue within flashchat; it's not checking to see if a user has been approved or not...