Re: 關於 t 標籤功能...

看板Maple (BBS架站)作者時間22年前 (2002/05/02 10:17), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
※ 引述《chunhan (Hook Club)》之銘言: > 站內不少版主是用 t 標籤文章後, 最後再按 ctrl+d 將一些垃圾post 刪除, > 可是 t 文章後, 若不小心出了板再進入後, 就什麼都沒有了ㄟ ><~ > 有無辦法重新進入版面後, 文章還保留 t 的狀態 (也就是前面有個 * 號), > 方便板主不小心進出後還可以繼續管理板務呢 ? 看板中被板主按 n 設為待砍的文章 再按 ^n,系統就會自動把所有待砍文章清除 (按鍵不喜歡的話自己改) > hdr.h #define POST_LABEL 0x00002000 /* 標記待砍的 */ > post.c post_attr() attr = brh_unread(fhdr->chrono) ? 0 : 0x20; mode &= (bbstate & STAT_BOARD) ? ~0 : ~POST_GEM; /* Thor:一般user看不到G */ if (mode &= (POST_MARKED | POST_GEM)) attr |= (mode == POST_MARKED ? 'M' : (mode == POST_GEM ? 'G' : 'B')); + else if (mode & POST_LABEL) + attr |= 'T'; else if (!attr) attr = '+'; > post.c 新增這二隻函式 static int post_label(xo) XO *xo; { if (bbstate & STAT_BOARD) { HDR *hdr; int pos, cur, xmode; pos = xo->pos; cur = pos - xo->top; hdr = (HDR *) xo_pool + cur; xmode = hdr->xmode; if (xmode & POST_MARKED) /* mark 不能待砍 */ return XO_NONE; hdr->xmode = xmode ^ POST_LABEL; #ifdef HAVE_XYPOST rec_put(xo->dir, hdr, sizeof(HDR), xo->key == XZ_XPOST ? hdr->xid : pos); #else rec_put(xo->dir, hdr, sizeof(HDR), pos); #endif move(3 + cur, 7); outc(post_attr(hdr)); } return XO_NONE; } static int post_prune(xo) XO *xo; { int fdr, fsize, xmode; char fnew[80], fold[80], *folder; HDR *hdr; FILE *fpw; if (!(bbstate & STAT_BOARD)) return XO_NONE; if (vans("確定要刪除待砍文章嗎(Y/N)?[N] ") != 'y') return XO_FOOT; folder = xo->dir; if ((fdr = open(folder, O_RDONLY)) < 0) return XO_FOOT; if (!(fpw = f_new(folder, fnew))) { close(fdr); return XO_FOOT; } /* itoc.020307.註解: 順便有清 POST_CANCEL, POST_DELETE 整理版面的功用 */ fsize = 0; mgets(-1); while (hdr = mread(fdr, sizeof(HDR))) { xmode = hdr->xmode; if (xmode & (POST_CANCEL | POST_DELETE)) /* 已刪除 */ continue; if (!(xmode & POST_LABEL)) { if ((fwrite(hdr, sizeof(HDR), 1, fpw) != 1)) { close(fdr); fclose(fpw); unlink(fnew); return XO_FOOT; } fsize++; } else { /* 連線砍信 */ cancel_post(hdr); hdr_fpath(fold, folder, hdr); unlink(fold); } } close(fdr); fclose(fpw); sprintf(fold, "%s.o", folder); rename(folder, fold); if (fsize) rename(fnew, folder); else unlink(fnew); return XO_LOAD; } > post.c post_cb[] 'n', post_label, Ctrl('N'), post_prune, > post.c xpost_cb[] 'n', post_label, > @board.hlp (D/^D/^N) 刪除範圍/標籤/待砍 (m/i) 標記/待砍 -- ※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: nctu5566.Dorm3.NCTU.edu.tw

02/21 14:51, , 1F
かいかあたかまら
02/21 14:51, 1F
文章代碼(AID): #yqA6T00 (Maple)
文章代碼(AID): #yqA6T00 (Maple)