回文章列表
作者allen501pc.bbs@bbs.sa.ncyu.edu.tw (加 ~ 油 !!) 看板: itoc
標題Re: [問題]功能-文章編輯時無法加分
時間新綠園 (2007/03/31 Sat 22:08:00)
若是加入以下:

hdr.h 中 struct hdr 多增加以下欄位:
{
   ..
   ..
   time_t edittime;
   ..
..
} HDR

然後在post_edit()內多加黃色部份
※ 引述《chrisliu.bbs@loli.twbbs.org (ChrisLiu*)》之銘言:
> ───────────────────────────────────────
> ※ 引述《allen501pc.bbs@bbs.sa.ncyu.edu.tw (靜養中..)》之銘言:
> [deleted]
> >   可是不管怎麼弄,一定會進入vedit(fpath,0),所以我在進入之前的那一刻加入
> >   hdr->xmode = xmode ^ POST_NOW_EDIT;
> >   先鎖住,不管最後有沒有編輯成功,在執行完vedit(fpath,0) 之後馬上解放
>   對... 我看錯了...
>   所以 你要加入的是
> +    hdr->xmode = xmode ^ POST_NOW_EDIT;
 hdr->edittime = time(0) + 1200 ;  /* allen501pc: 限制20分鐘內 使用者
                                             不得推文 */
> +    currchrono = hdr->chrono;
> +    rec_put(xo->dir, hdr, sizeof(HDR), xo->key == XZ_XPOST ? hdr->xid : pos,
>       cmpchrono); //同行
>     if (!vedit(fpath, 0))       /* 若非取消則加上修改資訊 */
>     {
>       if (fp = fopen(fpath, "a"))
>       {
>         ve_banner(fp, 1);
>         fclose(fp);
>       }
>     }
 hdr->edittime = 0;  /* allen501pc: 歸零 */
> +   hdr->xmode=xmode;
> +   currchrono = hdr->chrono;
> +   rec_put(xo->dir, hdr, sizeof(HDR), xo->key == XZ_XPOST ? hdr->xid : pos,
>       cmpchrono); //同行
>   這樣應該可以!?
>   最前面要改成下面那樣 因為 rec_put 的時候會用到
>   那問題就如 weiyu.bbs@muse.twbbs.org 所說的一樣 參考 post_mark 寫回即可
> +    int pos, cur, xmode;
> +    pos = xo->pos;
> +    cur = pos - xo->top;
> !    hdr = (HDR *) xo_pool + cur;
> +    xmode = hdr->xmode;

在 post.c : post_score()中加入以下:

  /* allen501pc:20070225 正在編輯文章的旗標 */
+  if((hdr->xmode & POST_NOW_EDIT) && time(0)<(hdr->edittime))
+  {
+     zmsg("此篇文章正被編輯中...");
+     return XO_NONE;
+  }

  switch (ans = vans("◎ 評分 1)推文 2)唾棄 3)自定推 4)自定呸 5)續推加註?[Q]
"))
  {
  case '1':


..
..

或許可以成功,但是我編譯時候,
[~/src/maple/]$ rm -rf *.o
[~/src/maple/]$ make linux install update

發現HDR欄位全亂掉了,可是沒動到struct啊?

有大大可以提供意見嗎?

這樣做應該就快完成了^^
--
  ╒═╕
  ║  ║║║           過方知
  ╠═╣║║╓═┐╭─╮
  ║  ║║║╠═╜║  ║    過方知
    ║║║╰─╯│  

--
    ╭─ Origin ─╗ 新綠園  bbs.sa.ncyu.edu.tw  ~ κλμ ─┤
    ├   Author   ╡ 220-133-214-148.HINET-IP.hinet.net    
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻