summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2010-10-11 12:27:05 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2010-10-11 12:27:05 +0800
commit64f7afe4c13a604c960275cf020a6a8eb9bdc634 (patch)
treebf787181890cb2d9166fc954d859700791ae28d6
parente5cbf7ab9ba812e4abe82d784f31133d12fb9e1d (diff)
downloadpttbbs-64f7afe4c13a604c960275cf020a6a8eb9bdc634.tar
pttbbs-64f7afe4c13a604c960275cf020a6a8eb9bdc634.tar.gz
pttbbs-64f7afe4c13a604c960275cf020a6a8eb9bdc634.tar.bz2
pttbbs-64f7afe4c13a604c960275cf020a6a8eb9bdc634.tar.lz
pttbbs-64f7afe4c13a604c960275cf020a6a8eb9bdc634.tar.xz
pttbbs-64f7afe4c13a604c960275cf020a6a8eb9bdc634.tar.zst
pttbbs-64f7afe4c13a604c960275cf020a6a8eb9bdc634.zip
refine email justify messages and alerts,
to prevent people get confused on regauth mails git-svn-id: http://opensvn.csie.org/pttbbs/trunk@5118 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--pttbbs/mbbsd/register.c41
1 files changed, 33 insertions, 8 deletions
diff --git a/pttbbs/mbbsd/register.c b/pttbbs/mbbsd/register.c
index 1686b2c9..ddcdec95 100644
--- a/pttbbs/mbbsd/register.c
+++ b/pttbbs/mbbsd/register.c
@@ -510,7 +510,7 @@ email_justify(const userec_t *muser)
bsmtp("etc/registermail", buf, muser->email, "non-exist");
move(20,0);
clrtobot();
- outs("我們即將寄出認證信 (您應該會在 10 分鐘內收到)\n"
+ outs("我們即將寄出認證信 (您應該會在數分鐘到數小時內收到)\n"
"收到後您可以根據認證信標題的認證碼\n"
"輸入到 (U)ser -> (R)egister 後就可以完成註冊");
pressanykey();
@@ -1165,10 +1165,10 @@ toregister(char *email)
" 會有站長親自人工審核註冊資料," ANSI_COLOR(1;33)
"但注意這可能會花上數天或更多時間。" ANSI_RESET "\n"
"**********************************************************\n"
- "* 注意! *\n"
- "* 通常應該會在輸入完成後十分鐘內收到認證信, 若過久未收到 *\n"
- "* 請到郵件垃圾桶檢查是否被當作垃圾信(SPAM)了,另外若是 *\n"
- "* 輸入後發生認證碼錯誤請重填一次 E-Mail *\n"
+ "* 注意! 通常應該會在輸入完成後數分至數小時內收到認證信, *\n"
+ "* 若過久未收到請到郵件垃圾桶檢查是否被當作垃圾信(SPAM)了,*\n"
+ "* 另外若輸入後發生認證碼錯誤請先確認輸入是否為最後一封 *\n"
+ "* 收到的認證信,若真的仍然不行請再重填一次 E-Mail. *\n"
"**********************************************************\n");
while (1) {
@@ -1208,7 +1208,7 @@ toregister(char *email)
outs(ANSI_COLOR(1;31)
"\n提醒您: 如果之後發現您輸入的註冊資料有問題,不僅註冊會被取消,\n"
"原本認證用的 E-mail 也不能再用來認證。\n" ANSI_RESET);
- getdata(16, 0, "請再次確認您輸入的 E-Mail 位置正確嘛? [y/N]",
+ getdata(16, 0, "請再次確認您輸入的 E-Mail 位置正確嗎? [y/N]",
yn, sizeof(yn), LCECHO);
clrtobot();
if (yn[0] == 'y')
@@ -1326,13 +1326,17 @@ u_register(void)
move(2, 0);
prints("請輸入您的認證碼。(由 %s 開頭無空白的十三碼)\n"
- "或輸入 x 來重新填寫 E-Mail 或改由站長手動認證\n", REGCODE_INITIAL);
+ "若尚未收到信件或不想現在輸入可直接按 ENTER 離開,\n"
+ "或輸入 x 來重新填寫 E-Mail 或改由站長手動認證\n",
+ REGCODE_INITIAL);
inregcode[0] = 0;
do{
getdata(10, 0, "您的認證碼:",
inregcode, sizeof(inregcode), DOECHO);
- if( strcmp(inregcode, "x") == 0 || strcmp(inregcode, "X") == 0 )
+ if( ! *inregcode ||
+ strcmp(inregcode, "x") == 0 ||
+ strcmp(inregcode, "X") == 0 )
break;
if( strlen(inregcode) != 13 || inregcode[0] == ' ')
vmsg("認證碼輸入不完整,總共應有十三碼,沒有空白字元。");
@@ -1370,6 +1374,9 @@ u_register(void)
// XXX shall never reach here.
return QUIT;
+ } else if (!*inregcode) {
+ // simply enter.
+ return FULLUPDATE;
} else if (strcasecmp(inregcode, "x") != 0) {
if (regcode[0])
{
@@ -1383,6 +1390,24 @@ u_register(void)
return FULLUPDATE;
}
} else {
+ char fpath[PATHLEN];
+ time4_t last_request_time;
+ int hours = 0;
+
+ getregfile(fpath);
+ last_request_time = dasht(fpath);
+ if (last_request_time < now &&
+ last_request_time + DAY_SECONDS / 2 > now)
+ hours = (last_request_time + DAY_SECONDS / 2 - now) / 3600 + 1;
+ if (hours > 0) {
+ outs("由於某些使用者的信箱收信間隔較長、"
+ "且每次寄出新認證信時前封認證碼會自動失效,\n"
+ // 為了避免有人搞不清狀況跑去 SYSOP 哭哭說認證碼無效,
+ "每次重寄認證信或變更 EMail 要間隔 12 小時。\n");
+ prints("距離您下次可以重新認證尚有 %d 小時。", hours);
+ pressanykey();
+ return FULLUPDATE;
+ }
toregister(email);
return FULLUPDATE;
}