作者guessi.bbs@cpu.tfcis.org (沒) 看板: itoc
標題[修正] 轉錄文章: 原文章加註記錄
時間動力核心 (2007/03/17 Sat 16:23:39)
修正原因: 原本的轉錄方式 轉錄者IP位置沒有被記錄且無法得知原文章是否被轉錄
修 改 後: 原文章 --> 以推文方式註記 "此篇已被轉錄至[xxxx]看板"
轉錄文 --> 除了原先文章開頭註記 "此篇文章轉錄自[xxxx]看板"
另外附加站簽 用以記錄轉文者IP位置
同時亦可區隔原文章推文/轉錄文推文
ex: 以前文章經轉錄的狀況 xxxxx 推: 推文內容推文內容 <<-- 原文章推文 ┐
但經轉錄後的新推文 yyyyy 推: 轉錄文章推文內容 <<-- 轉錄後推文 ┤
│
無法分辨兩推文為轉錄前就已經有了還是轉錄後才新增的 ←┘
說明文字顯得有些複雜 直接看code會比較容易懂 :p
:src/maple/post.c:post_cross()
! FILE *fpr, *fpw, *fpo;
if (method) /* 一般轉錄 */
{
...
...
+ ve_banner(fpw, 0); /* 留下站簽 記錄轉錄者IP位置 070317 guessi */
fclose(fpw);
...
...
}
else
{
...
...
strcpy(xpost.date, hdr->date); /* 原文轉載保留原日期 */
}
+ if (fpo = fopen(fpath, "a"))
+ {
+ char msg[64];
+ usint checklevel;
+
+ time_t now;
+ struct tm *ptime;
+
+ time(&now);
+ ptime = localtime(&now);
+
+ checklevel = (bshm->bcache + xbno)->readlevel;
+
+ sprintf(msg, "本文已轉錄至 [%s] 看板",
+ (checklevel == PERM_SYSOP || checklevel == PERM_BOARD) ?
+ "秘密" : xboard); /* 檢查目標看板閱讀權限 */
+
+ fprintf(fpo, "\033[1;30m轉 %s:%-*s %02d/%02d %02d:%02d\033[m\n",
+ cuser.userid, 62 - strlen(cuser.userid), msg,
+ ptime->tm_mon + 1, ptime->tm_mday, ptime->tm_hour, ptime->tm_min);
+ /* 格式自訂 盡量與推文類似 */
+
+ fclose(fpo);
+
+ } /* 轉錄原文註記錄 070317 guessi */
strcpy(xpost.title, ve_title);
...
...
--
=[﹎:�摃�◣��:﹎ Origin ]|[ ���O���� cpu.tfcis.org ]|[�搟說�﹎:]=
=[﹊:�摃�╱��:﹊ Author ]|[59-115-101-19.dynamic.hine]|[���插�﹊:]=
= ▊▌▎▎Modify ▎▌▋▊▊≡: Sat, 17 Mar 2007 16:28:34 CST :≡:]=