diff options
Diffstat (limited to 'mbbsd')
-rw-r--r-- | mbbsd/bbs.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/mbbsd/bbs.c b/mbbsd/bbs.c index a889a2af..7f773701 100644 --- a/mbbsd/bbs.c +++ b/mbbsd/bbs.c @@ -1552,11 +1552,12 @@ do_limitedit(int ent, fileheader_t * fhdr, const char *direct) boardheader_t *bp = getbcache(currbid); assert(0<=currbid-1 && currbid-1<MAX_BOARD); - if (!((currmode & MODE_BOARD) || HasUserPerm(PERM_SYSOP))) + if (!((currmode & MODE_BOARD) || HasUserPerm(PERM_SYSOP) || + (HasUserPerm(PERM_SYSSUPERSUBOP) && GROUPOP()))) return DONOTHING; strcpy(buf, "更改 "); - if (HasUserPerm(PERM_SYSOP | PERM_SYSSUPERSUBOP)) + if (HasUserPerm(PERM_SYSOP) || (HasUserPerm(PERM_SYSSUPERSUBOP) && GROUPOP())) strcat(buf, "(A)本板發表限制 "); strcat(buf, "(B)本板預設"); if (fhdr->filemode & FILE_VOTE) @@ -1564,7 +1565,7 @@ do_limitedit(int ent, fileheader_t * fhdr, const char *direct) strcat(buf, "連署限制 (Q)取消?[Q]"); genbuf[0] = getans(buf); - if (HasUserPerm(PERM_SYSOP | PERM_SYSSUPERSUBOP) && genbuf[0] == 'a') { + if ((HasUserPerm(PERM_SYSOP) || (HasUserPerm(PERM_SYSSUPERSUBOP) && GROUPOP())) && genbuf[0] == 'a') { sprintf(genbuf, "%u", bp->post_limit_regtime); do { getdata_buf(b_lines - 1, 0, "註冊時間限制 (以'月'為單位,0~255):", genbuf, 4, LCECHO); |