diff options
author | wens <wens@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2004-12-20 16:05:55 +0800 |
---|---|---|
committer | wens <wens@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2004-12-20 16:05:55 +0800 |
commit | 8fdc260eb36e797aa0c8efa5daf0cd13ba1c1d9a (patch) | |
tree | 88b71bfd9ad5f88616908ff6339a65027df2601e | |
parent | bfe12563223318051449ae232e50bab7e7a70ed5 (diff) | |
download | pttbbs-8fdc260eb36e797aa0c8efa5daf0cd13ba1c1d9a.tar pttbbs-8fdc260eb36e797aa0c8efa5daf0cd13ba1c1d9a.tar.gz pttbbs-8fdc260eb36e797aa0c8efa5daf0cd13ba1c1d9a.tar.bz2 pttbbs-8fdc260eb36e797aa0c8efa5daf0cd13ba1c1d9a.tar.lz pttbbs-8fdc260eb36e797aa0c8efa5daf0cd13ba1c1d9a.tar.xz pttbbs-8fdc260eb36e797aa0c8efa5daf0cd13ba1c1d9a.tar.zst pttbbs-8fdc260eb36e797aa0c8efa5daf0cd13ba1c1d9a.zip |
add function for BMs to choose default save method
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2382 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r-- | include/pttstruct.h | 1 | ||||
-rw-r--r-- | mbbsd/bbs.c | 32 |
2 files changed, 31 insertions, 2 deletions
diff --git a/include/pttstruct.h b/include/pttstruct.h index 0fdc8921..fd1acece 100644 --- a/include/pttstruct.h +++ b/include/pttstruct.h @@ -204,6 +204,7 @@ typedef struct boardheader_t { #define BRD_BMCOUNT 000040000 /* 板主設定列入記錄 */ #define BRD_SYMBOLIC 000100000 /* symbolic link to board */ #define BRD_NOBOO 000200000 /* 不可噓 */ +#define BRD_LOCALSAVE 000400000 /* 預設 Local Save */ #define BRD_LINK_TARGET(x) ((x)->postexpire) #define GROUPOP() (currmode & MODE_GROUPOP) diff --git a/mbbsd/bbs.c b/mbbsd/bbs.c index a0391bdd..adbcdde8 100644 --- a/mbbsd/bbs.c +++ b/mbbsd/bbs.c @@ -610,7 +610,8 @@ do_general(int isbid) curredit &= ~EDIT_ITEM; setutmpmode(POSTING); /* 未具備 Internet 權限者,只能在站內發表文章 */ - if (HAS_PERM(PERM_INTERNET)) + /* 板主預設站內存檔 */ + if (HAS_PERM(PERM_INTERNET) && !(bp->brdattr & BRD_LOCALSAVE)) local_article = 0; else local_article = 1; @@ -2348,6 +2349,33 @@ change_counting(int ent, fileheader_t * fhdr, char *direct) #endif +/** + * 改變目前所在板文章的預設儲存方式 + */ +static int +change_localsave(int ent, fileheader_t * fhdr, char *direct) +{ + boardheader_t *bp; + if (!((currmode & MODE_BOARD) || HAS_PERM(PERM_SYSOP))) + return DONOTHING; + + bp = getbcache(currbid); + if (bp->brdattr & BRD_LOCALSAVE) { + if (getans("目前板預設站內存檔, 要改變嘛(y/N)?") != 'y') + return FULLUPDATE; + bp->brdattr &= ~BRD_LOCALSAVE; + outs("文章預設轉出,請有所節制。\n"); + } else { + if (getans("目前板預設站際存檔, 要改變嘛(y/N)?") != 'y') + return FULLUPDATE; + bp->brdattr |= BRD_LOCALSAVE; + outs("文章預設不轉出,轉信要自行選擇喔。\n"); + } + substitute_record(fn_board, bp, sizeof(boardheader_t), currbid); + pressanykey(); + return FULLUPDATE; +} + /* ----------------------------------------------------- */ /* 看板功能表 */ /* ----------------------------------------------------- */ @@ -2384,7 +2412,7 @@ const onekey_t read_comms[] = { NULL, // Ctrl('U') do_post_vote, // Ctrl('V') whereami, // Ctrl('W') - NULL, // Ctrl('X') + change_localsave, // Ctrl('X') NULL, // Ctrl('Y') push_bottom, // Ctrl('Z') 26 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |