作者kewang.bbs@bbs.niu.edu.tw (kewang) 看板: plan
標題[功能] 自訂文章範本
時間蘭雨情懷資訊站 (2006/06/01 Thu 20:19:17) Updated: 2005/06/02
一直沒看到有人寫這個功能出來
最近有時間 我就研究了一下
==============================================================================
先做下面這個功能 要不然做了自訂範本也沒什麼意義
[功能] manage.c 板主自訂發文類別
==============================================================================
include/config.h
+ #ifdef POST_PREFIX //自訂文章類別數目 by kewang 2006.06.01
+ #define NUM_PREFIX 6
+ #define HAVE_TEMPLATE //自訂文章範本 by kewang 2006.06.01
+ #endif
==============================================================================
新增post_template_edit()這個函式在 so/manage.c:post_manage() 前面
#ifdef HAVE_TEMPLATE //自訂文章範本 by kewang 2006.06.01
/* ----------------------------------------------------- */
/* 板主功能 : 自訂文章範本 */
/* ----------------------------------------------------- */
static int
post_template_edit(xo)
XO *xo;
{
int i;
int ans;
char buf[64], fpath[64];
char ftemplate[11];
if (!(bbstate & STAT_BOARD))
return XO_NONE;
for (i = 0; i < NUM_PREFIX; i++)
{
sprintf(buf, "範本%d (D)刪除 (E)修改 (Q)取消?[E] ", i+1);
ans = vans(buf);
if (ans == 'q')
continue;
sprintf(ftemplate, "template_%d", i+1);
brd_fpath(fpath, currboard, ftemplate);
if (ans == 'd')
{
unlink(fpath);
continue;
}
if (vedit(fpath, 0)) /* Thor.981020: 注意被talk的問題 */
vmsg(msg_cancel);
return XO_HEAD;
}
return XO_FOOT;
}
#endif
==============================================================================
修改so/manage.c:post_prefix_edit()
: #define NUM_PREFIX 6
- #define NUM_PREFIX 6
==============================================================================
修改maple/post.c:do_post()
utmp_mode(M_POST);
+#ifdef HAVE_TEMPLATE //自訂文章範本 by kewang 2006.06.01
+ if (mode >= 0 && mode < NUM_PREFIX)
+ {
+ char ftemplate[11];
+ sprintf(ftemplate, "template_%d", mode + 1);
+ brd_fpath(fpath, currboard, ftemplate);
+ }
+#else
fpath[0] = '\0';
+#endif
==============================================================================
修改maple/edit.c:vedit()
case Ctrl('X'): /* Save and exit */
+ #ifdef HAVE_TEMPLATE //自訂文章範本 by kewang 2006.06.01
+ if (strstr(fpath, "template_") != NULL && ve_op == 1)
+ fpath[0] = '\0';
+ #endif
==============================================================================
修改so/manage.c:post_manage()
"WMemo 編輯進板畫面",
+#ifdef HAVE_TEMPLATE
+ "CusPost 自訂文章範本",
+#endif
...
...
case 'w':
return post_memo_edit(xo);
+#ifdef HAVE_TEMPLATE
+ case 'c':
+ return post_template_edit(xo);
+#endif
==============================================================================
大概就是這樣子~
不過自訂類別那個部分大家在做的時候可能會產生一些問題
大家自己找找好了 因為我之前改的忘了做註解
如果覺得哪邊可以再改進 歡迎指教
--
Site 國立宜蘭大學˙蘭雨情懷資訊站 【bbs.niu.edu.tw】
From 220-132-68-25.HINET-IP.hinet.net精華選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻