回精華區
作者qazq.bbs@bbs.cs.nchu.edu.tw (Maple-itoc) 看板: plan
標題[功能] 看板屬性-不能回覆文章到看板。
時間中興資科 (2004/01/11 Sun 11:16:07) Updated: 2005/05/26
    因為站上有些看板會有大量的灌水現象,但是又不符合該板的風格。

    比如說是 feeling 板、 blame 板。

    改成不能回文應該可以減少灌水現象。

    但是也只是治標不能治本啦!自己把標題改成 Re: xxxxx 也是可以的!

    但是多少可以減少吧!呵呵~

==============================================================================

: battr.h

#define BRD_ANONYMOUS   0x20    /* 匿名看板 */
+ #define BRD_NOREPLY   0x40    /* 不能回應文章到看板 */

  ...
  ...

- #define NUMBATTRS       6
+ #define NUMBATTRS       7

- #define STR_BATTR       "zTcsvA"
+ #define STR_BATTR       "zTcsvAr"

: battr.h:battr_tbl[]

  "匿名看板",           /* BRD_ANONYMOUS */
+ "不能回應文章到看板", /* BRD_NOREPLY */

: post.c:do_reply()

- switch (vans("▲ 回應至 (F)看板 (M)作者信箱 (B)二者皆是 (Q)取消?[F] "))
+ switch (vans((currbattr & BRD_NOREPLY) ?
+   "▲ 回應至 (M)作者信箱 (Q)取消?[Q] " :
+   "▲ 回應至 (F)看板 (M)作者信箱 (B)二者皆是 (Q)取消?[F] "))
  {
    ...
    ...

  case 'b':
+   if (currbattr & BRD_NOREPLY)    /* qazq.040110: 不能回文到看板 */
+     return XO_FOOT;
    if (cuser.userlevel)    /* guest 選 Both 仍只回到看板上,不回作者信箱 */
      curredit = EDIT_BOTH;
    break;
  }

+ if (currbattr & BRD_NOREPLY)  /* qazq.040110: 不能回文到看板 */
+ {
+   *quote_file = '\0';
+   return XO_FOOT;
+ }

  if (hdr->xmode & (POST_INCOME | POST_OUTGO))
    curredit |= EDIT_OUTGO;

> ──────────────────────────────────── <

  如果希望開放給板主自行設定

: manage.c 把以下這段加在 post_battr_noscore() 後面

static int
post_battr_noreply(xo)
  XO *xo;
{
  BRD *oldbrd, newbrd;

  oldbrd = bshm->bcache + currbno;
  memcpy(&newbrd, oldbrd, sizeof(BRD));

  switch (vans("1)可以回應文章 2)不可回應文章 [Q] "))
  {
  case '1':
    newbrd.battr &= ~BRD_NOREPLY;
    break;
  case '2':
    newbrd.battr |= BRD_NOREPLY;
    break;
  default:
    return XO_FOOT;
  }

  if (memcmp(&newbrd, oldbrd, sizeof(BRD)) && vans(msg_sure_ny) == 'y')
  {
    memcpy(oldbrd, &newbrd, sizeof(BRD));
    rec_put(FN_BRD, &newbrd, sizeof(BRD), currbno, NULL);
  }

  return XO_FOOT;
}

: manage.c:post_manage()

#  ifdef HAVE_SCORE
    "Score   設定可否評分",
#  endif
+   "Reply   回應文章設定",

  ...
  ...

#  ifdef HAVE_SCORE
    " (S)評分"
#  endif
+   " (R)回文"

  ...
  ...

#ifdef HAVE_SCORE
  case 's':
    return post_battr_noscore(xo);
#endif

+ case 'r':
+   return post_battr_noreply(xo);

--
  Author:  中興資科˙中興資科 e資獨秀  csNCHU.twbbs.org 
  Origin: qazq 61-216-137-2.HINET-IP.hinet.net 發表
精華選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻