summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2008-03-29 09:26:03 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2008-03-29 09:26:03 +0800
commitd20a04ffeb48aafa46ba9e716b70ac7462b890d0 (patch)
tree74f3850ec0b29434678195a13430a1e609c4ea5e
parent0ace497393eb307eaf61abc8535c9ed9646dcacb (diff)
downloadpttbbs-d20a04ffeb48aafa46ba9e716b70ac7462b890d0.tar
pttbbs-d20a04ffeb48aafa46ba9e716b70ac7462b890d0.tar.gz
pttbbs-d20a04ffeb48aafa46ba9e716b70ac7462b890d0.tar.bz2
pttbbs-d20a04ffeb48aafa46ba9e716b70ac7462b890d0.tar.lz
pttbbs-d20a04ffeb48aafa46ba9e716b70ac7462b890d0.tar.xz
pttbbs-d20a04ffeb48aafa46ba9e716b70ac7462b890d0.tar.zst
pttbbs-d20a04ffeb48aafa46ba9e716b70ac7462b890d0.zip
- expiring user after board set to hidden state.
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@4037 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--mbbsd/board.c1
-rw-r--r--mbbsd/read.c10
2 files changed, 11 insertions, 0 deletions
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) {