summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2009-11-17 22:01:24 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2009-11-17 22:01:24 +0800
commit8482058fb22b9505c6d051119063003b51e6e2bf (patch)
treeb2c4c872591ca254276aa44e2cf427c921530284
parent6107f0d65e622cc5ab2348548a24a23aaab0c934 (diff)
downloadpttbbs-8482058fb22b9505c6d051119063003b51e6e2bf.tar
pttbbs-8482058fb22b9505c6d051119063003b51e6e2bf.tar.gz
pttbbs-8482058fb22b9505c6d051119063003b51e6e2bf.tar.bz2
pttbbs-8482058fb22b9505c6d051119063003b51e6e2bf.tar.lz
pttbbs-8482058fb22b9505c6d051119063003b51e6e2bf.tar.xz
pttbbs-8482058fb22b9505c6d051119063003b51e6e2bf.tar.zst
pttbbs-8482058fb22b9505c6d051119063003b51e6e2bf.zip
* let more managers able to use tn_announce.
git-svn-id: http://opensvn.csie.org/pttbbs/trunk@5028 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--pttbbs/mbbsd/bbs.c12
-rw-r--r--pttbbs/mbbsd/board.c6
2 files changed, 15 insertions, 3 deletions
diff --git a/pttbbs/mbbsd/bbs.c b/pttbbs/mbbsd/bbs.c
index f4c2a195..d0cbef01 100644
--- a/pttbbs/mbbsd/bbs.c
+++ b/pttbbs/mbbsd/bbs.c
@@ -472,8 +472,18 @@ is_tn_allowed(const char *title)
return 1;
#else
// TN_ANNOUNCE is prohibited for non-BMs
- if (currmode & MODE_BOARD)
+ if ((currmode & MODE_BOARD) || HasUserPerm(PERM_SYSOP) ||
+ HasUserPerm(PERM_ACCOUNTS | PERM_BOARD | PERM_BBSADM |
+ PERM_VIEWSYSOP| PERM_POLICE_MAN))
return 1;
+
+ // Note: 關於 subgroup op 的判定目前也是一團糟 - 小組長要從自己的分類
+ // 進去才會有 GROUPOP(). 不過反正小組長跟群組長的人沒那麼多,就開放他們
+ // always 可以使用 TN_ANNOUNCE 吧。
+ if (HasUserPerm(PERM_SYSSUPERSUBOP) ||
+ HasUserPerm(PERM_SYSSUBOP))
+ return 1;
+
if (is_tn_announce(title))
return 0;
return 1;
diff --git a/pttbbs/mbbsd/board.c b/pttbbs/mbbsd/board.c
index c5074e58..4de19565 100644
--- a/pttbbs/mbbsd/board.c
+++ b/pttbbs/mbbsd/board.c
@@ -1372,9 +1372,11 @@ set_menu_BM(char *BM)
{
if (!HasUserPerm(PERM_NOCITIZEN) && (HasUserPerm(PERM_ALLBOARD) || is_uBM(BM, cuser.userid))) {
currmode |= MODE_GROUPOP;
- // XXX 不是很確定是否該在這邊 save level?
- pwcuBitEnableLevel(PERM_SYSSUBOP | PERM_BM);
}
+
+ // XXX 不是很確定是否該在這邊 save level?
+ if (!HasUserPerm(PERM_SYSSUPERSUBOP) || !HasUserPerm(PERM_BM))
+ pwcuBitEnableLevel(PERM_SYSSUBOP | PERM_BM);
}
static void replace_link_by_target(boardstat_t *board)