diff options
Diffstat (limited to 'mbbsd')
-rw-r--r-- | mbbsd/passwd.c | 7 | ||||
-rw-r--r-- | mbbsd/register.c | 15 |
2 files changed, 22 insertions, 0 deletions
diff --git a/mbbsd/passwd.c b/mbbsd/passwd.c index ddda6a48..0446ddf2 100644 --- a/mbbsd/passwd.c +++ b/mbbsd/passwd.c @@ -86,6 +86,13 @@ passwd_update(int num, userec_t * buf) cuser.goodpost = buf->goodpost = u.goodpost; if(pwdfd & ALERT_PWD_PERM) cuser.userlevel = buf->userlevel = u.userlevel; + if(pwdfd & ALERT_PWD_JUSTIFY) + { + memcpy(buf->justify, u.justify, sizeof(u.justify)); + memcpy(cuser.justify, u.justify, sizeof(u.justify)); + memcpy(buf->email, u.email, sizeof(u.email)); + memcpy(cuser.email, u.email, sizeof(u.email)); + } currutmp->alerts &= ~ALERT_PWD; } if ((pwdfd = open(fn_passwd, O_WRONLY)) < 0) diff --git a/mbbsd/register.c b/mbbsd/register.c index e2b3a6b3..75e05287 100644 --- a/mbbsd/register.c +++ b/mbbsd/register.c @@ -415,15 +415,30 @@ check_birthday(void) void check_register(void) { + char fn[PATHLEN]; + check_birthday(); if (HasUserPerm(PERM_LOGINOK)) return; + // see admin.c + setuserfile(fn, "justify.reject"); + + /* * 避免使用者被退回註冊單後,在知道退回的原因之前, * 又送出一次註冊單。 */ + if (dashf(fn)) + { + more(fn, NA); + move(b_lines-3, 0); + outs("上次註冊單審查失敗。\n" + "請重新申請並照上面指示正確填寫註冊單。"); + while(getans("請輸入 y 繼續: ") != 'y'); + unlink(fn); + } else if (ISNEWMAIL(currutmp)) m_read(); |