作者itoc, 信區: itoc
標題[功能] menu.c 程式處理 FAQ
時間04/01/06
作者: itoc (League) 看板: plan
標題: [功能] 程式處理 FAQ
時間: 2004/01/06 Tue 20:38:20 Updated: 2005/05/19
讓程式去處理 FAQ
: menu.c:menu_user[] 新增選項
faq, 0, M_XMODE,
"0FAQ 《 我有問題 》",
: menu.c:faq() 加在 goodbye() 下面
static int
faq()
{
int rc;
char *menu[] =
{
"QQ",
"Quit 問題問完了",
"1 看板不見了",
"2 不能發表文章",
"3 不能使用簽名檔",
"0 其他",
NULL
};
while (1)
{
rc = pans(3, 20, "常見問題", menu);
if (rc == '1')
{
int bno;
BRD *brd;
char bname[BNLEN + 1];
extern BCACHE *bshm;
extern char brd_bits[];
if (brd = ask_board(bname, BRD_L_BIT, NULL))
{
bno = brd - bshm->bcache;
brd_bits[bno] &= ~BRD_Z_BIT;
brh_save();
board_main();
vmsg("處理完成");
}
}
else if (rc == '2')
{
if (HAS_PERM(PERM_DENYPOST))
vmsg("您已經被停權了");
else if (!HAS_PERM(PERM_VALID))
vmsg("您尚未通過認證喔");
#ifdef NEWUSER_LIMIT
else if (!HAS_PERM(PERM_POST))
{
if (ap_start - time(NULL) >= 3 * 86400)
vmsg("請重新上站,就可以了");
else
vmsg("新手上路,見習三天,您必須在註冊滿三天以後才能發表文章");
}
#endif
else
{
vmsg("您明明就可以發表文章啊~");
}
}
else if (rc == '3')
{
cuser.ufo &= ~UFO_NOSIGN;
cutmp->ufo = cuser.ufo;
vmsg("處理完成");
}
else if (rc == '0')
{
int bno;
vmsg("若有其他疑難雜症,請在 sysop 板按 Ctrl+P 寫文章問站長");
bno = brd_bno("sysop");
XoPost(bno);
xover(XZ_POST);
#ifndef ENHANCED_VISIT
time(&brd_visit[bno]);
#endif
}
else
{
return 0;
}
}
}
--
□ 本文章由 itoc 從 itoc.Dorm11.NCTU.edu.tw 發表