diff options
author | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2011-03-17 15:08:25 +0800 |
---|---|---|
committer | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2011-03-17 15:08:25 +0800 |
commit | 73cb7dc90ac854d60c1cc8c574b406b83cd4eeac (patch) | |
tree | cd1851e972a1cf1e1f02b190c300b5c2a1ec2219 | |
parent | 69c95d980b4d84036ea06c57f627b789f7b32db5 (diff) | |
download | pttbbs-73cb7dc90ac854d60c1cc8c574b406b83cd4eeac.tar pttbbs-73cb7dc90ac854d60c1cc8c574b406b83cd4eeac.tar.gz pttbbs-73cb7dc90ac854d60c1cc8c574b406b83cd4eeac.tar.bz2 pttbbs-73cb7dc90ac854d60c1cc8c574b406b83cd4eeac.tar.lz pttbbs-73cb7dc90ac854d60c1cc8c574b406b83cd4eeac.tar.xz pttbbs-73cb7dc90ac854d60c1cc8c574b406b83cd4eeac.tar.zst pttbbs-73cb7dc90ac854d60c1cc8c574b406b83cd4eeac.zip |
check reject list when doing replypost-both
git-svn-id: http://opensvn.csie.org/pttbbs/trunk@5320 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r-- | pttbbs/mbbsd/bbs.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/pttbbs/mbbsd/bbs.c b/pttbbs/mbbsd/bbs.c index 83c83709..5c849843 100644 --- a/pttbbs/mbbsd/bbs.c +++ b/pttbbs/mbbsd/bbs.c @@ -1328,9 +1328,8 @@ do_general(int garbage) /* 回應到原作者信箱 */ - // TODO should we take care of the reject list here? if (curredit & EDIT_BOTH) { - char *str, *msg = "回應至作者信箱"; + char *str, *msg = NULL; genbuf[0] = 0; // XXX quote_user may contain invalid user, like '-' (deleted). @@ -1341,7 +1340,18 @@ do_general(int garbage) { genbuf[0] = 0; msg = err_uid; - } + } else { + // check friend / reject list + char name_fpath[PATHLEN]; + int i = 0; + sethomefile(name_fpath, quote_user, FN_REJECT); + i = file_exist_record(name_fpath, cuser.userid); + sethomefile(name_fpath, quote_user, FN_OVERRIDES); + if (i && !file_exist_record(name_fpath, cuser.userid)) { + genbuf[0] = 0; + msg = "作者拒收"; + } + } } // now, genbuf[0] = "if user exists". @@ -1354,6 +1364,7 @@ do_general(int garbage) strlcpy(postfile.owner, cuser.userid, sizeof(postfile.owner)); strlcpy(postfile.title, save_title, sizeof(postfile.title)); sethomedir(genbuf, quote_user); + msg = "回應至作者信箱"; if (append_record(genbuf, &postfile, sizeof(postfile)) == -1) msg = err_uid; else @@ -1365,11 +1376,13 @@ do_general(int garbage) Cdatelite(&now), __FUNCTION__, currboard, cuser.userid, str + 1, save_title); #endif + msg = "回應至作者外部信箱"; if ( bsmtp(fpath, save_title, str + 1, NULL) < 0) msg = "作者無法收信"; } else { // unknown user id - msg = "作者無法收信"; + if (!msg) + msg = "作者無法收信"; } outs(msg); curredit ^= EDIT_BOTH; |