Elgg Bottom Bar v0.9 alpha

Release Notes


-= version 0.9 alpha =-

released 29th April 2010

-- Changes --

* None

-- Bug Fixes --

* Fixed cookie size bug in IE

* Fixed bug where system would fail if sqlite was not installed


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 **

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.

All constructive comments welcomed.

  • Ok guys. Due to the lack of activity on my part of late I have decided to release the version I am currently running on my site to date. This has a couple of bug fixes in at the moment, and there are still many to sort out!

    Hopefully this will however resolve the whole sqlite issue. Please test and let me know. :)

  • Awesome!

    I'm seeing the database options now ...

  • @the mad professor

    thank you for the update! what database type do you prefer?

  • by teh way when i enable this version of the plugin on 1.7.0, it messes up the tools page so i can't access the bottom bar settings. i disabled everything and still causes the problem. maybe a missing, or a couple, html tag?

  • @melvincarvalho - Good news - thanks!

    @Cim - Not sure what the problem is there - The settings page is generated by ELGG, not the plugin as such, so should not cause an issue. It certainly works without issue on my system and I have the full debugging suite looking at mine. Have you tried a different browser to check it's not a legacy standards issue? As for database, It would depend on the number of users you have. If you have about 10 users tops online at any one time then sqlite should be fine, otherwise I would scale up to MySQL.

  • it seems to break the page when this is piece of code is removed from the edit.php file

    <?php } else {
      echo "<p>" . elgg_echo('bbar:admin:nosqlite') . "</p>";
      $vars['entity']->database_type = "MySQL";

    i added the code from your previous release and the page is fixed. seems to be ok for now

  • i can confirm it's this piece of code that's causing it:

    <?php if (function_exists("sqlite_open")) { ?>
            <option value="SQLite" <?php if ($vars['entity']->database_type == "SQLite") echo "selected=\"yes\" "; ?>>SQLite</option>
    <? } ?>

    i removed the if statement and it works fine now.

  • 1 problem I had with the last release is that it slowed the site down to a crawl... I have about 100 users and they are all friends through the everyone friends plugin...

    Is it possible that this release fixes the slowness?

  • @kenyonj

    this plugin will slow down your site, even with this release.

    @the mad professor

    why do i have an error log on my live site and not on my local server? the error log grew to a whopping 33 mb right when i updated it to .9? I also checked the previous one and it was 64 mb. here's what the error log says:

    [29-Apr-2010 05:56:10] WARNING: 2010-04-29 05:56:10 (PDT): "Invalid argument supplied for foreach()" in file /home/manacim/public_html/mod/bottom_bar/chat.php (line 67)

    it says that for each line, every few seconds or so. are the foreach loops empty? maybe the arrays aren't having elements? idk but this could be useful info for you.

  • it still gives me a 400 error on my browser. do you think it's my server settings? i get this error right here.


  • Hi Cim,

    Thanks for your posts, it was informative. Well, I have a question, if you kindly let me know... 

    1. I have 160 users... in the earlier version I could see an error if I see in firebug. And very error report scrolling... I did not know that those are being saved in the server!!!  How can I delete that ?

    2. What can I do to improve the performance? It is a text chat...but takes more resource than I thought?

    Thank you in advance

  • @democracy

    1. what do you mean error report scrolling? please explain again

    2. the only way to improve performance is to upgrade your servers to either vps (virtual private servers) or ds (dedicated servers). any feature that invovles ajax chat/stream requires your servers to have more power

  • 1. One Example paragraph,

    GET http://MySiteURL.....com/mod/bottom_bar/chat.php?action=rx 200 OK   292ms  jquert....min.js(line 19)

    [ Then few similar lines with different time stamp... 292ms... 291ms...(like above)  ]

    Then two lines like

    GET http://MySiteURL../mod/riverd....php?callback=true&display=&content=all&offset=0

    GET http://MySiteURL../mod/riverdashboard/refreshstart.php?callback=true&display=&content=all&offset=0       200 OK 2.24s


    This is what I meant by error scrolling!  Then when i click  jquert....min.js(line 19) part (see the first line) It takes me to .. this code

    (function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return   ... ... .. . (omitted)


    Thanks a lot for your earlier response.

  • the 292ms isn't a time stamp, it's showing the latency between server to client and vice versa. it's actually in milliseconds. can you show me a screen shot?

  • One strange thing was reported from a user. ( I guess, this is related to this mod ) when he was trying to chat, the browser tried to download something! He reported audio. Any suggestion?


  • @democracy - It's quite possibly the notification sound. In Firefox it will trigger a request for Quicktime to be installed to play it, as it doesn't have a native sound player. This is something that I will look into in future releases

  • @The Mad Professor,

    Thank you very much for your response.

    Is there any way to disable the sound for the time being? Or de-touch the sound files from the plugin?

    Coz, most of my users wont be able to install quicktime :(

    Thanks much.


  • @democracy - Not on a sitewide basis at the moment I'm afraid. Users can disable the sounds themselves in the individual tool settings.

  • @The Mad Professor,

    Thank you for the nice plugin!

    I have noted that when I 'm chatting to multiple people the browser gives me an error similar to the following. This happes at both IE and firefox. In order to be able to login again, I have to restart the browser. May this happen because of wrong settings to the plugin or to the server? Do you have any recommendation to solve the problem? Thank you a lot!

    "Bad Request
    Your browser sent a request that this server could not understand.
    Size of a request header field exceeds server limit.

    Cookie: Elgg=23d65d0d66cb63b128a7c7964850fede; bb_chat_cookie=69%7CStelios%20Fougias%7Chidden%2C534%7Cvassilis%7Cvisible; 498_html=%3CDIV%20class%3Dchatboxmessage%20sizcache%3D%2244%22%20sizset%3D%2234%22%3E%3CSPAN%20class%3Dchatboxmessagefrom%3Epanagiotis%3A%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%20class%3Dchatboxmessagecontent%3Exaxaxaxa%20den%20to%20skeftika%3C%2FSPAN%3E%3C%2FDIV%3E%0D%0A%3CDIV%20class%3Dchatboxmessage%3E%3CSPAN%20class%3Dchatboxmessagefrom%3Epanagiotis%3A%26nbsp%3B%26nbsp%3B%3C%2FSPAN .............................."  the message it continues.

  • @Nikos - Can you confirm that you are using this latest version? I reworked the header stuff to avoid this problem ...

  • @the mad professor

    i'm also having the same problems as nikos, i have posted this error in the previous and current release too

  • @the mad professor,

    I 'm using the latest version 0.9, and 1.7.1 for elgg. BR

  • Hmm .. I might need to remove the functionality then ... I will look into it

  • The Mad Professor,

    Thanks for your cool plugin and prompt response too.

    Well, can you suggest me, if it is possible to disable the sound in the code somehow? If so, then what should be changed. More users have similar "audio download" issues?


The Mad Professor

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


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