Widgets Plus! v1.1

Release Notes

We were working on a client who wanted to use Elgg for employee portals. It needed to have some default google gadgets, but saving the config data on what they were (like whether they were stocks or calendars, not to mention giving them meaningful titles) is impossible with the built in plugin. Additionally, they wanted to lock some but allow the employee to add their own to personalize their portals, but again the existing plugin didn't do that. Widgets Plus! was created to meet all of these requirements, and it is a wonder why Elgg doesn't do this stuff natively.


  • fixed: saving metadata
  • fixed: only source admin can clone
  • fixed: messing up multiselects in profile_manager
  • fixed: setting default source admin GUID
  • added: GUID helper on settings
  • Brilliant - thanks guys,

    will test tomorrow

    thumbs up



  • . smile .

    i was waiting for that

    thanks a lot friends :-)

  • Can anyone tell me how or if you can change, rearrange, add or remove widgets from the External Pages.

    regards all


  • Hi,

    exactly what I need, just one tiny bug: After "cloning" the widgets as admin, the users plugins are multiplicated. Each time cloning, the Plugins are getting more and more.

    Using 1.7.1. with draggable widgets, maybe the plugins are conflicting.


  • Hi,

    Great plugin but I have a little issue. Once I have propogated the locked widgets to the users they do appear on their Dashboard. As soon as they have added, say the File Widget, to add more widget for themselves, and then they would go to Profile and then select File from the Tools menu and then go back to the Dashboard again, all the propogated Widgets will disappear and the only widgets that will remain are the ones the user added, and in this case the File Widget.

    Any ideas? I have all the standard widgets that come with Elg 1.7.1 and have also made the widget appear right at the bottom of the list to be activated.

    Any help would greatly be appreciated.


  • omenger - I havent been able to reproduce this, both with and without draggable widgets, both before and after. Can list you other widget related plugins you are using? Can you identify a specific set of instructions for me to consistently reproduce this? Thanks!

    Nadeem - are you using draggable widgets?


  • Darkwaltz4 - You are right, I had been using that and I just tested this and this is what was causing the issue. Thank you for the quick response. I think I can live without draggable widgets, I prefer your plugin.

  • Darkwaltz4 - I have come across omenger issue. When a user already has that widget on their dashboard and you propogate the locked widgets it duplicates it for them. I think that is what omenger may be talking about.

  • Well, I definitely need to fix the compatibility with draggable widgets (we have a client going to start using it soon :p) So you should see a fix for that during next week.

    Having more than one of the same widget is not something I want to prevent. Again, some of the widgets we use heavily are google gadgets and html - they can be radically different even though the same widget.

    omenger - does this sound like what you are reporting? Or is it actually duplicating all personal widgets?

  • If you dont want to wait for an official update that fixes draggable widgets from clobbering the locked widgets, you can apply this manually:

    In elgg/mod/widgets_plus/views/default/widgets/wrapper.php find:

    <div class="collapsable_box_content">

    and above ?> above that, add in:

    else echo '<input type="hidden" name="guid" value="' . $guid . '" />';

    and thats it :)

  • I am using widget title links. Does widget title links work with your plugin or am I supposed to remove widget title links when using widgets plus?

  • Hi there,

    Very nice plugin, but when I want to propagate a set of widgets to all my users, widgets gets duplicated with already installed widgets, thus doubling them.

    Is there a way to force a clean reset (flushing old widgets config), with only the widgets set I'm deploying ?

    (my users don't have access to draggable widgets interface, they've a locked profile).

    Maybe is there a possibility to clean all widgets entities in phpmyadmin before redeploying, but I don't know what entities are involved...

    Thanks in advance...

  • Thanks for the excellent plugin.

    For me cloning of widgets for new users is not working. I tried my level best to debug it but failed to find the reason. I though it is some issue with 'create user' event and the widgets_plus_newuser in start.php is not getting called. But  it is working and the issue is in widgets_plus_clone  it is not entering the foreach loop : 

    if (!array_key_exists($colkey = "admin$context$column", $cache)) $cache[$colkey] = get_widgets($admin, $context, $column);

    foreach ($cache[$colkey] AS $widget) {


    I am using it with siteaccess plugin. The only weird thing is 'create user' event of widget plus is getting called before 'create user' of users.php in engine. Anyways I am currently using 'login' event and its working fine. If anyone is facing the same issue, I did this :

    //register_elgg_event_handler('create', 'user', 'widgets_plus_newuser');

    register_elgg_event_handler('login', 'user', 'widgets_plus_newuser');

    function widgets_plus_newuser($event, $object_type, $object)


    if($event == 'login' && $object_type=='user' && $object instanceof ElggUser)  {

    if (!$object->clone_widgets) {


    $object->clone_widgets = true;



    return true;


  • Fred - I didnt try it specifically, however Widgets Plus includes all of the functionality that it provided (in its own way of course)

    netking17 - I dont know of a way to flush all widgets from users unfortunately. If you want to have completely locked profiles, there is a different addon that prevented all modification by users, although I forget its name (Widgets Plus specifically allows for tweaking by users).

    chaggs - does Widgets Plus work correctly when the siteaccess plugin is disabled? I'd like to get to the root of the issue than that workaround.

    Dont forget my previous comment contains the fix for a bug when used with draggable widgets!

  • Are you the same guy from vBCredits?

  • There is a plugin to remove widgets ,maybe you could remove all widgets then replace them without duplicates...

  • Thought the use of the remove widgets plugin was brilliant idea and tried it.  Here is what happened:

    Removed all widgets on the member dashboard, recreated the widgets on the adminstrator dashboard and propagated them, went back to a current member and the member had nothing in it's dashboard.
    Added a widget that was supposed to be locked and it was not locked after adding it to the member's dashboard.  Logged out and back in and still nothing.
    My guess is the remove widget plugin did something to widget_plus. Disabled the remove widgets plugin and still nothing.

    Any assistance on this matter would be appreciated. It is important that the duplicate widgets issue can be resolved. Thanks.

  • Thanks! This is working perfect and very useful plugin...

  • Hello Darkwaltz4,

    Is it possible to set default layouts of NEW users? When my friend created an account on elgg, his profile didn't show the widgets I've set as Locked. When I propagated after he created the user, then he recieved layout and shown the widgets. Is it possible to set default widgets widhout propagating?


  • My another question is; can I set default "Suggested" widgets with same way I've mentioned above?

    Thanks again


  • @Fred - I just tried this with Elgg 1.7.2 beta, the newest version of remove widgets and the newest version of widgets plus and it worked for me.

  • Suggested widgets will only show up for newly created users, as I can't tell for sure if a suggested widget was subsequently moved/removed/edited.

    If nothing is showing up during user creation, try chagg's suggestion (I only test on the latest elgg).

    If you are using draggable widgets, don't forget my patch above and make sure that widgets_plus executes AFTER draggable widgets.

  • chagg's suggestion solved my problem, thanks to you both.

  • Hello Again,

    I'm creating users via a plugin I'm developing (Importing from another system). I use the functions below with same order;


    • create_entity (I get guid)
    • register_user (I give guid above)
    • add_entity_relationship (I give guid above, and add user to a specific group)
    After these steps, users are created properly but their profile doesn't clone admin's layout widgets. When they login, then their profile is set by widgets_plus. Are these steps above shortfall? Any other functiouns I should call? I've done the steps chagg described.
    Any suggestions about how to distribute admin layout to automatically created users even if they dont login?


  • Category: Widgets
  • License: GNU General Public License (GPL) version 2
  • Updated: 2014-11-17
  • Downloads: 2750
  • Recommendations: 7