作者LHD.bbs@bs2.twbbs.org (好冷哦) 看板: plan
標題Re: expire的設定
時間次世代BS2 (2005/01/09 Sun 00:47:01) Updated: 2005/01/09
※ 引述《pigco.bbs@cpu.tfcis.org (哈)》之銘言:
> 我要怎麼修改才能讓個人板的文章上限跟一般板不一樣呢?
> 我希望一般板的上限是5000,可是個人板的上限是3000。
> 我知道5000那邊去改default就好。
> 那判斷P_開頭的板,文章上限是3000要怎麼辦?
> 我一直都覺得expire.conf的設定不是很實用,
> 不知道有沒有可能改成比較方便的設定方式...
> 像是我想分類成公開板、轉信板、個人板三種類別各一組上限數字,
> 就只能設一種為default,其他的要一個一個增加...
: expire.c
#define DEF_DAYS 365 /* 預設清除超過 365 天的文章 */
#define DEF_MAXP 5000 /* 預設清除超過 5000 篇的文章 */
+ #define DEF_MAXP_P 3000 /* 個人板預設清除超過 3000 篇的文章 */
#define DEF_MINP 500 /* 預設低於 500 篇的看板不砍文章 */
: expire.c:main() 如果個人板板名都是以 P_ 開頭,那麼這樣改
key->days = number;
- key->maxp = db.maxp;
+ key->maxp = (strncmp(bname, "P_", 2) || (argc == 5)) ? db.maxp :
+ DEF_MAXP_P;
key->minp = db.minp;
...
if (count)
{
key = (Life *) bsearch(bname, table, count, sizeof(Life), life_cmp);
if (!key)
+ {
key = &db;
+ /* LHD: 個人板預設上限 */
+ key->maxp = strncmp(bname, "P_", 2) ? DEF_MAXP : DEF_MAXP_P;
+ }
}
else
{
key = &db;
+ /* LHD: 個人板預設上限 */
+ key->maxp = strncmp(bname, "P_", 2) ? DEF_MAXP : DEF_MAXP_P;
}
: expire.c:main() 如果個人板分類都是「個人」,那麼這樣改
: 這樣改會有個小問題,就是如果在 expire.conf 設定了一筆個人板,但沒指定 max
: 此時該個人板的 max 會依據 DEF_MAXP 而不是 DEF_MAXP_P
if (count)
{
key = (Life *) bsearch(bname, table, count, sizeof(Life), life_cmp);
if (!key)
+ {
key = &db;
+ key->maxp = strcmp(brdp->class, "個人") ? DEF_MAXP : DEF_MAXP_P;
+ }
}
else
{
key = &db;
+ key->maxp = strcmp(brdp->class, "個人") ? DEF_MAXP : DEF_MAXP_P;
}
--
▄▄▄▄▄▄▄ ▄▄▄▄ ▄▄▄▄▄▄ <telnet://bs2.twbbs.org>
█▄▄▄▄█ █ ▄▄▄▄▄█ Player: LHD
▄█▄▄▄▄█ ▄▄▄█ █▄▄▄▄▄ From: bsd3.cis.nctu.edu.tw
☆ 次世代BS2 ☆ 可申請個人板 100MB超大相簿 http://pic.twbbs.org 資科人200MB