From 9babe26b4f858e481463edd43290059bcd2717bd Mon Sep 17 00:00:00 2001 From: piaip Date: Mon, 24 Mar 2008 03:31:44 +0000 Subject: - 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 --- mbbsd/cal.c | 37 +++++++++++++++++++++---------------- mbbsd/user.c | 3 ++- 2 files changed, 23 insertions(+), 17 deletions(-) (limited to 'mbbsd') 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 -- cgit v1.2.3