作者qazq.bbs@bbs.cs.nchu.edu.tw (ξ愛情御守ξ) 看板: plan
標題[功能] 進階匿名發文功能。
時間中興資科 (Tue, 19 Aug 2003 04:44:06 +0800 (CST)) Updated: 2003/08/19
1) 先詢問要不要匿名發文,預設為[Y]使用匿名發文。
打[N]的話,直接以自己的ID發文。
2) 自定ID的時候,如果為自己的ID,那麼就不匿名發文(後面不加'.')
如果自定的ID已經有人註冊,那麼出現訊息並且要求重新輸入。
3) 確定自定的ID沒有人使用後,方可發文成功。
修改下面的程式,因為有些程式碼太長,在BBS顯示的時候會導致斷行。
所以我把太長的程式碼分成兩行,修改的時候可自行接回。
==============================================================================
: src/maple/edit.c:ve_header()
if (curredit & EDIT_MAIL)
{
fprintf(fp, "%s %s (%s)\n", str_author1, cuser.userid, cuser.username);
}
else
{
#ifdef HAVE_ANONYMOUS
if (currbattr & BRD_ANONYMOUS)
{
+ if (vans("要匿名發表文章嗎(Y/N)?[Y] ") != 'n') /* 預設改為匿名發表 */
+ {
+ do
+ {
+ if (!vget(b_lines, 0, "請輸入你想用的ID,也可直接按[Enter]:",
+ anonymousid, IDLEN, DOECHO))
+ {
+ strcpy(anonymousid, STR_ANONYMOUS);/* 按Enter,匿名ID就用預設的 */
+ curredit |= EDIT_ANONYMOUS;
+ break;
+ }
+ else if (!strcmp(anonymousid, cuser.userid)) /* 自定匿名ID */
+ { /* 和自己的ID一樣,不匿名發文 */
+ curredit |= EDIT_ANONYMOUS;
+ break;
+ }
+ else
+ {
+ char fpath[64];
+ usr_fpath(fpath, anonymousid, NULL);
+ if (dashd(fpath)) /* 檢查這個ID有沒有註冊 */
+ {
+ vmsg("這個ID有人用了喔!換一個吧。"); //訊息內容可自己更改
+ }
+ else /* 終於可以用自己想要的ID發文了:P */
+ {
+ strcat(anonymousid, ".");/* 若是自定ID,要在後面加個 . 表示不同*/
+ curredit |= EDIT_ANONYMOUS;
+ break;
+ }
+ }
+
+ } while (1);
+
+ }
+ }
- if (!vget(b_lines, 0, "請輸入你想用的ID,也可直接按[Enter]"
- ",或是按[r]用真名:", anonymousid, IDLEN, DOECHO))
- { /* 留 1 byte 加 "." */
- strcpy(anonymousid, STR_ANONYMOUS);
- curredit |= EDIT_ANONYMOUS;
- }
- else if (strcmp(anonymousid, "r"))
- {
- strcat(anonymousid, "."); /* 若是自定ID,要在後面加個 . 表示不同 */
- curredit |= EDIT_ANONYMOUS;
- }
- }
#endif
if (!(currbattr & BRD_NOSTAT)) /* 看板不納入統計 */
{
/* 產生統計資料 */
--
┌┼ Author: 中興資科˙中興資科 e資獨秀 bbs.cs.nchu.edu.tw
└┘ Origin: qazq 從 61-216-251-115.HINET-IP.hinet.net 發表