diff options
-rw-r--r-- | pttbbs/mbbsd/register.c | 142 |
1 files changed, 1 insertions, 141 deletions
diff --git a/pttbbs/mbbsd/register.c b/pttbbs/mbbsd/register.c index c9b58a4c..2e14405d 100644 --- a/pttbbs/mbbsd/register.c +++ b/pttbbs/mbbsd/register.c @@ -1413,16 +1413,6 @@ u_register(void) // TODO define and use structure instead, even in reg request file. typedef struct { - // current format: - // (optional) num: unum, date - // [0] uid: xxxxx (IDLEN=12) - // [1] name: RRRRRR (20) - // [2] career: YYYYYYYYYYYYYYYYYYYYYYYYYY (40) - // [3] addr: TTTTTTTTT (50) - // [4] phone: 02DDDDDDDD (20) - // [5] email: x (50) (deprecated) - // [6] mobile: (deprecated) - // [7] ---- userec_t u; // user record char online; @@ -1430,43 +1420,6 @@ typedef struct { // regform format utilities -// regform loader: deprecated. -// now we use real user record. -/* -int -load_regform_entry(RegformEntry *pre, FILE *fp) -{ - char buf[STRLEN]; - char *v; - - memset(pre, 0, sizeof(RegformEntry)); - while (fgets(buf, sizeof(buf), fp)) - { - if (buf[0] == '-') - break; - buf[sizeof(buf)-1] = 0; - v = strchr(buf, ':'); - if (v == NULL) - continue; - *v++ = 0; - if (*v == ' ') v++; - chomp(v); - - if (strcmp(buf, "uid") == 0) - strlcpy(pre->u.userid, v, sizeof(pre->u.userid)); - else if (strcmp(buf, "name") == 0) - strlcpy(pre->u.realname, v, sizeof(pre->u.realname)); - else if (strcmp(buf, "career") == 0) - strlcpy(pre->u.career, v, sizeof(pre->u.career)); - else if (strcmp(buf, "addr") == 0) - strlcpy(pre->u.address, v, sizeof(pre->u.address)); - else if (strcmp(buf, "phone") == 0) - strlcpy(pre->u.phone, v, sizeof(pre->u.phone)); - } - return pre->u.userid[0] ? 1 : 0; -} -*/ - static int print_regform_entry(const RegformEntry *pre, FILE *fp, int close) { @@ -1475,6 +1428,7 @@ print_regform_entry(const RegformEntry *pre, FILE *fp, int close) fprintf(fp, "career: %s\n", pre->u.career); fprintf(fp, "addr: %s\n", pre->u.address); fprintf(fp, "phone: %s\n", pre->u.phone); + fprintf(fp, "lasthost: %s\n", pre->u.lasthost); if (close) fprintf(fp, "----\n"); return 1; @@ -1584,7 +1538,6 @@ regform_log2board(const RegformEntry *pre, char accepted, concat_regform_entry_localized(pre, msg, sizeof(msg)); post_msg(BN_ID_RECORD, title, msg, "[註冊系統]"); - #endif // BN_ID_RECORD } @@ -1614,7 +1567,6 @@ regform_log2file(const RegformEntry *pre, char accepted, if (!fp) return; fputs(msg, fp); fclose(fp); - #endif // FN_ID_RECORD } @@ -2567,98 +2519,6 @@ regform2_validate_page(int dryrun) // 處理 Register Form ///////////////////////////////////////////////////////////////////////////// -/* Auto-Regform-Scan - * FIXME 真是一團垃圾 - * - * fdata 用了太多 magic number - * return value 應該是指 reason (return index + 1) - * ans[0] 指的是帳管選擇的「錯誤的欄位」 (Register 選單裡看到的那些) - */ -#if 0 -static int -auto_scan(char fdata[][STRLEN], char ans[]) -{ - int good = 0; - int count = 0; - int i; - char temp[10]; - - if (!strncmp(fdata[1], "小", 2) || DBCS_strcasestr(fdata[1], "丫") - || DBCS_strcasestr(fdata[1], "誰") || DBCS_strcasestr(fdata[1], "不")) { - ans[0] = '0'; - return 1; - } - strlcpy(temp, fdata[1], 3); - - /* 疊字 */ - if (!strncmp(temp, &(fdata[1][2]), 2)) { - ans[0] = '0'; - return 1; - } - if (strlen(fdata[1]) >= 6) { - if (DBCS_strcasestr(fdata[1], "陳水扁")) { - ans[0] = '0'; - return 1; - } - if (DBCS_strcasestr("趙錢孫李周吳鄭王", temp)) - good++; - else if (DBCS_strcasestr("杜顏黃林陳官余辛劉", temp)) - good++; - else if (DBCS_strcasestr("蘇方吳呂李邵張廖應蘇", temp)) - good++; - else if (DBCS_strcasestr("徐謝石盧施戴翁唐", temp)) - good++; - } - if (!good) - return 0; - - if (!strcmp(fdata[2], fdata[3]) || - !strcmp(fdata[2], fdata[4]) || - !strcmp(fdata[3], fdata[4])) { - ans[0] = '4'; - return 5; - } - if (DBCS_strcasestr(fdata[2], "大")) { - if (DBCS_strcasestr(fdata[2], "台") || DBCS_strcasestr(fdata[2], "淡") || - DBCS_strcasestr(fdata[2], "交") || DBCS_strcasestr(fdata[2], "政") || - DBCS_strcasestr(fdata[2], "清") || DBCS_strcasestr(fdata[2], "警") || - DBCS_strcasestr(fdata[2], "師") || DBCS_strcasestr(fdata[2], "銘傳") || - DBCS_strcasestr(fdata[2], "中央") || DBCS_strcasestr(fdata[2], "成") || - DBCS_strcasestr(fdata[2], "輔") || DBCS_strcasestr(fdata[2], "東吳")) - good++; - } else if (DBCS_strcasestr(fdata[2], "女中")) - good++; - - if (DBCS_strcasestr(fdata[3], "地球") || DBCS_strcasestr(fdata[3], "宇宙") || - DBCS_strcasestr(fdata[3], "信箱")) { - ans[0] = '2'; - return 3; - } - if (DBCS_strcasestr(fdata[3], "市") || DBCS_strcasestr(fdata[3], "縣")) { - if (DBCS_strcasestr(fdata[3], "路") || DBCS_strcasestr(fdata[3], "街")) { - if (DBCS_strcasestr(fdata[3], "號")) - good++; - } - } - for (i = 0; fdata[4][i]; i++) { - if (isdigit((int)fdata[4][i])) - count++; - } - - if (count <= 4) { - ans[0] = '3'; - return 4; - } else if (count >= 7) - good++; - - if (good >= 3) { - ans[0] = 'y'; - return -1; - } else - return 0; -} -#endif - int m_register(void) { |