From d20a04ffeb48aafa46ba9e716b70ac7462b890d0 Mon Sep 17 00:00:00 2001 From: piaip Date: Sat, 29 Mar 2008 01:26:03 +0000 Subject: - expiring user after board set to hidden state. git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@4037 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- mbbsd/board.c | 1 + mbbsd/read.c | 10 ++++++++++ 2 files changed, 11 insertions(+) (limited to 'mbbsd') diff --git a/mbbsd/board.c b/mbbsd/board.c index a1ca7006..bc7ae394 100644 --- a/mbbsd/board.c +++ b/mbbsd/board.c @@ -558,6 +558,7 @@ b_config(void) bp->brdattr |= BRD_HIDE; bp->brdattr |= BRD_POSTMASK; } + bp->perm_reload = now; touched = 1; break; diff --git a/mbbsd/read.c b/mbbsd/read.c index 97621725..85347d9e 100644 --- a/mbbsd/read.c +++ b/mbbsd/read.c @@ -1226,6 +1226,7 @@ i_read(int cmdmode, const char *direct, void (*dotitle) (), int bottom_line = 0; fileheader_t *headers0 = headers; int headers_size0 = headers_size; + time4_t enter_time = now; strlcpy(currdirect0, currdirect, sizeof(currdirect0)); #define FHSZ sizeof(fileheader_t) @@ -1237,6 +1238,15 @@ i_read(int cmdmode, const char *direct, void (*dotitle) (), mode = NEWDIRECT; do { + /* 檢查權限是否已改 */ + if (currbid > 0 && getbcache(currbid)->perm_reload > enter_time) + { + boardheader_t *bp = getbcache(currbid); + if(!HasBoardPerm(bp)) + break; + enter_time = bp->perm_reload; + } + /* 依據 mode 顯示 fileheader */ setutmpmode(cmdmode); switch (mode) { -- cgit v1.2.3