diff options
Diffstat (limited to 'mbbsd')
-rw-r--r-- | mbbsd/admin.c | 14 | ||||
-rw-r--r-- | mbbsd/mbbsd.c | 4 | ||||
-rw-r--r-- | mbbsd/user.c | 44 |
3 files changed, 39 insertions, 23 deletions
diff --git a/mbbsd/admin.c b/mbbsd/admin.c index 4b87f98a..d021c2f0 100644 --- a/mbbsd/admin.c +++ b/mbbsd/admin.c @@ -1,4 +1,4 @@ -/* $Id: admin.c,v 1.33 2003/05/09 07:43:57 victor Exp $ */ +/* $Id: admin.c,v 1.34 2003/05/09 13:30:32 victor Exp $ */ #include "bbs.h" /* 使用者管理 */ @@ -762,7 +762,6 @@ scan_register_form(char *regfile, int automode, int neednum) char fdata[7][STRLEN]; char fname[STRLEN], buf[STRLEN]; char ans[4], *ptr, *uid; - char foreign; int n = 0, unum = 0; int nSelf = 0, nAuto = 0; @@ -822,12 +821,11 @@ scan_register_form(char *regfile, int automode, int neednum) user_display(&muser, 1); move(14, 0); prints("\033[1;32m------------- 請站長嚴格審核使用者資料,您還有 %d 份---------------\033[m\n", neednum); - for (n = 0; field[n]; n++) { - if (n >= 2 && n <= 5) - prints("%d.", n - 2); - else - prints(" "); - prints("%-12s:%s\n", finfo[n], fdata[n]); + prints(" %-12s:%s\n", finfo[0], fdata[0]); + prints(" %-12s:%s\n", finfo[1], fdata[1]); + prints("1.%-12s:%s%s\n", finfo[n], fdata[n], muser.uflag2 & FOREIGN ? "外籍" : ""); + for (n = 3; field[n]; n++) { + prints("%d.%-12s:%s\n", n - 2, finfo[n], fdata[n]); } if (muser.userlevel & PERM_LOGINOK) { getdata(b_lines - 1, 0, "\033[1;32m此帳號已經完成註冊, " diff --git a/mbbsd/mbbsd.c b/mbbsd/mbbsd.c index 77dc98e3..7fc41c85 100644 --- a/mbbsd/mbbsd.c +++ b/mbbsd/mbbsd.c @@ -1,4 +1,4 @@ -/* $Id: mbbsd.c,v 1.73 2003/05/09 07:53:55 victor Exp $ */ +/* $Id: mbbsd.c,v 1.74 2003/05/09 13:30:32 victor Exp $ */ #include "bbs.h" #define SOCKET_QLEN 4 @@ -884,7 +884,7 @@ user_login() if (!PERM_HIDE(currutmp)) cuser.lastlogin = login_start_time; - if (cuser.foreign & FOREIGN){ + if (cuser.uflag2 & (FOREIGN | LIVERIGHT)){ if (login_start_time - cuser.firstlogin > (FOREIGN_REG_DAY - 5) * 24 * 3600){ mail_muser(cuser, "[出入境管理局]", "etc/foreign_expired_warn"); } diff --git a/mbbsd/user.c b/mbbsd/user.c index 5568854b..58a67ef3 100644 --- a/mbbsd/user.c +++ b/mbbsd/user.c @@ -1,4 +1,4 @@ -/* $Id: user.c,v 1.53 2003/05/09 07:43:57 victor Exp $ */ +/* $Id: user.c,v 1.54 2003/05/09 13:30:32 victor Exp $ */ #include "bbs.h" static char *sex[8] = { @@ -51,12 +51,15 @@ user_display(userec_t * u, int real) " 資 料 " " \033[m \033[30;41m┴┬┴┬┴┬\033[m\n"); prints(" 代號暱稱: %s(%s)\n" - " 真實姓名: %s %s\n" + " 真實姓名: %s %s%s\n" " 居住住址: %s\n" " 電子信箱: %s\n" " 性 別: %s\n" " 銀行帳戶: %d 銀兩\n", - u->userid, u->username, u->realname, u->foreign & FOREIGN ? "(外籍)" : "", u->address, u->email, + u->userid, u->username, u->realname, + u->uflag2 & FOREIGN ? "(外籍: " : "", + u->uflag2 & LIVERIGHT ? "永久居留)" : "未取得居留權)", + u->address, u->email, sex[u->sex % 8], u->money); sethomedir(genbuf, u->userid); @@ -309,7 +312,7 @@ uinfo_query(userec_t * u, int real, int unum) if (real) { getdata_buf(i++, 0, "真實姓名:", x.realname, sizeof(x.realname), DOECHO); - getdata_buf(i++, 0, cuser.foreign & FOREIGN ? "護照號碼" : "身分證號:", + getdata_buf(i++, 0, cuser.uflag2 & FOREIGN ? "護照號碼" : "身分證號:", x.ident, sizeof(x.ident), DOECHO); getdata_buf(i++, 0, "居住地址:", x.address, sizeof(x.address), DOECHO); @@ -433,12 +436,26 @@ uinfo_query(userec_t * u, int real, int unum) x.chc_tie = atoi(p); break; } - if (getdata_str(i++, 0, "國籍 1)本國 2)外國:", buf, 2, DOECHO, x.foreign & FOREIGN ? "2" : "1")) - if ((fail = atoi(buf)) >= 0){ - if (fail == 0) - x.foreign |= FOREIGN; + if (getdata_str(i++, 0, "國籍 1)本國 2)外國:", buf, 2, DOECHO, x.uflag2 & FOREIGN ? "2" : "1")) + if ((fail = atoi(buf)) > 0){ + if (fail == 2){ + x.uflag2 |= FOREIGN; + } else - x.foreign &= ~FOREIGN; + x.uflag2 &= ~FOREIGN; + } + if (x.uflag2 & FOREIGN) + if (getdata_str(i++, 0, "永久居留權 1)是 2)否:", buf, 2, DOECHO, x.uflag2 & LIVERIGHT ? "1" : "2")){ + if ((fail = atoi(buf)) > 0){ + if (fail == 1){ + x.uflag2 |= LIVERIGHT; + x.userlevel |= (PERM_LOGINOK | PERM_POST); + } + else{ + x.uflag2 &= ~LIVERIGHT; + x.userlevel &= ~(PERM_LOGINOK | PERM_POST); + } + } } fail = 0; } @@ -1093,9 +1110,7 @@ int u_register(void) { char rname[21], addr[51], ident[12], mobile[21]; -//#ifdef FOREIGN_REG_DAY char fore[2]; -//#endif char phone[21], career[41], email[51], birthday[9], sex_is[2], year, mon, day; char inregcode[14], regcode[50]; @@ -1137,7 +1152,7 @@ u_register(void) if ((fn = fopen(genbuf, "r"))) { fgets(phone, 21, fn); if(strcmp(ident, "#foreign") == 0){ - fore[0] |= FOREIGN; + fore[0] = 'y'; fore[1] = '\n'; fgets(ident, 21, fn); } phone[strlen(phone) - 1] = 0; @@ -1317,7 +1332,10 @@ u_register(void) cuser.month = mon; cuser.day = day; cuser.year = year; - cuser.foreign = fore[0]; + if (fore[0]) + cuser.uflag2 |= FOREIGN; + else + cuser.uflag2 &= ~FOREIGN; trim(career); trim(addr); trim(phone); |