Extension:Chat

What can this extension do?

 * Adds a Chat tab to every wiki Article that switches to an embedded chatroom with the same name as the article title. It can be configured to have only one chatroom for all articles, rather than one chatroom per article (the default).


 * Uses PhpFreeChat.


 * Storage is just to the filesystem at the moment.


 * Come to WikiChat.org for a demo or if you would like to contribute.

If you have different requirements for embedded chat on your wiki, you might like to consider Extension:Chat/Lace

Usage
Once the extension is installed, a 'chat' tab will appear on every article. Clicking on the chat tab will switch to an embedded chatroom for the article.

Installation
Just five easy steps:-
 * 1. Download PhpFreeChat 1.2 and follow the installation instructions to install it into your wiki somewhere. I have mine under /wiki/phpfreechat. (NOTE: You MUST download exactly phpfreechat 1.2)


 * 2. Copy the WikiChat.php code into the extensions directory.


 * 3. Modify the paths at the top of WikiChat.php to point to your PhpFreeChat installation:-

require_once "$IP/phpfreechat/src/pfcglobalconfig.class.php"; require_once "$IP/phpfreechat/src/phpfreechat.class.php";


 * 4. Add this line to the end of LocalSettings.php:-


 * 5. You might need to change the access permissions on some of the directories...

phpfreechat-x.x/data/private directories.
 * 1) Give the web server write rights to phpfreechat-x.x/data/public and

If you are using FTP:

CHMOD 777 phpfreechat-x.x/data/private

CHMOD 777 phpfreechat-x.x/data/public

If you are using SSH:

chmod 777 phpfreechat-x.x/data/*

Tip: On the lastest version 1.x maybe it will not work and it will show you "Error: the chat cannot be loaded!...", then try with 755 rights.

Its probably more sensible to use 755 than 777.

The chat function should be working now. Please report any issues to Firebreather or add them to the discussion for this extension.

Optional Parameters
Most of the optional parameters are in WikiChat.php. They are parameters to PhpFreeChat. You need to refer to the PhpFreeChat documentation for information about how to change them.

Disabling Anonymous Access
Anonymous users are allowed access to the chatroom by default and assume the nickname 'Guest'

If you would like to deny access to anonymous users follow these 2 steps:-


 * 1. set the variable $wgAllowAnonUsers from true to false


 * 2. change the $wgDenyAccessMessage if you so desire

Making all tabs point to one chatroom
The default setting is to open a new chatroom tab for each article, with the name of the article as the title of the chatroom. This is set by the following line in WikiChat.php

$params["channels"] = array($wgTitle->getPrefixedText);

If you would like to have all articles share one room then you need to change that line to something similar to:-

$params["channels"] = array("MyChatRoom");

All articles will now put users entering through the chat tab, into the chatroom named MyChatRoom.

ChangeLog
0.3.0, 2010-01-20
 * updated the code to work with PhpFreeChat 1.2 and fixed the issue where "Chat loading" is displayed but the chat never finishes loading.

0.2.2, 2007-07-25
 * changed the default setting for the "timeout" parameter to increase the amount time before a user is disconnected. The default setting is ridiculously low.

0.2.1, 2007-07-03
 * highly recommended for sites using earlier versions of this extension to upgrade WikiChat.php to 0.2.1 (current version) and phpfreechat to 1.0.beta11
 * upgraded WikiChat.php to be compatible with phpfreechat-1.0-beta11. It now won't work with earlier versions of phpfreechat. Phpfreechat-1.0-beta11 has lots of bug fixes and is more stable with Internet Explorer. If you were having problems with IE or other connectivity issues, this release should fix them.

0.2, 2007-06-06
 * fixed the html and page title so they are now there
 * added an option to disable anonymous user access and display a wikitext message instead
 * added a small message at the bottom to 'type /help for a list of all commands'

0.11
 * fixed two bugs that could blow up Special:Version page

0.1
 * first release

Source code
Save WikiChat.php in the "extensions" directory.