[Elgg 1.8-1.12 & 2.X - 4.X: Elggx Userpoints] v1.8.6

Release Notes

Changelog:

  • Spanish language file added (thanks to Gonzalo / GEARinvent).
  • Hello iionly, can I add earning points events?, for example for a new event (Event Manager plugin) or posting a group Dissussion.

    Thanks!

  • Yes, adding of new events for earning points is possible. Though it requires modification of the plugin code. Take a look at the file mod/elggx_userpoints/views/default/elggx_userpoints/actions.php where the available actions for earning points are defined (that's the list of input fields where you can enter the points for the specific actions on the plugin settings page on your site).

    The userpoints plugin is relying on the type/subtype of entities and names of annotations to catch the events where a user does something that earns him userpoints. Example:

    <tr>
            <td width="40%"><label><?php echo elgg_echo('userpoints_standard:blog'); ?></label></td>
            <td><?php echo elgg_view('input/text', array('name' => "params[blog]", 'value' => $plugin->blog)); ?></td>
        </tr>

        <tr><td>&nbsp;</td><td>&nbsp;</td></tr>

    creates the input field that allows to define the points awarded when creating a new blog posting.

    For awarding points on adding a new event within the Event Manager plugin you would need to add a corresponding input field:

    <tr>
            <td width="40%"><label><?php echo elgg_echo('userpoints_standard:event_manager'); ?></label></td>
            <td><?php echo elgg_view('input/text', array('name' => "params[Event]", 'value' => $plugin->Event)); ?></td>
        </tr>

        <tr><td>&nbsp;</td><td>&nbsp;</td></tr>

    For replies on group discussions the block to be added is

    <tr>
            <td width="40%"><label><?php echo elgg_echo('userpoints_standard:discussion_reply'); ?></label></td>
            <td><?php echo elgg_view('input/text', array('name' => "params[group_topic_post]", 'value' => $plugin->group_topic_post)); ?></td>
        </tr>

        <tr><td>&nbsp;</td><td>&nbsp;</td></tr>

    The strings in the elgg_echo() would need to be added to the language files with the corresponding text string that should be displayed on the plugin settings page.

    I hope the above code will work. I've had no time for testing and I'm not using the event manager plugin anyway.

  • Thank you very much @iionly!!, for events works fine but the other function I need is when a user starts a groups disscussion, I dont know this strings:  

    ... ('input/text', array('name' => "params[group_????]", 'value' => $plugin->group_????)); ?></td>

  • @Javier: there's no need to modify anything for being able to award users with points for starting a discussion. The "Points for posting a group topic:" action is what you are looking for. I thought you meant awarding points for commenting on an already existing discussion topic. The change is outlined above is for this case.

  • @iionly I´ve already activated the "Points for posting a group topic" action but it not increments points when users start a discussion. I´ve tested it in two Elgg installations (one of this a clean installation), both 1.8.16 version. 

  • oh i want to do that too lol so i use the points app and people get points for blog posts sounds good! is everything working ok? i will find the points plugin now

  • @Javier: Sorry. The points for starting a new group discussion topic are indeed not awarded with Elgg 1.8.16 using version 1.8.6 of the userpoints plugin. I've got to investigate why. I'm pretty sure it worked before, so I need to find out if the problem is connected with Elgg 1.8.16. I'll post a fix as soon as I know what's up.

    @UK: This IS the points plugin! :-)

Stats

  • Category: Misc
  • License: GNU General Public License (GPL) version 2
  • Updated: 2022-5-16
  • Downloads: 14570
  • Recommendations: 47

Other Projects

View iionly's plugins