回精華區
作者hession.bbs@ccudream.twbbs.org (Be myself-作自己-) 看板: plan
標題Re: 設定看板屬性-> 讓使用者貼文後不得刪除
時間中正築夢園 (2004/03/27 Sat 12:14:14) Updated: 2005/05/26
因為 有些看板不想讓使用者刪文
所以我試著去改
但是 不熟悉版主的權限的開放怎麼作

我希望該看版在經過設定後
除了 該版版主及站長有權 刪文 或修改文章之外
其餘非該版的版主 不得刪文

以下是我試著作的修改
希冀各位的指導
=============================================

: battr.h

#define BRD_ANONYMOUS   0x20    /* 匿名看板 */
+ #define BRD_NODEL       0x40    /* hession.040313: 不得刪文看板 */

  ...
  ...

- #define NUMBATTRS       6
+ #define NUMBATTRS       7

- #define STR_BATTR       "zTcsvA"
+ #define STR_BATTR       "zTcsvAD"

: battr.h:battr_tbl[]

  "匿名看板",                   /* BRD_ANONYMOUS */
+ "不得刪文看板"                /* hession.040310: BRD_NODEL */

: post.c:post_delete()

  if (!cuser.userlevel ||
    !strcmp(currboard, BN_DELETED) ||
    !strcmp(currboard, BN_JUNK))
    return XO_NONE;

+ if (currbattr & BRD_NODEL)
+   return XO_NONE;  /* hession.040310: 使看板貼文者無法刪文 */


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

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

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

static int
post_battr_nodel(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_NODEL;
    break;
  case '2':
    newbrd.battr |= BRD_NODEL;
    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
+   "Delete  刪除文章設定",

  ...
  ...

#  ifdef HAVE_SCORE
    " (S)評分"
#  endif
+   " (D)刪除"

  ...
  ...

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

+ case 'd':
+   return post_battr_nodel(xo);

--
     ˙    ˙ ◢▇◣ ◢▇◣ ▇  ▇ █▇◣ █▇◣ █▇◣ ◢▇◣ █▇▉   
  ˙          █     █     █  █ █  ▉ █  ▉ █▆   █▆▉ ▉▉▉ 
     ˙     ◥█◤ ◥█◤ ◥█◤ ██◤ █◥▆ █▆◤ █  ▉ ▉▉▉˙  
  CDBBS  中正築夢園BBS站 歡迎蒞臨參觀 cd.twbbs.org  (140.123.20.230)    
 http://cd.twbbs.org   Author: hession     ★ From: 218.165.154.245    
精華選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻