Plus FAQ and Ciprian's answers:

1Q.
After installing, I get this error:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/troop100/public_html/phpmychat/config/config.lib.php on line 27
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/troop100/public_html/phpmychat/config/config.lib.php on line 146
Warning: Cannot modify header information - headers already sent by (output started at /home/troop100/public_html/phpmychat/config/config.lib.php:27) in /home/troop100/public_html/phpmychat/localization/languages.lib.php on line 70
Warning: require(./localization//localized.chat.php) [function.require]: failed to open stream: No such file or directory in /home/troop100/public_html/phpmychat/lib/index.lib.php on line 69
Fatal error: require() [function.require]: Failed opening required './localization//localized.chat.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/troop100/public_html/phpmychat/lib/index.lib.php on line 69
1A.
This error is related to misconfiguration of your sql data in config/config.lib.php.
Make sure the database and username have a prefix like yourcpanelusername_name.

1aQ.
After installing, I get one or more of these errors:
- I cannot login or register a new account;
- There is no error message returned;
- I cannot select a different language. Whatever I try, the page is in English;
- The font on the index page is with serifs, not the Arial or Verdana.
1aA.
This error is related to the restrictions of your php server (register_globals = off).
Check the settings using a phpinfo.php file and check if either safe_mode is on or register_globals is off. Disable first and enable the second one.

2Q.
How do I migrate my registered users from phpmychat standard c_reg_users table to Plus?
2A1.
The table name is the same. Just follow these steps:
1. Go to phpmyadmin and export your old c_reg_users table. Copy all the INSERT INTO lines to a text editor (I personally use UltraEdit32)
2. Add this code before this end of the line ); on each line containing user data:
, 1, '', '', '', '', '', '', './images/avatars/def_avatar.gif'
(including the leading comma and ending ')
As an example, a line for a registered user to migrate to Plus will look like this:
Before addition:
INSERT INTO `c_reg_users` VALUES ('blabla', '', '47e014ee34869ded7e5236541246319d', 'FirstName', 'LastName', 'WorldWideWeb', '', 'bla@...', '0', 'user', '', 1130763311, '80.96.72.233', '1');
(last '1' stands for gender of that user, so it might have '', '1' or '2' values)
After addition:
- for 1.90:
INSERT INTO `c_reg_users` VALUES ('blabla', '', '47e014ee34869ded7e5236541246319d', 'FirstName', 'LastName', 'WorldWideWeb', '', 'bla@...', '0', 'user', '', 1130763311, '80.96.72.233', '1', 1, '', '', '', '', '', '', './images/avatars/def_avatar.gif');
- for 1.92 (added two more empty fields at the beggining and at the end):
INSERT INTO `c_reg_users` VALUES ('', '', 'blabla', '', '47e014ee34869ded7e5236541246319d', 'FirstName', 'LastName', 'WorldWideWeb', '', 'bla@...', '0', 'user', '', 1130763311, '80.96.72.233', '1', 1, '', '', '', '', '', '', './images/avatars/def_avatar.gif', '', '', '', '', '');
For an upgrade from 1.90 to 1.92, only the first 2 <'', '',> and last 5 <, '', '', '', '', ''> should be added.
3. Then copy all your new reg lines into plus/installation/mysql.sql, in the according section of that file (there should be as many lines with INSERT INTO as your registered users number. If you migrate, you should delete the admin account line from mysql.sql, but let the plusbot account unaltered at this point!). It is also a good opportunity to promote your users to admin (just replace the value of desired user to be promoted, from 'moderator' or 'user' to 'admin')
4. Then follow the plus/docs/plus docs/Instructions.txt
2A2.
To migrate c_reg_users table from an older Plus version to the latest release of Plus, check the database/mysql_new_install.txt latest file and look for the c_reg_users structure. Then add at the end of each user line described above the number of <, ''> as how many new/extra fields are added at the end of the new table (use the avatar field for reference).

3Q.
The installation process is so complicated for me...
3A.
Well, my personal record time for a full installation including upload of the new files, migration of the old users to Plus, fully adding the bot and addition of all the extrasounds for /buzz command is 28 minutes (the time between the user contacted me on Yahoo Messenger and the moment I said "All done!"); this happened on a brand new site for me (I also had to ask for cpanel details and so on, so the effective time consumed for installation was like 20 minutes). If you don't believe me, ask kay_s_ok@yahoo.com. She will confirm this.
So it is not actually too complicated, but requires some knowledge of mysql and ftp. How could an website admin have no clue about this? That's his problem, I guess...

4Q.
I run phpMyChat-Plus and I set up to have only a single public room. But there are some (0) 's displayed on my rooms list in the chat. How can I remove them?
4A.
Hi Daenarys,
~~~~~~
// Proposed (default) rooms and reserved names for private rooms
define("ROOM1", $ROOM1);
define("ROOM2", $ROOM2);
define("ROOM3", $ROOM3);
define("ROOM4", $ROOM4);
define("ROOM5", $ROOM5);
define("ROOM6", $ROOM6);
define("ROOM7", $ROOM7);
define("ROOM8", $ROOM8);
define("ROOM9", $ROOM9);

$PUBLIC_ROOMS = $EN_ROOM1 ? ($RES_ROOM1 ? ROOM1." [R], " : ROOM1.", ") : "";
$PUBLIC_ROOMS .= $EN_ROOM2 ? ($RES_ROOM2 ? ROOM2." [R], " : ROOM2.", ") : "";
$PUBLIC_ROOMS .= $EN_ROOM3 ? ($RES_ROOM3 ? ROOM3." [R], " : ROOM3.", ") : "";
$PUBLIC_ROOMS .= $EN_ROOM4 ? ($RES_ROOM4 ? ROOM4." [R], " : ROOM4.", ") : "";
$PUBLIC_ROOMS .= $EN_ROOM5 ? ($RES_ROOM5 ? ROOM5." [R], " : ROOM5.", ") : "";
$PUBLIC_DISP_ROOMS = trim($PUBLIC_ROOMS,", ");
$PUBLIC_ROOMS = trim(str_replace(" [R]","",$PUBLIC_ROOMS),", ");
$PRIVATE_ROOMS = $EN_ROOM6 ? ROOM6.", " : "";
$PRIVATE_ROOMS .= $EN_ROOM7 ? ROOM7.", " : "";
$PRIVATE_ROOMS .= $EN_ROOM8 ? ROOM8.", " : "";
$PRIVATE_ROOMS .= $EN_ROOM9 ? ROOM9.", " : "";
$PRIVATE_ROOMS = trim($PRIVATE_ROOMS,", ");
$DefaultChatRooms = explode(", ", $PUBLIC_ROOMS);
if ($PUBLIC_DISP_ROOMS != $PUBLIC_ROOMS) $DefaultDispChatRooms = explode(", ", $PUBLIC_DISP_ROOMS);
if ($PRIVATE_ROOMS == "") $DefaultPrivateRooms = NULL;
else $DefaultPrivateRooms = explode(", ", $PRIVATE_ROOMS);
~~~~~~
As you can see, first 5 are public, last 4 are private.
As a fisrt step, if you don't use the default private rooms, you can make them all public like this:
~~~~~~
$PUBLIC_ROOMS = $EN_ROOM1 ? ($RES_ROOM1 ? ROOM1." [R], " : ROOM1.", ") : "";
$PUBLIC_ROOMS .= $EN_ROOM2 ? ($RES_ROOM2 ? ROOM2." [R], " : ROOM2.", ") : "";
$PUBLIC_ROOMS .= $EN_ROOM3 ? ($RES_ROOM3 ? ROOM3." [R], " : ROOM3.", ") : "";
$PUBLIC_ROOMS .= $EN_ROOM4 ? ($RES_ROOM4 ? ROOM4." [R], " : ROOM4.", ") : "";
$PUBLIC_ROOMS .= $EN_ROOM5 ? ($RES_ROOM5 ? ROOM5." [R], " : ROOM5.", ") : "";
$PUBLIC_ROOMS .= $EN_ROOM6 ? ($RES_ROOM6 ? ROOM6." [R], " : ROOM6.", ") : "";
$PUBLIC_ROOMS .= $EN_ROOM7 ? ($RES_ROOM7 ? ROOM7." [R], " : ROOM7.", ") : "";
$PUBLIC_ROOMS .= $EN_ROOM8 ? ($RES_ROOM8 ? ROOM8." [R], " : ROOM8.", ") : "";
$PUBLIC_ROOMS .= $EN_ROOM9 ? ($RES_ROOM9 ? ROOM9." [R], " : ROOM9.", ") : "";
$PUBLIC_DISP_ROOMS = trim($PUBLIC_ROOMS,", ");
$PUBLIC_ROOMS = trim(str_replace(" [R]","",$PUBLIC_ROOMS),", ");
$PRIVATE_ROOMS = "";
$PRIVATE_ROOMS = trim($PRIVATE_ROOMS,", ");
~~~~~~
This will not require you to make the according changes in the database and admin5.php (config sheet)
~~~~~~
If you need more public rooms, it's a bit more complicated:
1. add as many public rooms you wish in the config.lib.php, using the template above;
*Note: don't forget to add: define("ROOMxx", $ROOMxx);
2. go to phpmyadmin/chatdb/c_config table and add 3 new fields for each new room created:
ROOMxx + EN_ROOMxx + RES_ROOMxx
3. open admin/admin5.php, find the according sections by searching for each of ROOM1, EN_ROOM1 and RES_ROOM1 and add the needed extra rooms using the template in that file (as for room1 to room5).
If you need more assistance, please let me know.

5Q.
How do I avoid being booted from a chat after the time set for booting?
5A.
An admin and/or a moderator should never be booted. If that happens, it means your browser lost the connection with the server somehow.
For an user to stay logged even though he don't type for a while, he can go away using /away command (away users don't get booted)

6Q.
How can I totally disable the plusbot? I've already disabled it in the config menu but the name still appears in the chat room...
6A.
First - you need to go to Admin panel and re-enable it, then please go to the room he is in and use the command /bot stop.
Rule: Every time you want to change a settings related to the bot (disable, name of the bot, font, avatar, aso), you need to stop it first in the room/rooms he is eventually running!
Bot has admin permissions therefore, if you don't follow the rule or forget about it, you won't be able to change/kick/remove the old running bot user from chat. So be careful.
If you did it already, go back to Admin panel and rename it back to the old name, then stop it then change the settings at your will.
6aQ.
How do I make my bot talk only private?
6aA.
Enable/Disable public conversations in Admin panel.

7Q.
How can I change the size of the different frames of the room page? (i.e. size of banner.php, link.php, messages.php etc.)
7A.
All the sizes can be handled in lib/frameset_def.lib.php (not too much different from 0.14.5)
Basically:
a. the width of left and right sides is set by this line:
 <FRAMESET COLS="*,180" FRAMEBORDER="0" BORDER="0" FRAMESPACING="0">
(180 stands for the width of the right side frames, * means the first frame takes the difference to 100% - measured in number of colons)

b. the heights of the right side frames are set by this line for IE and Firefox:
  <FRAMESET ROWS="80,*,40" FRAMEBORDER="0" BORDER="0" FRAMESPACING="0">
or this line for the rest of the browsers (considered "of low capabilities "):
 <FRAMESET ROWS="80,*,50" BORDER=0>
(80 stands for exit frame, 40/50 stands for link frame and * for the users/rooms list - it represents the rest of the height of the page)

c. the height of the banner, messages and input frame requires more attention, as there are some conditions for the size to be displayed (if the bot is active or not - for the banner Bot tips row and, if the quick menu's are enabled or not - for the input Quick menu)
All these lines should be modified accordingly for IE and Firefox:
  <FRAMESET ROWS="38,*,60" FRAMEBORDER="0" BORDER="0" FRAMESPACING="0">
  <FRAMESET ROWS="25,*,60" FRAMEBORDER="0" BORDER="0" FRAMESPACING="0">
  <FRAMESET ROWS="38,*,35" FRAMEBORDER="0" BORDER="0" FRAMESPACING="0">
  <FRAMESET ROWS="25,*,35" FRAMEBORDER="0" BORDER="0" FRAMESPACING="0">
or this line for the rest of the browsers (considered "of low capabilities "):
  <FRAMESET ROWS="38,*,55"BORDER="0">
  <FRAMESET ROWS="25,*,55"BORDER="0">
  <FRAMESET ROWS="38,*,35" BORDER="0">
  <FRAMESET ROWS="25,*,35"BORDER="0">
Explanation: the left numbers stand for the banner frame size, right ones for the input frame size and * is the rest of the page for the messages frame.
As an example, if I want to increase the size of the input frame, I would change 35 to 45 in all four lines where 35 appears (45 will be the new size of the frame when there is no Quick menu to be shown - the commands in the Admin Panel are empty) and, change 60 to 70 and 55 to 65 in all the lines they appear (for the Quick menu to be shown if defined).
Please note that for this last c. instructions, you need to keep the proportions accordingly (I increased with 10 lines the input frame in all 8 lines, no matter the conditions)

8Q.
How do I change the name of the Rooms in my phpMyChat-Plus?
8A.
Only in Admin panel. Read it all to understand the power of the Configuration tab in the plus version...

9Q.
Whats happen here? On mozilla it's alright but not at the IE!
Warning: main(): Unable to access
./localization/ Deutsch/localize d.chat.php in
/home/www/web2/ html/plus/ lib/index. lib.php on line 69
Warning: main(./localization /Deutsch/ localized. chat.php) : failed to
open stream: No such file or directory in
/home/www/web2/ html/plus/ lib/index. lib.php on line 69
Fatal error: main(): Failed opening required
'./localization/ Deutsch/localize d.chat.php' (include_path= '.') in
/home/www/web2/ html/plus/ lib/index. lib.php on line 69
9A.
That's because the Deutsch language isn't installed. It really shouldn't happen. I'll check on that for the next version...
The reason is: you have to delete the chat cookie after upgrade (clean the cookies). So tell that your users.
Quick solution: type in the address bar this url: http://yourwebsite/plus/index.php?L=english (for the first time only)

10Q.
I cannot make any changes in the admin panel. It says it was successfully updated, but when I check back, nothing changed.
10A.
a. A reason could be if you use the ' character in a field, without commenting it out with a backslash \.
Example:
If a room name is called Men's Room, you have to comment it out with \' like this: Men\'s Room.
But I strongly recommend you avoid ussage of the ' (use ' instead) or \ chars in your chat setting values.
b. There is something wrong in your database (c_config table) like the order of the fields or types/sizes of them.
c. You're using a wrong config/config.lib.php file or admin/admin5.php one - if you upgraded (make sure you replaced the old one with the new released one)

11Q.
I use IE7 and Firefox 2.0 and I cannot see the messages in the status bar (Server time and such)
11A.
Yes, I noticed that as well. To see them just fine, I had to add my chat site to "Trusted sites" list in Tools/Internet Options/Security tab in IE;
Firefox 2.0 uses the latest Internet Explorer engine lately so it has to have such a setting somewhere, but I couldn't find it.

12Q.
I want to log in in multiple windows with different usernames - what is the best way to do it?
12A.
The best practice is to use a different type of browser for each user, otherwise, the cookie handling will expose your chat to security breaches
(like turning a private room into public), as well as malfunctions on your side.
I recommend IE7 + Firefox / Netscape / Opera / Chrome

13Q.
One problem that I see is that there are no ways when I change a rooms Name that it keeps that Name, it always go back to the default as Public, etc.
13A.
That happens because the cookies stored on each client computer contain the last room name they were logged off from.
Therefore, after changing the default room names, you'll have to clean up the cookies, before loading the login page again.
Also, as administrator in Admin panel, check if the old room name (Public Room 1 and so on) are still shown in the Clear Rooms tab.
If so, they will be cleaned up as the messages of that room go in the archive. If not, just use the clean function on that page - that way,
the old room names won't be shown in the "User created public rooms list" in the login page - the 2nd dropdown/box list.
But remember, any other client who don't clean up his cookies, will have set as default the previous name. For a better fix,
you should set your chat to version 0 - Only default room - in Configuration tab. Do that for a few days, while most of your clients (ideally - all)
will login at least once into the new default public room as you wished to be named.
Then change it back to 1 or 2, as you wish your chat to run.

14Q.
Now, when clicking on the Administration link I get the log-in page with the following error warnings:
Warning: session_start() [function.session-start]: open(/tmp/sess_9d9at3sbphsje5khququj6vrs5, O_RDWR) failed: No space left on device (28) in /www/[my domain]/web/milchat/lib/login.lib.php on line 4
[login box]
Warning: Unknown: open(/tmp/sess_9d9at3sbphsje5khququj6vrs5, O_RDWR) failed: No space left on device (28) in Unknown on line 0
Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0
If I try to log in regardless of this warning, I then get the same error warnings on a blank page, but no access to the admin panel.
14A.
The appropriate "Temporary Internet Files"/"Browser Cache" storage got full on your pc. Either clear browser's cache or increase that allotted space. Also clear the cookies.

15Q.
I can't kill the bot, and he won't answer me. I can start the bot in other rooms and he works. I just can't get him out of the room he's stuck in.
15A.
First, you can't kill the bot coz it was already dead. Gost hunting? lol
The bot issue was cauzed by either:
- changing it's name while running - read the Admin panel red notes before applying changes...
- removing the start roomname.txt file from botfb file - that's actually the bot running control - database is just for displaying it among users in chat only.
Now, to get rid of a dead bot in chat, you have to follow 2 steps:
1. go to phpmyadmin/c_users table and delete the row holding the undesirable bot as username (that should be the previous/old name of your bot, or, easier, the name he is in the room) (Caution: also match the room bot is dead in, if there are bots running in more rooms)
2. do the same with ftp, in plus/botfb/roomname.txt , where roomname is the name of the room the bot is dead in.

16Q.
How do I add my own expressions in chat. Like "administrator" to be called "master", "moderator" to be called "operator" and so on?
16A.
There is a folder called plus/localization/_owner which contains the file owner.php (starting with 1.91-beta5 only). Open that file and also open the specific language file you want to modify.
Search for the expression you want to modify. In this example, the lines would be:
define("L_WHOIS_ADMIN", "Administrator");
define("L_WHOIS_MODER", "Moderator");
Paste the lines in the plus/localization/_owner/owner.php file and change them to:
define("L_WHOIS_ADMIN", "Master");
define("L_WHOIS_MODER", "Operator");
Save the file and upload it to ftp. That's all!
Important: never change directly the files provided in localization/"language"/ folders - if you do so, you will fail to upgrade your chat in the future without loosing your personalizations.
Note: You can do the same with expressions from localized.admin.php and localized.tutorial.php - all should be redefined only in plus/localization/_owner/owner.php. 
Note2: The new expressions will be shown regardless the language selected by user (Turkish users won't see "Yonetici" anymore but "Master")

17Q.
As soon as the install is over it will not load phpMyChat.  I get the following error:
Internal Server Error (500)
The server encountered an internal error or misconfiguration and was unable to complete your request.
Optional:
When I look at my error log I see the following message:
[25-Nov-2007 06:42:08] PHP Warning:  Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
17A1.
Check if the permissions of your "plus" (chat name) and "config" folders are 777. If so, change them to 755 (chmod). Sometimes, due to different servers configuration, they remain 777 after the installing process.
Reply: As soon as I changed the permission of the plus folder (chat folder in my case) it worked.
17A2.
As of php 5.3 version and up, some of the included .htaccess directives might be restricted on the server, returning this 500 error. Delete the existing .htaccess, look in the same root directory of your chat for the file called .htaccess500 and rename it to .htaccess.
This should fix it.
IMPORTANT: I strongly recommend not to let your chat main folder without a .htaccess file, as it protects the config and other sensitive data!

18Q.
My /img command doesn't seem to work - it returns no error, but it also doesn't return any image.
18A.
This happens on php servers which have the getimagesize() function disabled. Please contact your hosting or enable that function.
Update: this has been fixed as of 1.93

19Q.
a. How can I backup my database/files?
b. What is admin/backup folder stands there for?
19A.
Well, in that directory (admin/backup CHMODED to 777) one could choose to save a weekly backup of the chat files and database. But for that, Cpanel access is needed.
I setup 3 separate cron jobs to backup my chat so here is what I use (don't use the square brackets []):
a. Every Monday at 0 midnight, the script search and deletes all the 6 days older files into the backup folder (except for the index.html file)
 0 0 * * 1 [find /home/cpanelname/public_html/chatdirectory/admin/backups -maxdepth 1 -type f -mtime +6 -not -name "index*" -exec rm -f {} \;]
b. After 2 minutes, the script creates a tar .tgz archive with all the files in the chat directory and put it into the backup folder
 2 0 * * 1 date=`date -I` ; tar -zcf ./public_html/chatdirectory/admin/backups/file_backup_$date.tgz ./public_html/chatdirectory/;
c. After 8 minutes (enough time for the previous 2 scripts to finish the jobs), the script creates a gzip .gz archive with all the database structure and data and put it into the backup folder
10 0 * * 1 date=`date -I` ; mysqldump -udb_username -pdb_password db_name | gzip > /home/cpanelname/public_html/chatdirectory/admin/backups/db_backup_$date.sql.gz;
Whenever I need to restore something in my chat, I just use these files (they are only 6 days older).
To use the cron jobs I sampled, don't forget to replace "cpanelname", "chatdirectory", "db_username", "db_password" and "db_name"with your according data.
You should be done!

20Q.
After uploading the chat content and trying a first run, I get a "500 Internal server error encountered" message.
20A.
This happens on php servers which have the .htaccess files disabled. Delete the .htaccess file from the main directory. Also read the 17A2 above.

21Q.
I'm on a shared server and I cannot login by ftp in the first page of the installer wizard.
22A.
If your ftp username looks like an email address, try with an empty/null "FTP root path (relative)". It worked for me on the Lunarpages servers (shared).

22Q.
I'm getting all kind of strange mysql errors, especially:
MySQL error: 1366 (Incorrect integer value: '' for column 'latin1' at row 1)
Session halted.
22A.
Sounds like you are running MySQL 5.0 with SQL strict mode enabled.
To disable strict mode open your my.cnf (or my.ini) in an editor and remove/comment out the following line:
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
Then restart the database server.

23Q.
I try to login in a room, I get to see the room for a second then I'm thrown out immediately. I see no error returned, not on the login page nor in my server logs.
23A.
This bug was there since users started using IPv6, which has more than 16 characters (the IPv4 standard). That IPv6 value was getting trimmed when saved in the database, so when the login script was cross-checking the real ip with the saved one, the values couldn't match. To fix it, you need to change all 4 ip fields in your mysql database tables c_ban_users, c_lurking, c_reg_users and c_users to varchar(30). This was fixed starting with 1.94-RC4 version, so you might consider an upgrade.

More to come...