XF 2.2 Expire ban for good users

interforo

Active member
I have set my forum so that users get 5 points warning and when reached 20 points they are banned permanently

I would like to introduce a way that allows good users who haven’t received warnings for 6 months to get their oldest 5 points warning removed

Possible?
 
Take a look at this add-on...


Rather than set the ban as permanent you can then set the ban for a period of time after which some points will drop off and the ban will be lifted.
 
Take a look at this add-on...


Rather than set the ban as permanent you can then set the ban for a period of time after which some points will drop off and the ban will be lifted.
I use that add already
How should I set it up to do what I want to do?
 
Create a Group called 'Banned' and set permissions to 'No' for what you want

Then...
/admin.php?warnings

1667200717113.png

Set the points and time period for the warning then ....

1667200885894.png

Or as you wish

The following option might suit your requirements better...

1667201511224.webp
 
Last edited:
You'll notice I also have a group named 'Moderated user' which is a copy of the 'Registered' group but requires all posts to be approved.
Placing a member in that group prevents their posts from being displayed until approved by a moderator.
Just make sure you don't set a banner for either group otherwise it will show in their profile.
 
You can set the warning points to expire as you wish.

Bear in mind though if you ban someone for a year they're hardly likely to want to come back and use your forum again
 
You can set the warning points to expire as you wish.

Bear in mind though if you ban someone for a year they're hardly likely to want to come back and use your forum again
The points.
Let me give you a specific example:

Today 31 oct 22 user ‘Mark’ received 5 points
If ‘Mark’ behaves well for 1 year and by 31 oct 2023 doesn’t receive any other 5 points warning I want the 5 points to be automatically
 
@interforo
Once you have "banned" someone, then surely that can't, by definition, accrue any further points, since they can't actually do anything.

webbouk's suggestion to restrict them with a secondary usergroup (rather than an outright ban) has a great deal of merit. But I'd suggest that the restricted UserGroup you create does NOT use the term "Banned" so as to distinguish these from true bans. Use another term to indicate restrictions (we use "Suspended" but anything similar would do).

I'd suggest that your scheme goes like this. It's not exactly what you say you want, but it comes fairly close, I think:

  • Warnings are all issued to expire in 6 months (say, 5 points)
  • A Warning action occurs to the user to add them into a restricted usergroup (let's call it "Restricted") for a fixed term of your choosing - say a year (or choose another period) - and that action occurs when they reach a threshold (say, 20 points).

This would be the effect

1 Warning 5 points. Total 5
2 Warning 5 points issued inside 6 months from 1. Total 10.
3 Ditto. Total 15
4 Ditto. Total 20. Restricted for 12 months.

or (for example)

1 Warning 5 points. Total 5
2 Warning 5 points issued inside 6 months from 1. Total 10.
3 Ditto. Total 15
4 Six months after 1 was issued, it expires. Total 10.
4 Warning 5 points issued inside 6 months from 2. Total 15.
5 Warning 5 points issued inside 6 months from 2. Total 20. Restricted for 12 months.

etc.

12 months later; restriction lifted and all warnings have expired. Total 0. Rinse and repeat.
In the interim, if the same user manages to further misbehave (eg by registering a duplicate account) then you can simply fully ban and that's the end of them.

You can, if you care to, add to the deterrent effect here by having an incremental approach to the restriction terms. Like, say, a month "off" at 10 points. And 3 months at 15 points. etc.
 
Bear in mind also the level you set the points is a trigger, ie they have to cross that threshold for whatever action is required to take place, ie action to take place at 5 points, trigger needs to be set at 4. The action will then cease once the points drop to 3 .... if that doesn't confuse you :)
 
The action will then cease once the points drop to 3 .... if that doesn't confuse you :)
If I understand your "point" correctly - not necessarily.

The action that follows accrual of points to a threshold can be set at EITHER

...while at or above threshold
OR
...for a fixed term.

If it's a fixed term (as per my example above) then whatever happens to the points while the action is in place, has no effect on the action itself. A 1 year restriction lasts for 1 year regardless.

Expiry of points (for example) would affect the action only if the ......while at or above.... option were used.
 
Top Bottom