summaryrefslogtreecommitdiffstats
path: root/mbbsd
diff options
context:
space:
mode:
Diffstat (limited to 'mbbsd')
-rw-r--r--mbbsd/passwd.c7
-rw-r--r--mbbsd/register.c15
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();