phpFreeChat module
==============================================

Version 7.x-1.0-rc2
-------------------
Blocks now display, but still don't show who is in the chatrooms (which is mysterious since the exact same phpFreeChat calls are used to get the list of chat users in the Drupal 6 module, and it works perfectly).

Custom (per-node) chatbox titles and channel names are now correctly saved in the phpFreeChat database, the node object, and the parameter array that is passed to phpFreeChat, but sadly are not used when the chatbox is displayed (though it works perfectly in the Drupal 6 module). The global settings are displayed, regardless of per-node settings.

A variety of small bugs were fixed, commenting improved, and error checks added.

You can try out chatbox live on a Drupal 7 site here: http://drup7.permutations.com


Version 7.x-1.0-rc1
-------------------
Version 6.x-1.x of the module has been updated to work with Drupal 7.x. This is a direct port, and fully functional except for two minor items that never worked in any prior versions until last week, when I got them working in 6.x-1.2:

TODO: 
* The blocks are listed and can be configured, but don't display.
* The custom per-node options don't work when creating a chatbox (you get the defaults you previously set up).

You can try out chatbox live on a Drupal 7 site here: http://drup7.permutations.com

Version 6.x-1.6
---------------
Some obscure bugs fixed, code comments clarified, and error checks added.

You can try out the chatbox live on a Drupal 6 site here: http://permutations.com/drup/

Version 6.x-1.5
---------------
When the user logs out of Drupal, s/he also is logged out of phpFreeChat (a phpFreeChat /quit command is issued programmatically when the Drupal logout event occurs).

You can try out the chatbox live on a Drupal 6 site here: http://permutations.com/drup/


Version 6.x-1.4
---------------
Packaging errors - wrong files in 6.x-1.2 and 6.x-1.3 releases.


Version 6.x-1.2
---------------
Removed t() functions from phpfreechat.install to comply with later versions of Drupal 6.x (tested on Drupal 6.34).

Minor change in phpfreechat.inc and parameters.txt for compatibility with phpFreeChat 1.7 (prior version had been tested with phpFreeChat 1.2).

Updated the INSTALL.txt instructions to clarify and update some details.

Reformatted all files to comply with Drupal formatting standards.

Chatbox options were not displaying on the "Add content" form when they should have been. Now they are.

The block options were not previously working. Now they are. You can configure blocks showing who is chatting across all rooms, or in up to two specific rooms (configurable).

TODO: When the user logs out of Drupal, also log out of phpFreeChat (issue a /quit command programmatically).

You can try out the chatbox live here: http://permutations.com/drup/


Version 6.x-1.1
---------------
Same as 6.x-1.0 - the files were uploaded incorrectly and the system bumped the version number when the package was re-uploaded.


Version 6.x-1.0
---------------
The module has been updated to work with Drupal 6.x (tested on Drupal 6.9). There have been no functional changes.


Version 5.x-1.3
---------------
Admin panel settings stored internally as arrays did not work before. Now they do, with the exception of Proxies Cfg (a multidimensional array). The additional settings that now work are: 

  nickmeta
  nickmeta_private
  nickmeta_key_to_hide
  admins
  frozen_channels
  privmsg
  refresh_delay_steps
  skip_proxies
  post_proxies
  pre_proxies
  bbcode_colorlist
  nickname_colorlist
  dyn_params 
  
Probably you won't use most of these, but one in particular is handy. If you are having problems with too-aggressive noflood settings (the noflood feature was added in phpFreeChat 1.2), you can use skip_proxies to disable it. Just enter "noflood" in the admin panel skip_proxies box. If you want to also disable, for example, the feature that censors bad language, enter "censor,noflood" (no quotes). For all array fields, separate values with commas.

The other change in this version is important, but invisible. The module was saving a huge amount of user settings unnecessarily, resulting in gigantic queries that could bring down a shared server. This has been fixed.


Version 5.x-1.2
---------------
Module works with phpFreeChat 1.2.

Negative number problem is now fixed within the Drupal module code so nothing has to be changed in phpFreeChat. (phpFreeChat 1.2 uses the correct time-out value of 35000.)

Code is formatted to according to Drupal conventions (except for the phpFreeChat customization files, which use phpFreeChat conventions).

The phpFreeChat customization files provide some additional features:

- Clicking on a username in the list opens a box with a link to that person's Drupal profile.

- There is a new "away" command that lets users indicate when they are not at their computer. This can be implemented with the new "door" button that opens and closes to indicate status, or by typing /away on the command line. When the user is away, the string "(away)" appears after the username, and a message is displayed in the chat box. Another message is displayed when the user returns. This is a toggle, so just click again or type the command again to turn the away status on or off. There is sometimes a slight delay between when the command is executed and when it's implemented. This is due to coding within phpFreeChat itself, so it's not something that can be fixed.


Version 5.x-1.1b
----------------
I backed out setting the default timeout to 35000 in the module. It's not working because the "negative number" error is still happening after clearing the cache (/rehash). The timeout needs to be changed to avoid disconnects (only for phpFreeChat 1.1), and the easiest way to do this is to change it directly in pfcglobalconfig.class.php. phpFreeChat has an integer check in there, and Drupal's form API doesn't have an integer type. I tried to identify the integer strings and change them and it worked in a test file, but not in the module.

pfcglobalconfig.class.php is in the phpFreeChat src directory (it's not a module file). 

To change the default timeout, find this variable assignment and change the 20000 to 35000:

    var $timeout = 35000;

To get rid of the negative number error, comment out this code in pfcglobalconfig.class.php:

/* 
    $numerical_positive_params = $this->_params_type["positivenumeric"];
    foreach( $numerical_positive_params as $npp )
    {
      if (!is_int($this->$npp) || $this->$npp < 0)
        $this->errors[] = _pfc("'%s' parameter must be a positive number", $npp);
    }
*/ 


Version 5.x-1.1a
----------------
Two addition bug fixes have been added:

Bug in clearing the cache that caused phpFreeChat to periodically hang:
http://drupal.org/node/242000

Bug that caused a "negative number" error when numeric parameters are changed:
http://drupal.org/node/255702


Version 5.x-1.1
---------------
This version contains these fixes (updated from http://drupal.org/node/171169):

Database bug (required for blocks bug fix):
http://drupal.org/node/250069

Blocks bug:
http://drupal.org/node/200962

Scrolling bug in IE 7 (this is a description of theme requirements - not code):
http://drupal.org/node/225162

Rooms and other default settings bug:
http://drupal.org/node/187468

Update for phpFreeChat 1.1:

- Admin form now includes all phpFreeChat 1.1 parameters, and all outdated 1.0 parameters were removed. I added all the 1.1 parameters without evaluating how useful they were in the Drupal context. You could easily crash the chat with the wrong changes, but that was true with the original module code, too.

- The parameters update involved replacing the _phpfreechat_settings() function in phpfreechat.inc (I used generate-form.php with some changes, for this), and updating the phpfreechat_uninstall() function in phpfreechat.install. I changed how the uninstall function worked so that all the phpFreeChat variables were deleted (previously some were left).

Reporting Bugs
--------------
Please add all bugs to the projects issue queue. With your bug report please include your server and client OS/version, your browser type and version, your module version, and your phpFreeChat version, together with the output of 'Debug Parameters'.

Module maintainer: permutations
Contact: http://drupal.org/user/35498/contact
