From 46318e907721f11256d245d42cd8e841e8765057 Mon Sep 17 00:00:00 2001 From: ptt Date: Thu, 23 Sep 2004 14:37:18 +0000 Subject: 1. fix 1 make error 2. add perm_nocitizen 3. add no reply for FILE_SOLVE git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2210 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- mbbsd/bbs.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'mbbsd/bbs.c') diff --git a/mbbsd/bbs.c b/mbbsd/bbs.c index b98070d5..fd9e9d08 100644 --- a/mbbsd/bbs.c +++ b/mbbsd/bbs.c @@ -127,7 +127,8 @@ set_board(void) /* init basic perm, but post perm is checked on demand */ currmode = (currmode & (MODE_DIRTY | MODE_GROUPOP)) | MODE_STARTED; - if (HAS_PERM(PERM_ALLBOARD) || is_BM_cache(currbid)) { + if (!HAS_PERM(PERM_NOCITIZEN) && + (HAS_PERM(PERM_ALLBOARD) || is_BM_cache(currbid))) { currmode = currmode | MODE_BOARD | MODE_POST | MODE_POSTCHECKED; } } @@ -886,9 +887,8 @@ do_reply(fileheader_t * fhdr) static int reply_post(int ent, fileheader_t * fhdr, char *direct) { - if (!CheckPostPerm()) + if (!CheckPostPerm() || (fhdr->filemode &FILE_SOLVED)) return DONOTHING; - setdirpath(quote_file, direct, fhdr->filename); do_reply(fhdr); *quote_file = 0; @@ -1293,7 +1293,7 @@ edit_title(int ent, fileheader_t * fhdr, char *direct) static int solve_post(int ent, fileheader_t * fhdr, char *direct) { - if (HAS_PERM(PERM_SYSOP)) { + if (HAS_PERM(PERM_SYSOP) || (currmode & MODE_BOARD)) { fhdr->filemode ^= FILE_SOLVED; substitute_ref_record(direct, fhdr, ent); return PART_REDRAW; -- cgit v1.2.3