作者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 ]|[ ���O���� cpu.tfcis.org ]|[�搟說�﹎:]=
=[﹊:�摃�╱��:﹊ Author ]|[61-216-37-124.dynamic.hine]|[���插�﹊:]=