diff options
author | victor <victor@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2003-08-19 15:59:14 +0800 |
---|---|---|
committer | victor <victor@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2003-08-19 15:59:14 +0800 |
commit | f2727d82e5c05d62ec618f72316f298def7b4f52 (patch) | |
tree | 3d77adfa7fcdd535bc867f0d01af3a1de86aba09 | |
parent | 444afef085b3b4dbb9086a8e152054be00587152 (diff) | |
download | pttbbs-f2727d82e5c05d62ec618f72316f298def7b4f52.tar pttbbs-f2727d82e5c05d62ec618f72316f298def7b4f52.tar.gz pttbbs-f2727d82e5c05d62ec618f72316f298def7b4f52.tar.bz2 pttbbs-f2727d82e5c05d62ec618f72316f298def7b4f52.tar.lz pttbbs-f2727d82e5c05d62ec618f72316f298def7b4f52.tar.xz pttbbs-f2727d82e5c05d62ec618f72316f298def7b4f52.tar.zst pttbbs-f2727d82e5c05d62ec618f72316f298def7b4f52.zip |
paste taged file across board and mailbox
git-svn-id: http://opensvn.csie.org/pttbbs/trunk@1109 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r-- | pttbbs/mbbsd/announce.c | 18 | ||||
-rw-r--r-- | pttbbs/mbbsd/mail.c | 2 | ||||
-rw-r--r-- | pttbbs/mbbsd/read.c | 11 | ||||
-rw-r--r-- | pttbbs/mbbsd/var.c | 4 |
4 files changed, 26 insertions, 9 deletions
diff --git a/pttbbs/mbbsd/announce.c b/pttbbs/mbbsd/announce.c index 92b89d7f..4dc5438e 100644 --- a/pttbbs/mbbsd/announce.c +++ b/pttbbs/mbbsd/announce.c @@ -1,4 +1,4 @@ -/* $Id: announce.c,v 1.31 2003/07/20 00:55:34 in2 Exp $ */ +/* $Id$ */ #include "bbs.h" #define PATHLEN 256 @@ -438,11 +438,18 @@ static int a_pastetagpost(menu_t * pm, int mode) { fileheader_t fhdr; + boardheader_t *bh; int ans = 0, ent = 0, tagnum; char title[TTLEN + 1] = "◇ "; char dirname[200], buf[200]; - setbdir(dirname, currboard); + if (TagBoard == 0){ + sethomedir(dirname, cuser.userid); + } + else{ + bh = getbcache(TagBoard); + setbdir(dirname, bh->brdname); + } tagnum = TagNum; if (!tagnum) @@ -450,7 +457,10 @@ a_pastetagpost(menu_t * pm, int mode) while (tagnum--) { EnumTagFhdr(&fhdr, dirname, ent++); - setbfile(buf, currboard, fhdr.filename); + if (TagBoard == 0) + sethomefile(buf, cuser.userid, fhdr.filename); + else + setbfile(buf, bh->brdname, fhdr.filename); if (dashf(buf)) { strncpy(title + 3, fhdr.title, TTLEN - 3); @@ -464,7 +474,7 @@ a_pastetagpost(menu_t * pm, int mode) ++ans; UnTagger(tagnum); } - }; + } return ans; } diff --git a/pttbbs/mbbsd/mail.c b/pttbbs/mbbsd/mail.c index ff434498..52c8884c 100644 --- a/pttbbs/mbbsd/mail.c +++ b/pttbbs/mbbsd/mail.c @@ -1,4 +1,4 @@ -/* $Id: mail.c,v 1.28 2003/07/20 00:55:34 in2 Exp $ */ +/* $Id$ */ #include "bbs.h" char currmaildir[32]; static char msg_cc[] = "\033[32m[群組名單]\033[m\n"; diff --git a/pttbbs/mbbsd/read.c b/pttbbs/mbbsd/read.c index 9cc2c398..d6260e12 100644 --- a/pttbbs/mbbsd/read.c +++ b/pttbbs/mbbsd/read.c @@ -720,6 +720,14 @@ i_read_key(onekey_t * rcmdlist, keeploc_t * locmem, int ch, int bid) /* rocker.011018: 採用新的tag模式 */ case 't': + /* 將原本在 Read() 裡面的 "TagNum = 0" 移至此處 */ + if (!(TagBoard == bid) && !(currstat & RMAIL && TagBoard == 0)) { + if (currstat & RMAIL) + TagBoard = 0; + else + TagBoard = bid; + TagNum = 0; + } /* rocker.011112: 解決再select mode標記文章的問題 */ if (Tagger(atoi(headers[locmem->crs_ln - locmem->top_ln].filename + 2), (currmode & MODE_SELECT) ? @@ -780,9 +788,6 @@ i_read(int cmdmode, char *direct, void (*dotitle) (), void (*doentry) (), onekey strlcpy(currdirect, direct, sizeof(currdirect)); mode = NEWDIRECT; - /* rocker.011018: 加入新的tag機制 */ - TagNum = 0; - do { /* 依據 mode 顯示 fileheader */ setutmpmode(cmdmode); diff --git a/pttbbs/mbbsd/var.c b/pttbbs/mbbsd/var.c index 7df518e5..9c2c443c 100644 --- a/pttbbs/mbbsd/var.c +++ b/pttbbs/mbbsd/var.c @@ -361,8 +361,10 @@ int brc_num; int brc_list[BRC_MAXNUM]; /* read.c */ -int TagNum; /* tag's number */ +int TagNum; /* tag's number */ TagItem TagList[MAXTAGS]; /* ascending list */ +int TagBoard = -1; /* TagBoard = 0 : user's mailbox + TagBoard > 0 : bid where last taged*/ char currdirect[64]; /* edit.c */ |