summaryrefslogtreecommitdiffstats
path: root/mbbsd
diff options
context:
space:
mode:
Diffstat (limited to 'mbbsd')
-rw-r--r--mbbsd/admin.c5
-rw-r--r--mbbsd/bbs.c2
-rw-r--r--mbbsd/board.c6
-rw-r--r--mbbsd/mail.c8
-rw-r--r--mbbsd/var.c4
5 files changed, 16 insertions, 9 deletions
diff --git a/mbbsd/admin.c b/mbbsd/admin.c
index eb6b47d1..9a0fd4e0 100644
--- a/mbbsd/admin.c
+++ b/mbbsd/admin.c
@@ -404,7 +404,7 @@ m_mod_board(char *bname)
snprintf(genbuf, sizeof(genbuf), "(E)設定 (V)違法/解除%s%s [Q]取消?",
HasUserPerm(PERM_SYSOP |
PERM_BOARD) ? " (B)Vote (S)救回 (C)合併 (G)賭盤解卡" : "",
- HasUserPerm(PERM_SYSSUBOP | PERM_BOARD) ? " (D)刪除" : "");
+ HasUserPerm(PERM_SYSSUBOP | PERM_SYSSUPERSUBOP | PERM_BOARD) ? " (D)刪除" : "");
getdata(10, 0, genbuf, ans, 3, LCECHO);
switch (*ans) {
@@ -482,7 +482,8 @@ m_mod_board(char *bname)
}
break;
case 'd':
- if (!HasUserPerm(PERM_SYSOP | PERM_BOARD))
+ if (!(HasUserPerm(PERM_SYSOP | PERM_BOARD) ||
+ (HasUserPerm(PERM_SYSSUPERSUBOP) && GROUPOP())))
break;
getdata_str(9, 0, msg_sure_ny, genbuf, 3, LCECHO, "N");
if (genbuf[0] != 'y' || !bname[0])
diff --git a/mbbsd/bbs.c b/mbbsd/bbs.c
index 04a802ad..234b5444 100644
--- a/mbbsd/bbs.c
+++ b/mbbsd/bbs.c
@@ -3051,7 +3051,7 @@ change_cooldown(int ent, const fileheader_t * fhdr, const char *direct)
{
boardheader_t *bp = getbcache(currbid);
- if (!HasUserPerm(PERM_SYSOP))
+ if (!(HasUserPerm(PERM_SYSOP) || (HasUserPerm(PERM_SYSSUPERSUBOP) && GROUPOP())))
return DONOTHING;
if (bp->brdattr & BRD_COOLDOWN) {
diff --git a/mbbsd/board.c b/mbbsd/board.c
index bf5867d9..01a529cb 100644
--- a/mbbsd/board.c
+++ b/mbbsd/board.c
@@ -880,7 +880,8 @@ choose_board(int newflag)
brdnum = -1;
break;
case 'D':
- if (HasUserPerm(PERM_SYSOP)) {
+ if (HasUserPerm(PERM_SYSOP) ||
+ (HasUserPerm(PERM_SYSSUPERSUBOP) && GROUPOP())) {
ptr = &nbrd[num];
if (ptr->myattr & NBRD_SYMBOLIC) {
if (getans("確定刪除連結?[N/y]") == 'y')
@@ -912,7 +913,8 @@ choose_board(int newflag)
brdnum = -1;
break;
case 'L':
- if (HasUserPerm(PERM_SYSOP) && IN_CLASS()) {
+ if ((HasUserPerm(PERM_SYSOP) ||
+ (HasUserPerm(PERM_SYSSUPERSUBOP) && GROUPOP())) && IN_CLASS()) {
if (make_symbolic_link_interactively(class_bid) < 0)
break;
brdnum = -1;
diff --git a/mbbsd/mail.c b/mbbsd/mail.c
index 0d57a8bc..dd69aba9 100644
--- a/mbbsd/mail.c
+++ b/mbbsd/mail.c
@@ -202,8 +202,12 @@ void
setupmailusage(void)
{ // Ptt: get_sum_records is a bad function
int max_keepmail = MAX_KEEPMAIL;
- if( HasUserPerm(PERM_SYSSUBOP | PERM_ACCTREG | PERM_PRG |
- PERM_ACTION | PERM_PAINT) ){
+ if (HasUserPerm(PERM_SYSSUPERSUBOP)) {
+ mailsumlimit = 900;
+ max_keepmail = 700;
+ }
+ else if (HasUserPerm(PERM_SYSSUBOP | PERM_ACCTREG | PERM_PRG |
+ PERM_ACTION | PERM_PAINT)) {
mailsumlimit = 700;
max_keepmail = 500;
} else if (HasUserPerm(PERM_BM)) {
diff --git a/mbbsd/var.c b/mbbsd/var.c
index 11a77017..b6e50000 100644
--- a/mbbsd/var.c
+++ b/mbbsd/var.c
@@ -30,14 +30,14 @@ const char * const str_permid[] = {
"視覺站長", /* PERM_VIEWSYSOP */
"觀察使用者行蹤", /* PERM_LOGUSER */
"禠奪公權", /* PERM_NOCITIZEN */
- "公關組", /* PERM_RELATION */
+ "群組長", /* PERM_SYSSUPERSUBOP */
"帳號審核組", /* PERM_ACCTREG */
"程式組", /* PERM_PRG */
"活動組", /* PERM_ACTION */
"美工組", /* PERM_PAINT */
"立法組", /* PERM_LAW */
"小組長", /* PERM_SYSSUBOP */
- "一級主管", /* PERM_LSYSOP */
+ "退休站長", /* PERM_OLDSYSOP */
"Ptt" /* PERM_PTT */
};