-
Notifications
You must be signed in to change notification settings - Fork 6
PERM zh_tw
Wei-Cheng Yeh (IID) edited this page Feb 24, 2024
·
1 revision
Macro | 值或定義 | 出處 | 說明 |
---|---|---|---|
PERM_BASIC |
0x00000001 |
有 基本權力 | |
PERM_CHAT |
0x00000002 |
可 進入聊天室 | |
PERM_PAGE |
0x00000004 |
可 找人聊天 | |
PERM_POST |
0x00000008 |
可 發表文章 | |
PERM_VALID |
0x00000010 |
已 身分認證 | |
PERM_MBOX |
0x00000020 |
有 信件無上限 (大信箱特權) | |
PERM_CLOAK |
0x00000040 |
可用 隱身術 | |
PERM_XEMPT |
0x00000080 |
會 永久保留帳號 | |
PERM_9 |
0x00000100 |
有 公告看板發文權限 (未使用) | |
PERM_10 |
0x00000200 |
(未使用) | |
PERM_11 |
0x00000400 |
(未使用) | |
PERM_12 |
0x00000800 |
(未使用) | |
PERM_13 |
0x00001000 |
(未使用) | |
PERM_14 |
0x00002000 |
(未使用) | |
PERM_15 |
0x00004000 |
(未使用) | |
PERM_16 |
- 0x00008000 - (更名為 PERM_SP ) |
有 特殊標記 (未使用) | |
PERM_SP |
0x00008000 |
有 特殊標記 (未使用) | |
PERM_DENYPOST |
0x00010000 |
禁止發表文章 | |
PERM_DENYTALK |
0x00020000 |
禁止 talk | |
PERM_DENYCHAT |
0x00040000 |
禁止 chat | |
PERM_DENYMAIL |
0x00080000 |
禁止 mail | |
PERM_DENYSTOP |
0x00100000 |
停權 (權限同 guest) | |
PERM_DENYNICK |
0x00200000 |
禁止更改暱稱 | |
PERM_DENYLOGIN |
0x00400000 |
禁止 login | |
PERM_PURGE |
0x00800000 |
將被 清除帳號 | |
PERM_BM |
0x01000000 |
有 板主 的權限 | |
PERM_SEECLOAK |
0x02000000 |
可 看見忍者 (隱身使用者) | |
PERM_KTV |
0x04000000 |
有 點歌系統總管 的權限 | |
PERM_GEM |
0x08000000 |
有 精華區總管 的權限 | |
PERM_ACCOUNTS |
0x10000000 |
有 帳號總管 的權限 | |
PERM_CHATROOM |
0x20000000 |
有 聊天室總管 的權限 | |
PERM_BOARD |
0x40000000 |
有 看板總管 的權限 | |
PERM_SYSOP |
0x80000000 |
有 站長 的權限 | |
PERM_SYSOPX |
PERM_SYSOP | PERM_BOARD | PERM_CHATROOM | PERM_ACCOUNTS |
各種站務權限 | |
PERM_MANAGE |
0xFE0000E0 (PERM_SYSOPX | PERM_GEM | PERM_KTV | PERM_SEECLOAK | PERM_XEMPT | PERM_CLOAK | PERM_MBOX ) |
各種站務特權 | |
PERM_CRIMINAL |
0x007F0000 (PERM_DENYLOGIN | PERM_DENYNICK | PERM_DENYSTOP | PERM_DENYMAIL | PERM_DENYCHAT | PERM_DENYTALK | PERM_DENYPOST ) |
各種禁制權限 (清除帳號除外) | |
PERM_DEFAULT |
PERM_BASIC |
新賬號的預設權限 | |
PERM_ADMIN |
PERM_BOARD | PERM_ACCOUNTS | PERM_SYSOP | PERM_CHATROOM | PERM_KTV |
各種站務權限 | |
PERM_ALLBOARD |
PERM_SYSOP | PERM_BOARD |
可 查看所有看板 | |
PERM_LOGINCLOAK |
PERM_SYSOP | PERM_ACCOUNTS | PERM_BOARD | PERM_CHATROOM |
會 免除登入時的自動解除隱身 | |
PERM_SEEULEVELS |
PERM_SYSOP |
可 查看使用者權限 (未使用) | |
PERM_SEEBLEVELS |
PERM_SYSOP | PERM_BM |
可 查看看板權限 (未使用) | |
PERM_BBSLUA |
PERM_BASIC |
可 執行 BBS-Lua | |
PERM_BBSRUBY |
PERM_BASIC |
可 執行 BBS-Ruby | |
PERM_NOTIMEOUT |
PERM_SYSOP |
會 免除閒置逾時時的強制登出 (未使用) | |
PERM_READMAIL |
PERM_BASIC |
可 進入信箱 | |
PERM_INTERNET |
PERM_VALID |
可 寄站外信 | |
PERM_FORWARD |
PERM_INTERNET |
可 轉寄文章 | |
HAS_PERM(x) |
- x ? cuser.userlevel & x : 1 - (= HAVE_PERM(x) ) |
- 目前使用者是否擁有任一或所有指定賬號權限 - (= HAS_PERM(x) ) |
|
HAVE_PERM(x) |
cuser.userlevel & x |
目前使用者是否擁有任一指定賬號權限 | |
NUMPERMS |
32 |
權限棋標的數量 |
DENY 停權系統是源自 WindTopBBS 的可將使用者自動停權的系統。
MapleBBS-itoc 無此系統。
函式 型別 (DreamBBS v3.0) |
定義檔案 | 說明 |
---|---|---|
add_deny() int (ACCT *u, int adm, int cross)
|
maple/acct.c |
BBS 主程式處理停權的主要函式 - DreamBBS v3.0 後改為間接呼叫 add_deny_exer() ,exer 引數為目前使用者帳號名稱。 |
add_deny_exer() int (ACCT *u, int adm, int cross, const char *exer)
|
- util/stopperm.c - lib/acct.c (DreamBBS v3.0) |
stopperm 處理停權的主要函式 (WindTopBBS 3.02) 通用的處理停權的主要函式 (DreamBBS v3.0) - 停權期間再被停權,原會重設停權期間,與 add_deny() 有別;DreamBBS v3.0 已修正為延長停權期間。 |
以下將 add_deny_exer()
當作最主要的函式以方便說明。
型別 (DreamBBS v3.0) | 說明 | |
---|---|---|
u |
ACCT * |
被停權或復權的使用者 |
adm |
int |
停權參數(下述) |
cross |
int |
是否為連坐處罰 (非 0 為真,0 為假) |
exer |
const char * |
處罰執行者 |
回傳值 | int |
adm 引數的有效值 - 可當作下次呼叫 add_deny_exer() 時的 adm 引數。 |
資料結構 | 欄位 | 說明 |
---|---|---|
ACCT |
deny |
停權到期時間 |
ACCT |
userlevel |
使用者權限 - 停權時會設定禁制權限 PERM_DENY* 。 |
Macro | 值或定義 | 出處 | 說明 |
---|---|---|---|
DENY_SEL |
- (DENY_SEL_TALK|DENY_SEL_POST|DENY_SEL_MAIL|DENY_SEL_AD|DENY_SEL_SELL) - 0x0000000F (DreamBBS v3.0) |
WindTopBBS 3.02 |
DENY_SEL_* 的位元遮罩 (不含 DENY_SEL_OK ) 指定停權原因 - DENY_SEL_* 只能擇一。 |
DENY_SEL_NONE |
0x00000000 |
DreamBBS v3.0 | 不進行停權 |
DENY_SEL_TALK |
0x00000001 |
WindTopBBS 3.02 | 停權理由為「不當言論」 |
DENY_SEL_POST |
0x00000002 |
WindTopBBS 3.02 | 停權理由為「Cross Post」 |
DENY_SEL_MAIL |
- 0x00000004 - 0x00000003 (DreamBBS v3.0) |
WindTopBBS 3.02 | 停權理由為「散發連鎖信」 |
DENY_SEL_AD |
- 0x00000008 - 0x00000004 (DreamBBS v3.0) |
WindTopBBS 3.02 | 停權理由為「散發廣告信」 |
DENY_SEL_SELL |
- 0x00000010 - 0x00000005 (DreamBBS v3.0) |
WindTopBBS 3.02 | 停權理由為「販賣非法事物」 |
DENY_SEL_OK |
- 0x00000020 - (DENY_SEL_NONE | DENY_DAYS_RESET) (DreamBBS v3.0) |
WindTopBBS 3.02 | 立即復權 - DreamBBS v3.0 起會一併恢復基本使用者權限 |
DENY_DAYS |
(DENY_DAYS_1|DENY_DAYS_2|DENY_DAYS_3|DENY_DAYS_4|DENY_DAYS_5) - 改為 function-like macro(見下)(DreamBBS v3.0) |
WindTopBBS 3.02 |
DENY_DAYS_* 的位元遮罩 指定停權期間 - DENY_DAYS_* 只能擇一。 |
DENY_DAYS(_x) |
((_x) << 16U) |
DreamBBS v3.0 | 指定停權日數 - 最大值為 65535 日 (約 179.43 年)。 |
DENY_DAYS_ADM(_adm) |
((_adm) >> 16U) |
DreamBBS v3.0 | 取得停權日數用的 macro |
DENY_DAYS_PERM |
0x00004000 |
DreamBBS v3.0 | 無限期停權(設定禁制權限 PERM_DENYSTOP ) |
DENY_DAYS_RESET |
0x00008000 |
DreamBBS v3.0 | 重設停權期間 |
DENY_DAYS_1 |
- 0x00010000 - DENY_DAYS(7) (DreamBBS v3.0) |
WindTopBBS 3.02 | 停權一星期 (7 日) |
DENY_DAYS_2 |
- 0x00020000 - DENY_DAYS(14) (DreamBBS v3.0) |
WindTopBBS 3.02 | 停權兩星期 (14 日) |
DENY_DAYS_3 |
- 0x00040000 - DENY_DAYS(21) (DreamBBS v3.0) |
WindTopBBS 3.02 | 停權參星期 (21 日) |
DENY_DAYS_4 |
- 0x00080000 - DENY_DAYS(31) (DreamBBS v3.0) |
WindTopBBS 3.02 | 停權一個月 (31 日) |
DENY_DAYS_5 |
- 0x00100000 - (DENY_DAYS(31) | DENY_DAYS_PERM) (DreamBBS v3.0) |
WindTopBBS 3.02 | 無限期停權(停權 31 日+設定禁制權限 PERM_DENYSTOP ) |
DENY_MODE |
0x00000FF0 |
DreamBBS v3.0 |
DENY_MODE_* 的位元遮罩 指定停權權限 - DENY_MODE_* 只能擇一或全選 (WindTopBBS 3.02);- 可任意組合 (DreamBBS v3.0)。 |
DENY_MODE_ALL |
- (DENY_MODE_TALK|DENY_MODE_MAIL|DENY_MODE_POST|DENY_MODE_NICK|DENY_MODE_GUEST) (WindTopBBS 3.02) - (DENY_MODE_TALK|DENY_MODE_MAIL|DENY_MODE_POST|DENY_MODE_NICK) (WindTopBBS 3.10 & DreamBBS-2010) - (DENY_MODE_POST | DENY_MODE_TALK_PERM | DENY_MODE_CHAT | DENY_MODE_MAIL | DENY_MODE_NICK) (DreamBBS v3.0) |
WindTopBBS 3.02 | 設定所有禁制權限 PERM_DENY*
|
DENY_MODE_POST |
0x04000000 - 0x00000010 (DreamBBS v3.0) |
WindTopBBS 3.02 | 設定禁制權限 PERM_DENYPOST
|
DENY_MODE_TALK_PERM |
0x00000020 |
DreamBBS v3.0 | 設定禁制權限 PERM_DENYTALK
|
DENY_MODE_CHAT |
0x00000040 |
DreamBBS v3.0 | 設定禁制權限 PERM_DENYCHAT
|
DENY_MODE_MAIL |
0x02000000 - 0x00000080 (DreamBBS v3.0) |
WindTopBBS 3.02 | 設定禁制權限 PERM_DENYMAIL
|
DENY_MODE_NICK |
0x10000000 - 0x00000100 (DreamBBS v3.0) |
WindTopBBS 3.02 | 設定禁制權限 PERM_DENYNICK
|
DENY_MODE_LEVEL |
0x00000200 |
DreamBBS v3.0 | 除禁制權限外,只保留 guest 權限 |
DENY_MODE_VMAIL |
0x00000400 |
DreamBBS v3.0 | 無限期禁止以同認證信箱註冊 |
DENY_MODE_UNUSED7 |
0x00000800 |
DreamBBS v3.0 | (未使用) |
DENY_MODE_TALK |
- 0x01000000 - (DENY_MODE_TALK_PERM | DENY_DAYS_CHAT) (DreamBBS v3.0) |
WindTopBBS 3.02 | 設定禁制權限 PERM_DENYTALK|PERM_DENYCHAT
|
DENY_MODE_GUEST |
- 0x08000000 - (DENY_MODE_ALL | DENY_DAYS_PERM) (DreamBBS v3.0) |
WindTopBBS 3.02 | 設定所有禁制權限 除禁制權限外,只保留 guest 權限 無限期禁止以同認證信箱註冊 - 無限期停權(同 DENY_DAYS_5 );- 無限期停權(同 DENY_DAYS_PERM ) (DreamBBS v3.0)。 |
圖例:欄位名(所佔位元數)
(--
表示未使用的位元;已省略前綴 DENY_
以求簡潔)
32| --(3) | MODE_*(5) | --(3) | DAYS_*(5) | --(10) | SEL_*(6) |0
32| DAYS_*(16) | DAYS_RESET(1) | DAYS_PERM(1) | --(2) | MODE_*(8) | SEL_*(4) |0
- 舊的 macro 使用方法仍然有效。
- 將邏輯上僅能擇一的 macros,從可以相組合的位元旗標形式,改成僅能擇一的列舉形式,以充分運用值域空間。
- 停權期間改以日數指定,範圍與精細度皆增加了。
- 可指定範圍為 0 日至 65535 日。
- 原同時控制多個權限的 macros 已被分解,以利於自由組合。
- 為
0
時不再有未定義行為。-
add_deny()
的adm
引數為0
時,會詢問操作者要進行的操作。詢問完仍為0
則會取消操作(既不停權也不復權)。 -
add_deny_exer()
的adm
引數為0
時,則會有以下行為:- DreamBBS v3.0 前:引發未定義行為。
- DreamBBS v3.0 起:既不停權也不復權(
0
會被解析為DENY_SEL_NONE | DENY_DAYS(0) | !DENY_DAYS_PERM | !DENY_DAYS_RESET
)。
-
Macro | 值或定義 | 出處 | 說明 |
---|---|---|---|
GEM_QUIT |
-2 |
遞迴離開精華區 (未使用) | |
GEM_VISIT |
-1 |
瀏覽精華區 | |
GEM_USER |
0 |
有 一般使用者 的權限 | |
GEM_RECYCLE |
1 |
在 回收筒中 | |
GEM_LMANAGER |
2 |
有 小板主 的權限 | |
GEM_MANAGER |
3 |
有 板主 的權限 | |
GEM_SYSOP |
4 |
有 站長 的權限 |
- Home
- Install — 安裝說明
- Version
- Project Documentations — 專案說明文件
- Coding Style & Conventions — 程式碼撰寫風格與慣例
- Indentation
- Xover List System — Xover 列表系統
- Menu Systems — 選單系統
- Screen Coordinate System — 畫面座標系統
- BoardReadingHistory — BRH 看板閱讀紀錄系統
- Visio I/O Library — Visio 輸出入函式庫
- Permission System — 權限系統
- TANet BBS Family Genealogy Chart — TANet BBS 家族譜系圖
- 與 MapleBBS 3 的按鍵差異
- [WIP] 與 MapleBBS 3 的差異
- References — 參考資料
- Changelog & TODO
- Issue & TODO list — 問題與代辦事項清單
- MapleBBS-itoc Porting Project — MapleBBS-itoc 移植計畫
- BBS-Lua Changelog
- BBS-Ruby Changelog (external link — 外部鏈結)
- 新式密碼加密 (DLBBS v2.0+)
- [WIP] DreamBBS v3 發佈說明 Release Note
- Release Notes of Version 2.0.0 Artoria
- Version 2.0.0 Artoria 發行說明
- Release Notes of Version 1.0.0 Rimuru
- Version 1.0.0 Rimuru 發行說明
- NoCeM-innbbsd 原始說明文件
- WindTop 3.02 原始說明文件