回文章列表
作者guessi.bbs@cpu.tfcis.org (沒) 看板: itoc
標題[功能] 手動轉錄至指定"分類" (限站務)
時間動力核心 (2007/03/06 Tue 10:19:22)
用途說明:

因常有活動宣傳需張貼至相同分類看板 考量CP問題 故撰寫此功能

使用者貼文於指定看板(在此為Depart_All)文章經看板站務審閱後

由看板站務[大寫M]按鍵操作後 轉錄至指定看板(將不計算CP數目)


:src/maple/post.c 新增depart_post()於do_post()前

static int
depart_post(xo)
  XO *xo;
{
  char folder[64], fpath[64];
  HDR post, *hdr;
  BRD *brdp, *bend;
  int pos, cur;

  if (!HAS_PERM(PERM_ALLBOARD) || strcmp(currboard, "DepartAll"))
  /* 僅看板站務 並指定看板 */
    return XO_NONE;

  if (vans("請確認轉錄至各系所看板?[y/N] ") != 'y')
    return XO_NONE;

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

  hdr_fpath(fpath, xo->dir, hdr);

  hdr->xmode ^= POST_DIGEST; /* 給予自訂標記 供post_attr()顯示 */
  currchrono = hdr->chrono;
  rec_put(xo->dir, hdr, sizeof(HDR), pos, cmpchrono);

  brdp = bshm->bcache;
  bend = brdp + bshm->number;

  while (brdp < bend)
  {
    if (!strcmp(brdp->class, "系所") && strcmp(brdp->brdname, "DepartAll"))
    /* 轉錄至指定分類 但不包含本身 */
    {
      brd_fpath(folder, brdp->brdname, fn_dir);
      hdr_stamp(folder, HDR_COPY | 'A', &post, fpath);
      strcpy(post.owner, hdr->owner);
      sprintf(post.title, "[轉錄] %s", hdr->title); /* 加註轉錄字樣 */
      rec_bot(folder, &post, sizeof(HDR));
      btime_update(brd_bno(brdp->brdname)); /* 看板閱讀紀錄(綠點)更新 */
    }
    brdp++;
  }

  vmsg("轉錄完成!");
  return XO_INIT; /* 給定POST_XXX 刷新頁面 */
}

:src/maple/post.c:post_cb[] 按鍵自訂

+ 'M', depart_post(),



--
=[:摃�◣�:Origin ]|[  Ocpu.tfcis.org  ]|[�搟說:]=
=[:摃�╱�:Author ]|[59-115-96-53.dynamic.hinet]|[�:]=
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻