MyBB Community Forums

Full Version: Revoking a warning
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Can someone explain how revoking warnings is meant to work in MyBB. A lot of setting a site up correctly is to work along the grain of the way the forum software was designed, and I'm struggling to follow this one.


Quote:You can also choose to revoke the warning, meaning the warning is no longer counted towards the user’s warning level. This is the equivalent of the warning expiring naturally. However, revoking a warning does not remove the punishments enacted as part of the warning.

Why would a moderator wish to revoke a warning but not reverse the punishment? A revoked warning would usually be one that was issued in error, so revocation should put the user back to where they were is the warning was never issued.

Say someone is warned for something and the warning tips them over the level where there posting privileges would be suspended. In 30 days time, some of their warning point will expire, meaning they're then below the threshold for suspension. At that point, I want their suspension to be lifted, because they no longer have enough points to be suspended any more.

How does that fit with the fact that the "suspend posting privileges" warning level also has a length of time for which it applies? If that was set to just 24 hours, can they resume posting after 24 hours even though they're warning level will still be above the "suspend posting privileges" threshold for another 29 days after that?

I think I'm just struggling to see why warning levels also have expiries, just as warnings themselves do. What's the idea behind having both, how do they interact with each other, and how does this relate to warnings expiring and being revoked?
OK - I've done some experimenting, and I've now worked out how MyBB does this, and once I've seen that then the behaviour when revoking is entirely expected.

Basically, each warning has its own expiry. When a warning level is reached, that could trigger a punishment (like posting suspension). That punishment also comes with an expiry time. The user's warning level will drop as individual warnings hit their expiry. But that is completely independent from when the punishment expires.

Sometimes, a user could still have enough warning level to trigger a punishment, but the punishment they had has already expired, so they can resume posting (or whatever they were temporarily unable to do) even though they have enough warning points to mean they shouldn't be. At other times, the warning points could have all expired, and yet they are still subject to moderation / suspended from posting / in a banned group.

Can anyone explain why MyBB is designed this way? That may help me use it the way it's intended.

The way I'm wanting to use it is to have a user's punishment to finish at precisely the time when their warning points drop below the level that triggered the punishment in the first place.

Is that doable? (I'm hoping someone's been here before). If not easily, is there a plugin? Or what hooks might I need to use to craft this into a plugin myself?
I guess it's for flexibility in some respect. The problem with what you want to achieve though is that a warning level could be reached with a series of warnings.

The reason a warning level is not lifted when the user's warning drops below the threshold to trigger it is because a user may receive a warning at one point in time, and 1 day before the warning is due to expire, they receive another one that triggers a warning level, that could be to ban them for a week, but as the first warning would expire within a day, the ban would be lifted. For the majority of users, this would be incorrect behaviour - they've received enough warning to be banned for a week, they should be banned for a week.

Similarly, you could receive two warnings that last a month, that trigger a warning level for a one week ban. After the ban expires, the user's warning would remain so that they keep in line - an additional warning on top of what they have may mean that they hit a higher warning level, triggering a longer ban. Resetting their warnings when that specific warning level expires, would mean a warning that should have lasted for a month, has now been reset after a week.

I don't think there's a plugin for what you need, but to clarify, it could mean that if you had a warning that expired after, say, a month, and 6 hours short of that warning expiring, they receive another of the same warning, they would hit a warning level to receive, say, a 2 month ban, which would then be lifted after only 6 hours because the first warning expired, dropping them below the threshold for that warning level - is this definitely what you want?
(2017-02-09, 08:41 PM)Matt Wrote: [ -> ]is this definitely what you want?

Thanks for taking the time to type that and explain. You've given me real food for thought. I'm now not sure what I want Big Grin. More to the point, I can now see the strengths of the way MyBB does this, which means I'm thinking laterally and that has to be a good thing.

Thinking aloud, it means that the points given don't just determine how fast a user hits the threshold for a ban or suspension, but which threshold they hit and therefore potentially how long they're banned for. There's still scope for more serious offences to lead to a longer ban, not because those points expire later, but because they've hit a warning level that a smaller number of points wouldn't have taken them to.

Anyway, thanks again - I'll go away and think how I want to set things up, but I'll sure be working along the grain of MyBB's thinking now that I understand it. My
No worries Smile

I understand what you were trying to achieve - with my last example, technically they were only at the required level for 6 hours, so the 2 month ban would be more an upper limit than a fixed time, therefore they're only banned for literally the time they had the required level, however the vast majority of forums wouldn't expect this to happen.

On this forum for example, we have some warnings that never expire - they're for serious enough infractions that we want them permanently recorded, but any ban associated with them may have only been for a week. So if you had something like this, if that user repeats the offence, they'll instantly hit a higher warning level, and get a lengthier ban. After that ban expires, a further warning would make them hit 100%, which would be a permaban based on a totting up system.

On the flip side of permanent warnings, you could also have smaller warnings that expire after a week as more of an official reminder of the rules for very minor infractions, however consider a user has one of these small warnings for something minor, and a permanent warning for something major, if they triggered a warning level that banned them for a month, once the small warning expired, should it lift the ban that resulted from the major rule infraction? Probably not.

Let me know how you get on and if you have any further questions Smile
At the moment, I'm thinking I'd only want a permanent ban for offences that are serious enough to warrant that in and of themselves, and not for an accumulation of more minor offences. I'd always want a temp ban to kick in part-way up the ladder, long enough to get them back into the safe zone away from 100%. That way, 100% can be given for anything that consciously deserves a ban. But I'm still thinking Smile

Out of interest, on this board, do end-users find the system easy to understand. Communication is key - if there's a page that explain how long you get banned at different levels, I've not yet found it. I'd expect that to trigger a load of helpdesk type enquiries: When can I come back? My warning level is back to zero so why can't I post yet? ... and so on.
Hm, there isn't a page that lists the warning levels that exist - if it's a ban, it will say when it expires, but for anything else I can't think off the top of my head, I'll give it a look tonight. Generally here the warnings only lead to a ban.