diff options
author | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2008-03-24 11:31:44 +0800 |
---|---|---|
committer | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2008-03-24 11:31:44 +0800 |
commit | 9babe26b4f858e481463edd43290059bcd2717bd (patch) | |
tree | 78c5376e6347baf636d36882ada4093b0b1da2f3 | |
parent | 30990df77ad6872f26b8180145cad86ba0fba00b (diff) | |
download | pttbbs-9babe26b4f858e481463edd43290059bcd2717bd.tar pttbbs-9babe26b4f858e481463edd43290059bcd2717bd.tar.gz pttbbs-9babe26b4f858e481463edd43290059bcd2717bd.tar.bz2 pttbbs-9babe26b4f858e481463edd43290059bcd2717bd.tar.lz pttbbs-9babe26b4f858e481463edd43290059bcd2717bd.tar.xz pttbbs-9babe26b4f858e481463edd43290059bcd2717bd.tar.zst pttbbs-9babe26b4f858e481463edd43290059bcd2717bd.zip |
- fix user over18 display in admin's user_display.
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@4014 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r-- | include/proto.h | 1 | ||||
-rw-r--r-- | mbbsd/cal.c | 37 | ||||
-rw-r--r-- | mbbsd/user.c | 3 |
3 files changed, 24 insertions, 17 deletions
diff --git a/include/proto.h b/include/proto.h index cd8a260a..dd893cda 100644 --- a/include/proto.h +++ b/include/proto.h @@ -191,6 +191,7 @@ int ordersong(void); int p_exmail(void); void mail_redenvelop(const char* from, const char* to, int money, char mode); void resolve_over18(void); +int resolve_over18_user(const userec_t *u); /* card */ int g_card_jack(void); diff --git a/mbbsd/cal.c b/mbbsd/cal.c index 1f6f9d9d..91ec3cf0 100644 --- a/mbbsd/cal.c +++ b/mbbsd/cal.c @@ -493,27 +493,32 @@ give_money_ui(const char *userid) return do_give_money(id, uid, m); } -void -resolve_over18(void) +int +resolve_over18_user(const userec_t *u) { /* get local time */ struct tm ptime = *localtime4(&now); - over18 = 0; - /* check if over18 */ // 照實歲計算,沒生日的當作未滿 18 - if (cuser.year < 1 || cuser.month < 1) - over18 = 0; - else if( (ptime.tm_year - cuser.year) > 18) - over18 = 1; - else if (ptime.tm_year - cuser.year < 18) - over18 = 0; - else if ((ptime.tm_mon+1) > cuser.month) - over18 = 1; - else if ((ptime.tm_mon+1) < cuser.month) - over18 = 0; - else if (ptime.tm_mday >= cuser.day ) - over18 = 1; + if (u->year < 1 || u->month < 1) + return 0; + else if( (ptime.tm_year - u->year) > 18) + return 1; + else if (ptime.tm_year - u->year < 18) + return 0; + else if ((ptime.tm_mon+1) > u->month) + return 1; + else if ((ptime.tm_mon+1) < u->month) + return 0; + else if (ptime.tm_mday >= u->day ) + return 1; + return 0; +} + +void +resolve_over18(void) +{ + over18 = resolve_over18_user(&cuser); } int diff --git a/mbbsd/user.c b/mbbsd/user.c index d235d01f..500cfe7a 100644 --- a/mbbsd/user.c +++ b/mbbsd/user.c @@ -153,7 +153,8 @@ user_display(const userec_t * u, int adminmode) " 生 日: %04i/%02i/%02i (%s滿18歲)\n", get_num_records(genbuf, sizeof(fileheader_t)), u->exmailbox, u->mobile, - u->year + 1900, u->month, u->day, over18 ? "已" : "未" + u->year + 1900, u->month, u->day, + resolve_over18_user(u) ? "已" : "未" ); #ifdef ASSESS |