回精華區
作者amaki.bbs@luna.twbbs.org (羊奶供應商) 看板: plan
標題Re: 讓Announce看板精華區title跟著板主的修改跑
時間月下夜想 (Thu, 15 May 2003 01:17:51 +0800 (CST)) Updated: 2005/04/12
  這樣板主改主題,(A)nnounce→Class 就會跟著改:)

: maple.p

int brd_new(BRD *brd);
+ void brd_classchange(char *folder, char *oldname, BRD *newbrd);
void brd_edit(int bno);

: acct.c:brd_classchange()

- static void
+ void
brd_classchange(folder, oldname, newbrd)
  char *folder;
  char *oldname;
  BRD *newbrd;

: manage.c:post_brdtitle()

    if (memcmp(&newbrd, oldbrd, sizeof(BRD)) && vans(msg_sure_ny) == 'y')
    {
      memcpy(oldbrd, &newbrd, sizeof(BRD));
      rec_put(FN_BRD, &newbrd, sizeof(BRD), currbno, NULL);
+     brd_classchange("gem/@/@"CLASS_INIFILE, oldbrd->brdname, &newbrd);
      return XO_HEAD;
    }

: acct.c:brd_edit()

    if (!brd_set(&newbh, 11))
    {
      if (memcmp(&newbh, bhdr, sizeof(BRD)) && vans(msg_sure_ny) == 'y')
      {
        bname = bhdr->brdname;
        if (strcmp(bname, newbh.brdname))
        {
          char src[64], dst[64];
          /* Thor.980806: 特別注意如果 board不在同一partition裏的話會有問題 */
          gem_fpath(src, bname, NULL);
          gem_fpath(dst, newbh.brdname, NULL);
          rename(src, dst);
          rename(src + 4, dst + 4);
-         brd_classchange("gem/@/@"CLASS_INIFILE, bname, &newbh);
        }
        memcpy(bhdr, &newbh, sizeof(BRD));
        rec_put(FN_BRD, &newbh, sizeof(BRD), bno, NULL);
+       brd_classchange("gem/@/@"CLASS_INIFILE, bname, &newbh);
      }
    }

: acct.c:brd_title()

    if (vans("是否修改中文板名敘述(Y/N)?[N] ") == 'y')
    {
      vget(b_lines, 0, "看板主題:", newbh.title, BTLEN + 1, GCARRY);
      memcpy(bhdr, &newbh, sizeof(BRD));
      rec_put(FN_BRD, &newbh, sizeof(BRD), bno, NULL);
+     brd_classchange("gem/@/@"CLASS_INIFILE, bhdr->brdname, &newbh);
    }

--
  Origin: luna.twbbs.org
精華選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻