回文章列表
作者itoc.bbs@cpu.tfcis.org (核心動力) 看板: itoc
標題Re: [討論] 大D文章備份
時間動力核心 (2007/05/18 Fri 21:59:42)
※ 引述《maya (瑪雅)》之銘言:
> 我想要把大D的文章備份至rangedel看板,

  把大D、^N、^D的文章備份至rangedel看板

: global.h

  deleted     站務 文章拯救‧資源回收 PERM_BM       PERM_SYSOP
+ rangedel    站務 文章拯救‧大刀回收 PERM_ALLBOARD PERM_SYSOP

  ...
  ...

  #define BN_DELETED      "deleted"       /* 板主刪除的文章放在此 */
+ #define BN_RANGEDELETED "rangedel"      /* 板主大D的文章放在此 */

: 手動開板

  手動增加看板rangedel

: post.c:move_post()

static inline int
- move_post(hdr, folder, by_bm)
+ move_post(hdr, folder, by_bm, rangedel)
  HDR *hdr;
  char *folder;
  int by_bm;
+ int rangedel;
{
  ...
  ...

- #ifdef HAVE_REFUSEMARK
-   board = by_bm && !(xmode & POST_RESTRICT) ? BN_DELETED : BN_JUNK;
- #else
-   board = by_bm ? BN_DELETED : BN_JUNK;
- #endif

+   if (by_bm)
+   {
+#ifdef HAVE_REFUSEMARK
+     if (xmode & POST_RESTRICT)
        BN_JUNK;
+     else
+#endif
+     if (rangedel)
+       board = BN_RANGEDELETED;
+     else
+       board = BN_DELETED;
+   }
+   else
+   {
+     board = BN_JUNK;
+   }

: ────────────────────────────────────

  一、把大D的文章備份至rangedel看板

: post.c:delpost_movepost() 新增此函式在 delpost() 後面

static void
delpost_movepost(xo, hdr)
  XO *xo;
  HDR *hdr;
{
  cancel_post(hdr);
  move_post(hdr, xo->dir, 1, 1);
}

: post.c:post_rangedel(xo)

- return xo_rangedel(xo, sizeof(HDR), chkpost, delpost);
+ return xo_rangedel(xo, sizeof(HDR), chkpost, delpost_movepost);

: post.c:post_delete()

-     pos = move_post(hdr, xo->dir, by_BM);
+     pos = move_post(hdr, xo->dir, by_BM, 0);

: ────────────────────────────────────

  二、把^N的文章備份至rangedel看板

: post.c:post_delabel()

      /* 連線砍信 */
      cancel_post(hdr);

-     hdr_fpath(fold, folder, hdr);
-     unlink(fold);
+     move_post(hdr, folder, 1, 1);

: ────────────────────────────────────

  三、把^D的文章備份至rangedel看板

: post.c:post_prune()

- ret = xo_prune(xo, sizeof(HDR), vfypost, delpost);
+ ret = xo_prune(xo, sizeof(HDR), vfypost, delpost_movepost);

: ────────────────────────────────────

  假如 一、二、三 都有做的話
  那麼 post.c:delpost() 此函式可以整個刪除


--
=[:摃�◣�:Origin ]|[  Ocpu.tfcis.org  ]|[�搟說:]=
=[:摃�╱�:Author ]|[61-216-37-124.dynamic.hine]|[�:]=
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻