summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2011-03-07 19:51:34 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2011-03-07 19:51:34 +0800
commitfb4c04ee83ca31f4bdf7e734b726ab011380180e (patch)
tree3a698f4db58f3ca992f0b60e1290b04f0721fce3
parentff1d5577ae7429579e4648d67ad03fb5296dac08 (diff)
downloadpttbbs-fb4c04ee83ca31f4bdf7e734b726ab011380180e.tar
pttbbs-fb4c04ee83ca31f4bdf7e734b726ab011380180e.tar.gz
pttbbs-fb4c04ee83ca31f4bdf7e734b726ab011380180e.tar.bz2
pttbbs-fb4c04ee83ca31f4bdf7e734b726ab011380180e.tar.lz
pttbbs-fb4c04ee83ca31f4bdf7e734b726ab011380180e.tar.xz
pttbbs-fb4c04ee83ca31f4bdf7e734b726ab011380180e.tar.zst
pttbbs-fb4c04ee83ca31f4bdf7e734b726ab011380180e.zip
everytime you get a badpost, at least 3 days before you can cancel i.
git-svn-id: http://opensvn.csie.org/pttbbs/trunk@5318 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--pttbbs/mbbsd/assess.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/pttbbs/mbbsd/assess.c b/pttbbs/mbbsd/assess.c
index 21146189..31bf9bca 100644
--- a/pttbbs/mbbsd/assess.c
+++ b/pttbbs/mbbsd/assess.c
@@ -18,15 +18,19 @@ int
inc_badpost(const char *userid, int num) {
userec_t xuser;
int uid = getuser(userid, &xuser);
+ time4_t min_timer;
if (uid <= 0)
return 0;
+ // reset timer to at least some days to prevent user directly
+ // canceling his badpost.
+ min_timer = now - (BADPOST_CLEAR_DURATION - BADPOST_MIN_CLEAR_DURATION) *
+ DAY_SECONDS;
+ if (xuser.timeremovebadpost < min_timer)
+ xuser.timeremovebadpost = min_timer;
+
xuser.badpost += num;
- if (xuser.timeremovebadpost == 0) {
- xuser.timeremovebadpost = now -
- (BADPOST_CLEAR_DURATION - BADPOST_MIN_CLEAR_DURATION) * DAY_SECONDS;
- }
passwd_sync_update(uid, &xuser);
return xuser.badpost;
}