summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2008-03-11 01:14:01 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2008-03-11 01:14:01 +0800
commit63543835c8a092b0bf8e6d8dc0d9f29eed0e5c10 (patch)
tree9697bb9abe6159648a8afb5839a2db44fab81d56
parentb0f507a8e1e368a31ab45baff849a5d064350527 (diff)
downloadpttbbs-63543835c8a092b0bf8e6d8dc0d9f29eed0e5c10.tar
pttbbs-63543835c8a092b0bf8e6d8dc0d9f29eed0e5c10.tar.gz
pttbbs-63543835c8a092b0bf8e6d8dc0d9f29eed0e5c10.tar.bz2
pttbbs-63543835c8a092b0bf8e6d8dc0d9f29eed0e5c10.tar.lz
pttbbs-63543835c8a092b0bf8e6d8dc0d9f29eed0e5c10.tar.xz
pttbbs-63543835c8a092b0bf8e6d8dc0d9f29eed0e5c10.tar.zst
pttbbs-63543835c8a092b0bf8e6d8dc0d9f29eed0e5c10.zip
- user: display over18 evalulation result
- register: reject invalid (in future) birthday input. git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3985 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--mbbsd/register.c11
-rw-r--r--mbbsd/user.c4
2 files changed, 11 insertions, 4 deletions
diff --git a/mbbsd/register.c b/mbbsd/register.c
index 2950fae4..ec79f1c6 100644
--- a/mbbsd/register.c
+++ b/mbbsd/register.c
@@ -672,8 +672,12 @@ check_birthday(void)
{
// check birthday
int changed = 0;
-
- while (cuser.year < 40) // magic number 40: see user.c
+ time_t t = (time_t)now;
+ struct tm tm;
+
+ localtime_r(&t, &tm);
+ while ( cuser.year < 40 || // magic number 40: see user.c
+ cuser.year+3 > tm.tm_year)
{
char birthday[sizeof("mmmm/yy/dd ")];
int y, m, d;
@@ -692,6 +696,9 @@ check_birthday(void)
} else if (y < 1940) {
vmsg("你真的有那麼老嗎?");
continue;
+ } else if (y+3 > tm.tm_year+1900) {
+ vmsg("嬰兒/未出生應該無法使用 BBS...");
+ continue;
}
cuser.year = (unsigned char)(y-1900);
cuser.month = (unsigned char)m;
diff --git a/mbbsd/user.c b/mbbsd/user.c
index c077280a..47cfb674 100644
--- a/mbbsd/user.c
+++ b/mbbsd/user.c
@@ -146,10 +146,10 @@ user_display(const userec_t * u, int adminmode)
sethomedir(genbuf, u->userid);
prints(" 私人信箱: %d 封 (購買信箱: %d 封)\n"
" 手機號碼: %010d\n"
- " 生 日: %04i/%02i/%02i\n",
+ " 生 日: %04i/%02i/%02i (%s滿18歲)\n",
get_num_records(genbuf, sizeof(fileheader_t)),
u->exmailbox, u->mobile,
- u->year + 1900, u->month, u->day
+ u->year + 1900, u->month, u->day, over18 ? "已" : "未"
);
#ifdef ASSESS