回文章列表
作者itoc.bbs@kulu.twbbs.org (站上人數:802) 看板: itoc
標題[功能] 文章可以讓所有人編輯
時間咕嚕咕嚕火鍋站 (2007/03/21 Wed 22:23:43)
※ 引述《pokky (愛你)》之銘言:
>   可是我想問你有沒有BBS 功能可以像維基百科那樣
>   就是文章可以讓所有的使用者改來改去
>   比如說不是常有叫大家repost要不要去家聚之類的
>   如果說可以一篇文章讓所有看到的人都進去編輯
>   這樣版面就會看起來乾淨很多~

: struct.h

- #define POST_3          0x00000004
+ #define POST_WIKI       0x00000004

: post.c:post_attr()

  if (mode & POST_MARKED)
    attr |= 'M';
+ else if (mode & POST_WIKI)
+   attr |= 'W';
  else if (!attr)
    attr = '+';

: post.c:post_edit()

- else if (cuser.userlevel && !strcmp(hdr->owner, cuser.userid))
+ else if (cuser.userlevel && (!strcmp(hdr->owner, cuser.userid) ||
+   (hdr->xmode & POST_WIKI)))

: post.c:post_wiki() 新增在 post_mark() 後面

static int
post_wiki(xo)
  XO *xo;
{
  HDR *hdr;
  int pos, cur, xmode;

  if (!cuser.userlevel) /* itoc.020114: guest 不能對其他 guest 的文章維基 */
    return XO_NONE;

  pos = xo->pos;
  cur = pos - xo->top;
  hdr = (HDR *) xo_pool + cur;

  if (!strcmp(hdr->owner, cuser.userid) || (bbstate & STAT_BOARD))
  {
    xmode = hdr->xmode;

#ifdef HAVE_LABELMARK
    if (xmode & POST_DELETE)    /* 待砍的文章不能 wiki */
      return XO_NONE;
#endif

    hdr->xmode = xmode ^ POST_WIKI;
    currchrono = hdr->chrono;
    rec_put(xo->dir, hdr, sizeof(HDR), pos, cmpchrono);

    move(3 + cur, 7);
    outc(post_attr(hdr));
  }
  return XO_NONE;
}

: post.c:post_cb[]

+ Ctrl('W'), post_wiki,

  'h', post_help

--
□ 本文章由 itoc218-168-180-20.dynamic.hinet.net 發表
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻