summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2011-03-17 15:08:25 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2011-03-17 15:08:25 +0800
commit73cb7dc90ac854d60c1cc8c574b406b83cd4eeac (patch)
treecd1851e972a1cf1e1f02b190c300b5c2a1ec2219
parent69c95d980b4d84036ea06c57f627b789f7b32db5 (diff)
downloadpttbbs-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.c21
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;