Hey Firebreather: Great extension! Exactly what I wanted. Thanks! There's a small problem though. The channel name should be different for each page, right? Well for some reason the channel name for the very first page that I had used to fire this baby up is what is being used for every single chat session that is launched - no matter what page it is being launched from. Any thoughts on why that might be happening? - Thisislobo, Oct 21, 7:44 PM GMT

Update: This 'bug' is on wikichat.org also - so it's not just in my Dev environment. I've been trying to do some debugging and it looks like the way PHPFreeChat handles sessions is causing this issue. I'm trying to fix it. Will let you know if I find a fix. - Thisislobo, Oct 21, 22.20 GMT

Update 2: I have spent all weekend on this and no fix in sight. Have asked the PFC guys for support. http://www.phpfreechat.net/forum/viewtopic.php?pid=7552#p7552. - Thisislobo, Oct 22, 20.30 GMT

Update 3: Finally got it working with a hack. Still not perfect but this is the best that I could do. The fixes are:

  • To solve the cache problem: PFC code needs to be hacked. In pfcGlobalConfig.class.php, modify the function synchronizeWithCache(). Old code:
 foreach($pfc_conf as $key => $val)
       // the dynamics parameters must not be cached
       if (!in_array($key,$this->_dyn_params))
         $this->$key = $val; 

New code

 global $wgTitle;
 foreach($pfc_conf as $key => $val)
     {
     	if($key=='server_script_url')
     		$val = './index.php?title='.$wgTitle->getPartialURL().'&action=chat';
     	// the dynamics parameters must not be cached
       if (!in_array($key,$this->_dyn_params))
         $this->$key = $val;
     }
  • This still leaves us with the session problem. So we have to modify WikiChat. Add this code right before all the params are set:
 $script = "<script type= \"text/javascript\">
 function myfunc() {
 pfc.sendRequest('/quit');    						
 if( window.XTRonunload ) { window.XTRonunload(); }
 }
 if( window.addEventListener ) {
 window.addEventListener( 'unload', myfunc, false );
 } else if( document.addEventListener ) {
 document.addEventListener( 'unload', myfunc, false );
 } else if( window.attachEvent ) {
 window.attachEvent( 'onunload', myfunc );
 } else {
 if( window.onunload ) { window.XTRonunload = window.onunload; }
 window.onunload = myfunc;
 }
 </script>";
 $wgOut->addScript($script);

--24.16.242.61 05:23, 23 October 2007 (UTC)Reply


  • Cool! But it doesn't work for me. Can you post the two edited files so I can compare. I have the same problem...

--Mjkellerii 22:47, 28 November 2007 (UTC)Reply


We may want to combine our efforts. I've been working with phpfreechat as well.
--Ryan lane 01:37, 29 March 2007 (UTC)Reply

Definitely would like to do so. We are using phpfreechat for now, but I'm not sure its going to be suitable for the full scope of what we WikiChat want to build. Its a great start though. What have you done with it so far? --Firebreather 23:19, 31 March 2007 (UTC)Reply

Wikichat edit

Hi Firebreather It's was me that tried to chat with you on wikichat, but no problem let me waiting. I just would like to say that chat extension is a great idea. i wrote something on chat extension discusion http://www.mediawiki.org/wiki/Extension_talk:Chat

  • I would like to know for now what can be done with chat extension and can't be done and what is in your todo list. I think that mediawiki could have an extension to show google maps using openlayers.org

that when the user register he could add with a placemark where he lives. So when this user be chatting on wikichat, above the chat have an option to show map and show where people that is online are located, on Map. I still didn't installed the extension on my wiki, but with some days i'll install it. Just to know: where is being recorded the chat log? what size of logs is possible to store? Is it possible to install the extension on different languages? Lleoliveirabr 02:22, 1 April 2007 (UTC)Reply

Hi Lleoliveirabr, great to hear from you and get your comments. Sorry I didn't catch you on the chat at WikiChat, I was away from my computer at the time. The next feature I am looking at developing is a dynamic show who's online banner. The banner I have on the site currently only updates when you refresh the page. It would be much better if the banner updated whenever a user entered or left the chat room. Also, the chat should show users who are idle (away from their computer for an extended period, like I was). I have had alot of feature requests and unfortunately I am a bit too busy at the moment to work on WikiChat. However, I plan to compile a list of features sometime in the next couple of days and put them here: http://www.wikichat.org/NewFeaturesList. I like your idea regarding google maps and will look into that further when I have time. I have plans to allow users to send chat messages that link or launch into other applications or show images and so on. Hope to see you in-chat sometime :) --Firebreather 01:43, 2 April 2007 (UTC)Reply

Chat (Lace) edit

Hi, great work!!! I've tested the Chat (Lace) on my Wiki. My Version is 1.11.0 and it's running. Very, very great work!

--ChrBeck 11:53, 3 January 2008 (UTC)Reply

Hi, I'm following the instructions but I am not getting any results. I get a "Gone Away" message where I enclose the lace tags in an article. My MediaWiki resides in /var/lib/mediawiki1.7 while the site itself resides in /var/www/wiki, where should I be putting stuff here?

What the scoop on the chatlog extension? edit

Hi Firebreather. I'm setting up at wiki over at http://www.mavericks2252.net/2009 and I have implemented the WikiChat extension. We like it very much. Thanks.

I took a look at the version page on you site at:

http://www.wikichat.org/Special:Version

and I noticed your extension "ChatHistory (version 0.1 alpha, 2007-07-15)"

which is demoed (presumably) at:

http://www.wikichat.org/wiki/index.php?title=Main_Page&action=chathistory

Where can I get this extension?

Thanks! in advance.

Wikichat.org down, any way to get extension:chat code? edit

Hey - am really excited to try out extension:chat on wikidoc.org -- only, I can't seem to find the most current version of the code since wikichat.org is down. Any chance you could paste it here?? --97.171.18.185 22:20, 22 February 2009 (UTC)Reply

WikiChat Parameters not updating edit

Hi Firebreather. I posted a problem I am having with the optional parameters onto the wikichat extensions's discussion page and have not heard back yet. Will you look at this when you get a chance? Thanks, Steven

errors... edit

got some problems with wikichat...: MediaWiki internal error.

Original exception: exception 'MWException' with message 'Detected bug in an extension! Hook WikiChat::onSkinTemplateTabs failed to return a value; should return true to continue hook processing or false to abort.' in (root)\mediawiki\includes\Hooks.php:155 Stack trace:

  1. 0 (root)\mediawiki\includes\SkinTemplate.php(863): wfRunHooks('SkinTemplateTab...', Array)
  2. 1 (root)\mediawiki\includes\SkinTemplate.php(490): SkinTemplate->buildContentActionUrls()
  3. 2 (root)\mediawiki\includes\OutputPage.php(1572): SkinTemplate->outputPage(Object(OutputPage))
  4. 3 (root)\mediawiki\includes\Wiki.php(376): OutputPage->output()
  5. 4 (root)\mediawiki\index.php(118): MediaWiki->finalCleanup(Array, Object(OutputPage))
  6. 5 {main}

Exception caught inside exception handler: exception 'MWException' with message 'Detected bug in an extension! Hook WikiChat(::]onSkinTemplateTabs failed to return a value; should return true to continue hook processing or false to abort.' in (root)\mediawiki\includes\Hooks.php:155 Stack trace:

  1. 0 (root)\mediawiki\includes\SkinTemplate.php(863): wfRunHooks('SkinTemplateTab...', Array)
  2. 1 (root)\mediawiki\includes\SkinTemplate.php(490): SkinTemplate->buildContentActionUrls()
  3. 2 (root)\mediawiki\includes\OutputPage.php(1572): SkinTemplate->outputPage(Object(OutputPage))
  4. 3 (root)\mediawiki\includes\Exception.php(164): OutputPage->output()
  5. 4 (root)\mediawiki\includes\Exception.php(191): MWException->reportHTML()
  6. 5 (root)\mediawiki\includes\Exception.php(289): MWException->report()
  7. 6 (root)\mediawiki\includes\Exception.php(348): wfReportException(Object(MWException))
  8. 7 [internal function]: wfExceptionHandler(Object(MWException))
  9. 8 {main}

replaced the place where my wiki is installed with (root), anyone knows?? message me

thanks, Flipp0