作者hpo14.bbs@ntust.org (when) 看板: itoc
標題[功能] 觀看看板設定
時間資工清流站 (2007/06/17 Sun 02:17:01)
今天突然莫名其妙想做一下 ptt 那種的可以直接看看板設定功能
由於 Maple 的大寫B是管理看板功能選單,所以就直接把觀看設定也一併丟到大寫B
所以按大寫B的流程會就變這樣:
show 出看板設定, 判斷是不是板主, 是-> 詢問是否要變更看板設定
否-> 底部秀出無權限資訊
其實這個可以把 manage.c 中所有的板主功能一次合併起來
像是 ptt的方式一樣 (參考 ptt/mbbsd/bbs.c: b_config())
若能合併倒不錯,開始修改吧。
題外話,倘若有些功能貴站沒做,可以直接拿掉.. EX: 不可回覆, 不可刪文…
還有,以下已經秀出的設定,包含了 [評分系統], 故在 NECKER 上面的也可以拿掉
若想把其他看板設定的資訊加進來,記得自己排版兼設定。
>src/so manage.c post_manage()
int
post_manage(xo)
XO *xo;
{
/* hpo14.20070616: 看板資訊 */
+ BRD *brd;
+ brd = bshm->bcache + currbno;
+ move(b_lines - 7, 0);
+ outs(MSG_SEPERATOR);
+ prints("\n目前 %s 看板設定\n", brd->brdname);
+ prints(" 所屬分類: %-36.36s\n", brd->class);
+ prints(" 中文敘述: %-36.36s\n", brd->title);
+ prints(" 板主名單: %-36.36s\n", (brd->BM[0] > ' ')? brd->BM : "誠徵板主");
+ prints(" 是否轉信: %s(站長才能設定)\n", (brd->battr & BRD_NOTRAN) ? "是" : "
否");
+ move(b_lines - 5, 51);
+ prints("\033[1;36mL\033[m - \033[1m%s\033[m 看板%s", (brd->readlevel ==
PERM_SYSOP) ? "隱藏" : "公開",
(brd->readlevel != 0) ? "[板友才可發文]" : "[無特別設定]");
+ move(b_lines - 4, 51);
+ prints("\033[1;36mR\033[m - \033[1m%s\033[m 回覆文章", (brd->battr &
BRD_NOREPLY) ? "不可以" : "可以");
+ move(b_lines - 3, 51);
+ prints("\033[1;36mP\033[m - \033[1m%s\033[m 使用注音文", (brd->battr &
BRD_NOPHONETIC) ? "不可以" : "可以");
+ move(b_lines - 2, 51);
+ prints("\033[1;36mD\033[m - \033[1m%s\033[m 刪除自己的文章", (brd->battr &
BRD_NODEL) ? "不可以" : "可以");
+ move(b_lines - 1, 51);
+ prints("\033[1;36mS\033[m - \033[1m%s\033[m 評分(推文)", (brd->battr &
BRD_NOSCORE) ? "不可以" : "可以");
+ move(b_lines, 0);
+ if (!(bbstate & STAT_BOARD))
+ {
+ char buf[256];
+ sprintf(buf, "\033[1;36;44m ◆ %-60s\033[33;46m [按任意鍵繼續] \033[m", "
您對此看板沒有管理權限");
+ vans(buf);
+ return XO_BODY;
+ }
+ else
+ {
+ if (vans("是否變更看板設定 [y/N]?[N]") != 'y')
+ return XO_BODY;
+ }
+ /* hpo14.20070616: 看板資訊 */
……………
……………
+/*
if (!(bbstate & STAT_BOARD))
return XO_NONE;
+*/
--
>> 台灣科技大學 資工清流站 # ntust.org #
>> Author: 61-59-78-243.adsl.static.seed.net.tw