Elgg Bottom Bar v0.8 alpha

Release Notes

Note: This plugin is still in alpha stage, and most likely has quite a few bugs in it .. you have been warned! ;)

** Updated chat version - very alpha release for those interested in helping bug test **

** First release using MySQL via ELGG objects - should solve the SQLite issue **

Welcome to my first attempt at a plugin!

The bottom_bar plugin adds a fixed bar at the bottom of the browser with an auto updating notification and friends list.

The notification button will show red when there are new notices to be seen. When the button is clicked, the notice is cleared ready for the next update. The friends list auto updates with a list of online friends.

As of v0.2, basic chat has been added to the system, including persistant windows between page loads, chat history, sound notifications and smiley and url translation. There are now some settings for both admin and user to enable/disable chat and a few other bits.

I have tested this with Internet Explorer 7, Google Chrome 2.0 and Firefox 3.0 & 3.5, and as far as I can tell it works ok. If anyone can test against other browsers/OS I would appreciated it. Also, please let me know if you come across another plugin that this conflicts with.

Known Bugs:

  • Chrome doesn't cache the sound files for some reason, so can block for a second or two when a notification sound is triggered.
  • Message delivery speed is not always consistant, but that might be due to my sandbox server ;)


Some screenshots ...






(yes I know the notification area is showing the same as the main page .. it was kind of the point to show the notifications were in sync ;) )

All constructive comments welcomed.


Like this code? Consider a donation ;)



  • Can you recommend a good web-radio to stream from? I really like the idea of a radio on there but I don't know where to find one.

  • @RPicard - there is a URL in the INSTALL file in the bottom_bar folder which will work - but there are loads around depending on what you want. Check out www.di.fm, www.977music.com or any of those style stations

  • Thanks, I'll test it out now.

  • Okay, I had this problem with hosting my own MP3 and using the stream in the file now. Basically it will stop playing a) if I go to a new tab b) if I go to a different page in my site c) after about 10-15 seconds even if I don't click anything. It's definitely something I'd like to see in the 1.0 release and hopefully even in the next.

  • I to seem to be having a few issues,

    I have enabled on my CentOS 5.4 both PDO and PDO_SQLite


    PECL Module version 1.0.1 $Id: pdo_sqlite.c,v 2006/01/01 12:50:12 sniper Exp $
    SQLite Library 3.3.6

    I understand this is different to the standard sqlite extention in php. Chat is using ELGG Obj instead.

    We get the active friends list fine and the user can open a chat window and appear to send text but the end user never gets a bleep that a chat has happened or that text was sent.

    What would be a good next step in determining the problem?

    We also tried testing the radio feature(Nice Idea) and wanted to add a basic radio stream to it.

    We tried 3 URLS:



    But could not get any streaming to play,  any thoughts? Are we using the wrong format?

    By the way http://www.openradiodirectory.org/ is a great directory for internet radio stations

  • Hello Mad Professor,

    Have you taken a look at the Jabber chat beta ? Instant Messaging via Jabber (0.1 Beta)

    Seems to me that >70% of the users have very limited server/hosting resources, and this plugin, although very nice, requires a lot of horsepower, i'm trying to see workarounds for that.

    In my case, i have 300MB Virtual Private server, but when installing this plugin, usage doubles, goes to 600, 700. That's just way too much $$ for having a chat.

    Uddhava dasa

  • @Cubert - I am not using the PDO librarys for SQLite, as I wanted to retain SQLite2 compatibility.  Have a look for the php_sqlite extensions in your distribution (sorry, not familiar with CentOS).

    As for the streams, you need the actual URL behind the playlists that you have listed - if you open one of them in Winamp and hit Alt-3 it will show you the url that it is streaming from - try that in the settings. (e.g. http://dir.xiph.org/listen/13732341/listen.m3u resolves to http://glb-stream11.streaming.init7.net:80/1/rsc_de/mp3_128 for the actual stream)


    @Uddhava - I did consider XMPP, however this would mean that people would have to have access to a jabber/XMPP server, which adds another layer of complexity, rather than it "just working" (TM). Also, regardless of the backend service, the load on the server would stay the same as you still need to get the information out some way, which invariably means polling the web server. XMPP would also need additional classes, increasing the processing load on the server.

    As for the usage, I really hate to repeat myself, but please remember - This is alpha software - this is not designed for a production system, but purely for people to help me test and bug fix. There is no code optimization yet. There is no streamlining, and more importantly there are still quite a few bugs to fix. As and when I am happy with the functionality (i.e. that the chat is working, albeit slow and laggy), then I will move to the beta phase where the code optimization will be added, and peformance will be addressed.

    Sorry for the bold text, but I am getting a little bored of constantly repeating myself over this. Consider this "proof of concept" at the moment, and not a stable, end user product.

  • Thanks : The Mad Professor

    That worked well for the sound although I can confirm it does not remain active during page switches..

    And as for CentOS 5.4, I find that a simple cmd should do the trick since the sqlite libs are installed

    "pecl install sqlite"

    but as with my luck..

    I get just at the tail end of compile

     gcc -I/tmp/tmpZG6H8M/SQLite-1.0.3/libsqlite/src -I. -I/tmp/tmpZG6H8M/SQLite-1.0.3 -DPHP_ATOM_INC -I/var/tmp/pear-build-root/SQLite-1.0.3/include -I/var/tmp/pear-build-root/SQLite-1.0.3/main -I/tmp/tmpZG6H8M/SQLite-1.0.3 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -DHAVE_CONFIG_H -g -O2 -c /tmp/tmpZG6H8M/SQLite-1.0.3/sqlite.c  -fPIC -DPIC -o .libs/sqlite.o
    /tmp/tmpZG6H8M/SQLite-1.0.3/sqlite.c:56: error: 'BYREF_NONE' undeclared here (not in a function)
    /tmp/tmpZG6H8M/SQLite-1.0.3/sqlite.c:56: error: 'BYREF_FORCE' undeclared here (not in a function)
    /tmp/tmpZG6H8M/SQLite-1.0.3/sqlite.c:125: warning: initialization from incompatible pointer type
    /tmp/tmpZG6H8M/SQLite-1.0.3/sqlite.c:126: warning: initialization from incompatible pointer type
    make: *** [sqlite.lo] Error 1
    ERROR: `make' failed

  • Hmm ... is there a "php_sqlite" module you can install?

    As for the radio, yes - i'll be looking into that. Not sure if I can get it to persist across page changes, and I might yet have to remove the function.

  • Hopefully you can get it worked out but if not I'm sure there would be an alternative.

  • It's very good but where is any problem with IE 6. The bottom bar becames top bar... (excuse for my english).


  • @TMP

    I installed the plugin and enabled it but there is no bar at the bottom. Did I miss a step? Im new at this. Is there more I need to do for it to communicate with the MySQL database? (I have a seperate server that runs the database) Is there additional configuration needed for this setup?


  • Just a recommendation, the user should be able to configure the bottom bar notifications to only alert when they have a new "mine", versus "all". Also, maybe the ability to remove the "all" from the notification area altogether.

    Thanks for the great plugin!

  • Bug Feedback:

    When having two chat sessions going for a few minutes, the chat stopped working. When I tried to navigate to another page within the site, I received a  400 Bad Request Error. "Size of a request header field exceeds server limit." I had to clear the cache to get the site back.

    I have a screenshot of the error page, if that would help let me know.



  • Is there any easy way to add a online / offline button on the bar?  It is kind of hard for people to find the shut off under settings.  It is working good for me but have not had muti chats at the same time yet.

  • Could you tell me which folder and what I need to remove to lose the notification area on the chat bar?

  • @CKY092 - Thanks for the bug feedback - I thought I had got that one, but will look into it again.

    @brandon - Go into the "mods" folder in your elgg installation, and delete the "bottom_bar" folder - that will lose the notification area.

  • @mad professor haha thats funny....you could just say its to hard for you to explain haha

  • Overall, very nice. Two issues:

     - the default chat sound is really annoying after a while, so I changed it to msn

     - it goes nuts if you have more than one tab open at once. Could you code it to be aware of multiple instances of itself for the same user, and perhaps synchronize the chats with a client cache to avoid extra load on the server?

  • Just wanted to say that I'm still looking forward to the next release :p

  • Ive been using this on my site for about 3 days and zero problems yet. maybe a couple suggestions/requests? id like to see the ability to add bookmarks to it like on facebook and perhaps more options for radio integration.  Thanks for a great plug in and thanks for the hard work

  • mi a amigo "MadP" -> genius ! ;-)

  • I dont know alot of coding but when We installed the bottom bar it worked fine but it also slowed dwn the site and caused a ton of INternal server Errors.. uninstalled and everything was bck to normal. Please HELP We REALLY enjoy the chat plug.... TY


  • @coffeeburrito - Will look into it

    @Evolution1979 - Won't be doing bookmarks - I am not trying to recreate the facebook bar - this is purely "facebook-esque" in appearance. Could you expand on what other options you mean for the radio.


    @IronMonk - RTFM ... or in this case, all the posts for this plugin version to work out why the errors and slow down.


    @Everyone - The holiday season is almost upon us, and as always this is a crazy time for me. Please note that I do not expect a new release of this plugin until the new year now, unless by some miracle I get a day to work on this. The code is to a point that working piecemeal on it just isn't an option any more. I thank you all for testing it so far, and hopefully normal service will be resumed in 2010!

  • Okay, that's understandable. Look forward to seeing the work resume. Happy Holidays!

The Mad Professor

Nutter .. Brit .. that's about it! ;)


  • Category: Uncategorized
  • License: GNU General Public License (GPL) version 2
  • Updated: 2014-11-17
  • Downloads: 17390
  • Recommendations: 16