回精華區
作者itoc.bbs@processor.tfcis.org (核心動力) 看板: plan
標題Re: [問題] 請問如何多一組class(類似WindTop專業討論區)
時間動力核心 (2004/06/27 Sun 10:59:29) Updated: 2004/06/27
※ 引述《LandRover (大地英豪)》之銘言:
> 改為itoc以後 希望仍能在主選單做一個「專業討論區」

  在 (A)nnounce 裡面開個分類叫 PROF 即可

: struct.h

#define CLASS_IMGFILE_NAME      "run/classname.img"
#define CLASS_IMGFILE_TITLE     "run/classtitle.img"
+ #define CLASS_IMGFILE_PROF    "run/classprof.img"

: account.c:class_image()

static void
class_image()
{
  int i, times;
  FILE *fp;
  short len, pos[CH_MAX];
  ClassHeader *chp;

- for (times = 2; times > 0; times--)
+ for (times = 3; times > 0; times--)
  {
    chn = 0;
    class_sort(times == 1 ? brdname_cmp : brdtitle_cmp);
-   class_parse(CLASS_INIFILE);
+   class_parse(times == 3 ? "PROF" : CLASS_INIFILE);

    ...
    ...

-     rename(CLASS_RUNFILE, times == 1 ? CLASS_IMGFILE_NAME :
-       CLASS_IMGFILE_TITLE);
+     rename(CLASS_RUNFILE, times == 1 ? CLASS_IMGFILE_NAME :
+       times == 2 ? CLASS_IMGFILE_TITLE : CLASS_IMGFILE_PROF);
    }
  }

  class_chn();
}

: board.c

static char *class_img = NULL;
static XO board_xo;
+ static int class_prof;        /* 在 1:Profession 0:Class 裡面 */

: board.c:board_main()

- class_img = f_img(cuser.ufo & UFO_BRDNAME ? CLASS_IMGFILE_NAME :
-   CLASS_IMGFILE_TITLE, &fsize);
+ class_img = f_img(class_prof ? CLASS_IMGFILE_PROF :
+   cuser.ufo & UFO_BRDNAME ? CLASS_IMGFILE_NAME : CLASS_IMGFILE_TITLE,
+   &fsize);

: board.c:class_namemode()

static int
class_namemode(xo)              /* itoc.010413: 看板依照字母/分類排列 */
  XO *xo;
{
  static time_t last = 0;
  time_t now;

+ if (class_prof)
+   return XO_NONE;

: board.c:Class()

int
Class()
{
+ if (class_prof)
+ {
+   class_prof = 0;
+   if (cuser.userlevel)
+     brh_save();
+   board_main();
+ }
  /* XoClass(CH_END - 1); */
  /* Thor.980804: 防止 未用 account 造出 class.img 或沒有 class 的情況 */
  if (!class_img || !XoClass(CH_END - 1))
  {
    vmsg("未定義分組討論區");
    return XEASY;
  }
  return 0;
}

: board.c:Profession() 新增此函式在 Class() 後面

int
Profession()
{
  if (!class_prof)
  {
    class_prof = 1;
    if (cuser.userlevel)
      brh_save();
    board_main();
  }
  /* XoClass(CH_END - 1); */
  /* Thor.980804: 防止 未用 account 造出 class.img 或沒有 class 的情況 */
  if (!class_img || !XoClass(CH_END - 1))
  {
    vmsg("未定義分組討論區");
    return XEASY;
  }
  return 0;
}

: maple.p

int Class(void);
+ int Profession(void);

: menu.c:menu_main[]

  Class, 0, M_BOARD,
  "Class     φ 分組討論集 φ",

+ Profession, 0, M_BOARD,
+ "Professionφ 專業討論集 φ",


--
  Origin:  Maple-itoc˙動力核心  processor.tfcis.org 
  Author: itoc itoc.Dorm11.NCTU.edu.tw 發表
精華選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻