summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2009-06-21 09:24:01 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2009-06-21 09:24:01 +0800
commit29fdf9ef9fa03a80d5abe9fc777a77b535fa34cf (patch)
treeb258b5f1a4bcc651daa6b3f47dcc4dce698616ca
parent9b5400afa68cf72862fbe8bddf709cdbf9c9d852 (diff)
downloadpttbbs-29fdf9ef9fa03a80d5abe9fc777a77b535fa34cf.tar
pttbbs-29fdf9ef9fa03a80d5abe9fc777a77b535fa34cf.tar.gz
pttbbs-29fdf9ef9fa03a80d5abe9fc777a77b535fa34cf.tar.bz2
pttbbs-29fdf9ef9fa03a80d5abe9fc777a77b535fa34cf.tar.lz
pttbbs-29fdf9ef9fa03a80d5abe9fc777a77b535fa34cf.tar.xz
pttbbs-29fdf9ef9fa03a80d5abe9fc777a77b535fa34cf.tar.zst
pttbbs-29fdf9ef9fa03a80d5abe9fc777a77b535fa34cf.zip
* add more description to register/career, according to Ptt1 rules
* highlight the reject reason in regform git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@4684 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--mbbsd/register.c50
1 files changed, 37 insertions, 13 deletions
diff --git a/mbbsd/register.c b/mbbsd/register.c
index b973abe9..f32c2eb4 100644
--- a/mbbsd/register.c
+++ b/mbbsd/register.c
@@ -540,7 +540,7 @@ getfield(int line, const char *info, const char *desc, char *buf, int len)
move(line+1, 0); clrtoeol();
move(line, 0); clrtoeol();
prints(" 原先設定:%-30.30s (%s)", buf, info);
- snprintf(prompt, sizeof(prompt), " %s:", desc);
+ snprintf(prompt, sizeof(prompt), ">>%s:", desc);
if (getdata_str(line + 1, 0, prompt, genbuf, len, DOECHO, buf))
strcpy(buf, genbuf);
move(line+1, 0); clrtoeol();
@@ -1430,7 +1430,7 @@ u_register(void)
fore[0] = 0;
#endif
while (1) {
- getfield(8,
+ getfield(4,
#ifdef FOREIGN_REG
"請用本名",
#else
@@ -1443,21 +1443,40 @@ u_register(void)
vmsg(errcode);
}
- move(11, 0);
+ move(8, 0);
outs(" 請盡量詳細的填寫您的服務單位,大專院校請麻煩"
"加" ANSI_COLOR(1;33) "系所" ANSI_RESET ",公司單位請加" ANSI_COLOR(1;33) "職稱" ANSI_RESET ",\n"
" 暫無工作請麻煩填寫" ANSI_COLOR(1;33) "畢業學校" ANSI_RESET "。\n");
+ outs(" •填寫單位,「校名」與「系(所)別」,並請詳填至年級。\n"
+ " 「校名」與「系別」不接受英文簡式書寫表達,並請清楚填寫系或所!!(外國學校亦同)\n"
+ " 如: 某某大學某某系一年級。\n"
+ " •如為工作地點請附上該單位所在縣市,並詳填至職稱。\n"
+ ANSI_COLOR(1;32)
+ " 另任何公司只要有分店皆須詳填至分店別,且職稱不接受職員.員工一類之相似字眼\n"
+ ANSI_RESET
+ " 如:XX公司XX分店XX處(課/室)秘書orXX縣(市)XX公司總務\n"
+ " •待業中、服役中、肄業請附上(畢業)校系並附註待業中/服役中/肄業。\n"
+ " 如:xx大學畢業現待業中/服役中 // xx大學肄業現重考中/服役中\n"
+ ANSI_COLOR(1;32)
+ " •自由業.家管.無公司行號職稱或無學籍者,請詳細填寫最終學歷及現況\n"
+ ANSI_RESET
+ " 如:xx大學xx系畢家管,xx高職xx科畢現為作(畫)家\n"
+ ANSI_COLOR(1;32)
+ " •如為(臨時)工讀生/員工者,請詳細填寫最終學歷以及工作之公司名稱至分店別\n"
+ ANSI_RESET
+ " 如:xx高中x年級7-11北市信義區永吉店工讀生/臨時店員\n");
+
while (1) {
- getfield(9, "(畢業)學校(含" ANSI_COLOR(1;33) "系所年級" ANSI_RESET ")或單位職稱",
+ getfield(5, "(畢業)學校(含" ANSI_COLOR(1;33) "系所年級" ANSI_RESET ")或單位職稱",
"服務單位", career, 40);
if( (errcode = isvalidcareer(career)) == NULL )
break;
else
vmsg(errcode);
}
- move(10, 0); clrtobot();
+ move(6, 0); clrtobot();
while (1) {
- getfield(10, "含" ANSI_COLOR(1;33) "縣市" ANSI_RESET "及門寢號碼"
+ getfield(6, "含" ANSI_COLOR(1;33) "縣市" ANSI_RESET "及門寢號碼"
"(台北請加" ANSI_COLOR(1;33) "行政區" ANSI_RESET ")",
"目前住址", addr, sizeof(addr));
if( (errcode = isvalidaddr(addr)) == NULL
@@ -1470,16 +1489,16 @@ u_register(void)
vmsg(errcode);
}
while (1) {
- getfield(11, "不加-(), 包括長途區號", "連絡電話", phone, 11);
+ getfield(7, "不加-(), 包括長途區號", "連絡電話", phone, 11);
if( (errcode = isvalidphone(phone)) == NULL )
break;
else
vmsg(errcode);
}
- getfield(12, "只輸入數字 如:0912345678 (可不填)",
+ getfield(8, "只輸入數字 如:0912345678 (可不填)",
"手機號碼", mobile, 20);
while (1) {
- getfield(13, "西元/月月/日日 如: " DATE_SAMPLE ,
+ getfield(9, "西元/月月/日日 如: " DATE_SAMPLE ,
"生日", birthday, sizeof(birthday));
if (birthday[0] == 0) {
snprintf(birthday, sizeof(birthday), "%04i/%02i/%02i",
@@ -1507,7 +1526,7 @@ u_register(void)
}
break;
}
- getfield(14, "1.♂男 2.♀女 ", "性別", sex_is, 2);
+ getfield(10, "1.♂男 2.♀女 ", "性別", sex_is, 2);
getdata(20, 0, "以上資料是否正確(Y/N)?(Q)取消註冊 [N] ",
ans, 3, LCECHO);
if (ans[0] == 'q')
@@ -1851,17 +1870,22 @@ regform_concat_reasons(const char *reason, char *result, int maxlen)
{
int i = 0;
for (i = 0; reason[i] && REASON_IN_ABBREV(reason[i]); i++) {
- len += snprintf(result + len, maxlen - len, "[退回原因] %s\n", REASON_EXPANDABBREV(reason[i]));
+ len += snprintf(result + len, maxlen - len,
+ ANSI_COLOR(1;33)
+ "[退回原因] %s" ANSI_RESET "\n",
+ REASON_EXPANDABBREV(reason[i]));
}
} else {
- len += snprintf(result + len, maxlen - len, "[退回原因] %s\n", reason);
+ len += snprintf(result + len, maxlen - len,
+ ANSI_COLOR(1;33) "[退回原因] %s" ANSI_RESET "\n", reason);
}
}
static void
regform_print_reasons(const char *reason, FILE *fp)
{
- char msg[STRLEN * REJECT_REASONS];
+ // the messages may contain ANSI escapes
+ char msg[ANSILINELEN * REJECT_REASONS];
msg[0] = '\0';
regform_concat_reasons(reason, msg, sizeof(msg));
fputs(msg, fp);