Release Notes

**** BETA NOTES ****

  • This is a beta--All features might not work as expected!
  • This plugin requires the Expiration Date plugin.
  • The admin interface needs some work--Suggestions welcome!

Provides a way of assigning users demerits with consequences for users who
accumulate demerits.

In order for demerits to properly expire, the "expirationdate" plugin must
be installed and cron must correctly configured.

    * Unzip the file to the elgg/mods/ directory.
    * Go to your Elgg tools administration section, find the new tool and
      enable it.
    * Customize the settings if desired.

See README file for important information on how to configure consequences!

v1.0b1 (May 21, 2009)
    * Initial release.

  • Actually I think a version that just changed their password so that they cannot login again or re-register using more-or-less the same details would be a better idea than deleting them (and their contributions)

  • Do you mean like the already implemented banning user feature?

  • @ Brett - Forgive my ignorance but to understand the target of this plugin, is it something along the lines of a User Moderater feature, as we say here in the UK...

    1.....2......3 strikes and you're out?!

    So if they are warned about their behaviour through settable choices in the demerit system, if they ignore the Admin's nice words to cease their negative, harrassing nature etc on our site 2 times.... they were say reported for doing something again.... that would become their 3rd strike and they would be out = deleted account by Admin etc?

    The above is just an example of my interpretation of this plugin, forgive me if I'm barking up the wrong tree. :)


  • @Rob -- I understand your confusion--Somewhere along the line I forgot to release the helper plugin to this, a revamped version of the Reported Content plugin in core.  This ties in to Reported Content so that when a user reports content (and enters a content owner) it will automatically add a demerit to that person.  You can configure if this demerit is confirmed (ie, actively affecting consequences taken on that user) or not.

    I'll post the reported content plugin and edit summar with a link.  Hope this helps...

  • Is there another release of this plugin yet to come, with the helper plugin?

  • Brett - I think I've found an error in this plugin. We were having an issue when a user was suspended for a period of time according to our consequence schedule they were never being unbanned.  The demerit plugin was sending a UNIX timestamp to the expiration date plugin which expects an English date string that it runs through strtotime.

    This patch fixes that issue:

    diff --git a/mod/demerits/consequences_lib.php b/mod/demerits/consequences_lib.php

    index f22c351..b54ada7 100644

    --- a/mod/demerits/consequences_lib.php

    +++ b/mod/demerits/consequences_lib.php

    @@ -80,7 +80,7 @@ function demerits_execute_consequence_suspend($hook, $entity_type, $returnvalue,

         $user = $params['user'];


         $days = $consequence->num_days;

    -    $until = strtotime("+ $days days");

    +    $until = "+ $days days";


         if (!$user->ban(sprintf(elgg_echo('demerits:consequences:suspend_message'), date('Y-m-d H:i:s', $until)))) {

             return false;



  • @John - Thanks for the bug report and patch.  I'll have a look at this when time allows!

  • does not work for elgg 1.7 hope it works soon


Elgg Core Developer


  • Category: User admin
  • License: GNU General Public License (GPL) version 2
  • Updated: 2014-11-17
  • Downloads: 1035
  • Recommendations: 0

Other Projects

View Brett's plugins