作者itoc.bbs@processor.tfcis.org (:MM:), 看板: plan
標題Re: [問題] 使用者修改自己的文章不能改標題
時間XEON (Thu Dec 26 12:01:54 2002) Updated: 2005/10/07
※ 引述《chonsi.bbs@WithHeart.twbbs.org (冰塊中的烈火 - 冰焰)》之銘言:
> 當使用者修改自己的文章的時候...
> Ctrl+x 會顯示出
> [S]存檔 (A)放棄 (T)改標題 (E)繼續 (R/W/D)讀寫刪暫存檔?
> 此時選擇 T 卻不能修改標題...
> 只能夠在文章列表按下 T 修改...
如果想改的話..應該是這樣子
: edit.c:ve_filer()
case 't':
- if (ve_op > 0) /* itoc.010301: 不能儲存 */
+ if (ve_op >= 0) /* itoc.010301: 不能儲存 */
{
strcpy(buf, ve_title);
if (!vget(b_lines, 0, "標題:", ve_title, TTLEN + 1, GCARRY))
strcpy(ve_title, buf);
}
return VE_FOOTER;
: post.c:post_edit()
hdr_fpath(fpath, xo->dir, hdr);
+ strcpy(ve_title, hdr->title);
...
...
+ if (strcmp(ve_title, hdr->title)) /* 更動了標題 */
+ {
+ strcpy(hdr->title, ve_title);
+ currchrono = hdr->chrono;
+ rec_put(xo->dir, hdr, sizeof(HDR), xo->key == XZ_XPOST ?
+ hdr->xid : xo->pos, cmpchrono);
+ return XO_INIT; /* itoc.021226: XZ_POST 和 XZ_XPOST 共用 post_edit() */
+ }
/* return post_head(xo); */
return XO_HEAD; /* itoc.021226: XZ_POST 和 XZ_XPOST 共用 post_edit() */
}
: mail.c:mbox_edit()
hdr = (HDR *) xo_pool + (xo->pos - xo->top);
hdr_fpath(fpath, xo->dir, hdr);
if (!strcmp(hdr->owner, cuser.userid) || HAS_PERM(PERM_ALLBOARD))
+ {
+ strcpy(ve_title, hdr->title);
vedit(fpath, 0);
+ if (strcmp(ve_title, hdr->title)) /* 更動了標題 */
+ {
+ strcpy(hdr->title, ve_title);
+ currchrono = hdr->chrono;
+ rec_put(xo->dir, hdr, sizeof(HDR), xo->key == XZ_XPOST ?
+ hdr->xid : xo->pos, cmpchrono);
+ return mbox_init(xo);
+ }
+ }
else
vedit(fpath, -1); /* 只能編輯不可儲存 */
return mbox_head(xo);
}
: gem.c:gem_edit()
if (!(level & GEM_W_BIT) || ((hdr->xmode & GEM_RESERVED) && !(level & GEM_X_BIT)))
{
vedit(fpath, -1);
}
else
{
+ strcpy(ve_title, hdr->title);
if (vedit(fpath, 0) >= 0)
+ {
gem_log(xo->dir, "修改", hdr);
+ if (strcmp(ve_title, hdr->title)) /* 更動了標題 */
+ {
+ strcpy(hdr->title, ve_title);
+ rec_put(xo->dir, hdr, sizeof(HDR), xo->pos, NULL);
+ return gem_init(xo);
+ }
+ }
}
--
╭── Origin ╮ 動力核心 processor.tfcis.org ~ αβγ ──┼
┼ Author ╯ itoc.Dorm-GD2.NCTU.edu.tw