From c767a1d53864d088cd4c53b58ee930932f728a9a Mon Sep 17 00:00:00 2001
From: ptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>
Date: Mon, 19 Apr 2004 16:06:31 +0000
Subject: register change

git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@1793 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
---
 mbbsd/user.c | 46 +++++++++++++++++++++++++++++++---------------
 1 file changed, 31 insertions(+), 15 deletions(-)

(limited to 'mbbsd')

diff --git a/mbbsd/user.c b/mbbsd/user.c
index cd7f3b66..74dd74d4 100644
--- a/mbbsd/user.c
+++ b/mbbsd/user.c
@@ -468,7 +468,7 @@ uinfo_query(userec_t * u, int real, int unum)
 		    break;
 		}
 #ifdef FOREIGN_REG
-	    if (getdata_str(i++, 0, "���y 1)���� 2)�~��G", buf, 2, DOECHO, x.uflag2 & FOREIGN ? "2" : "1"))
+	    if (getdata_str(i++, 0, "�~�� 1)�x�W 2)��L�G", buf, 2, DOECHO, x.uflag2 & FOREIGN ? "2" : "1"))
 		if ((fail = atoi(buf)) > 0){
 		    if (fail == 2){
 			x.uflag2 |= FOREIGN;
@@ -1092,6 +1092,9 @@ static int HaveRejectStr(char *s, char **rej)
 
 static char *isvalidname(char *rname)
 {
+#ifdef FOREIGN_REG
+    return NULL;
+#else
     char    *rejectstr[] =
 	{"��", "�D", "���Y", "�p��", "�p��", "���H", "�Ѥ�", "�ѧ�", "�_��",
 	 "����", "�ӭ�", "���Y", "�p�n", "�p�j", "���k", "�p�f", "�j�Y", 
@@ -1107,10 +1110,13 @@ static char *isvalidname(char *rname)
 	!(strlen(rname) >= 4 && strncmp(&rname[0], &rname[2], 2) == 0))
 	return NULL;
     return "�z����J�����T";
+#endif
+
 }
 
 static char *isvalidcareer(char *career)
 {
+#ifndef FOREIGN_REG
     char    *rejectstr[] = {NULL};
     if (!(removespace(career) && career[0] < 0 && strlen(career) >= 6) ||
 	strcmp(career, "�a��") == 0 || HaveRejectStr(career, rejectstr) )
@@ -1121,6 +1127,7 @@ static char *isvalidcareer(char *career)
 	return "�·нХ[�Ǯըt��";
     if (strcmp(career, "�ǥͰ���") == 0)
 	return "�·п�J�ǮզW��";
+#endif
     return NULL;
 }
 
@@ -1153,8 +1160,8 @@ static char *isvalidphone(char *phone)
     for( i = 0 ; phone[i] != 0 ; ++i )
 	if( !isdigit(phone[i]) )
 	    return "�Ф��n�[���j�Ÿ�";
-    if (!removespace(phone) || phone[0] != '0' ||
-	strlen(phone) < 9 || phone[1] == '0' ||
+    if (!removespace(phone) || 
+	strlen(phone) < 9 || 
 	strstr(phone, "00000000") != NULL ||
 	strstr(phone, "22222222") != NULL    ) {
 	return "�o�ӹq�ܸ��X�ä��X�k(�Чt�ϽX)" ;
@@ -1293,7 +1300,7 @@ u_register(void)
 #ifdef FOREIGN_REG
 	fore[0] = 'y';
 	fore[1] = 0;
-	getfield(2, "Y/n", "�O�_�������y�H", fore, 2);
+	getfield(2, "Y/n", "�O�_���x�W�~����H", fore, 2);
     	if (fore[0] == 'n')
 	    fore[0] |= FOREIGN;
 	else
@@ -1313,10 +1320,10 @@ u_register(void)
 	else{
 	    int i;
 	    while( 1 ){
-		getfield(3, "0123456789", "�@�Ӹ��X", ident, 11);
-		move(5, 2);
-		prints("�`�N�G�@�Ӹ��X���~�̱N�L�k���o�i�@�B���v���I");
-		getdata(6, 0, "�O�_�T�w(Y/N)", ans, sizeof(ans), LCECHO);
+		getfield(4, "0123456789","�����Ҹ� �@�Ӹ��X �� SSN", ident, 11);
+		move(6, 2);
+		prints("���X���~�̱N�L�k���o�i�@�B���v���I");
+		getdata(7, 2, "�O�_�T�w(Y/N)", ans, sizeof(ans), LCECHO);
 		if (ans[0] == 'y' || ans[0] == 'Y')
 		    break;
 		vmsg("�Э��s��J(�Y�����D�·Ц�SYSOP�O)");
@@ -1326,22 +1333,27 @@ u_register(void)
 		    ident[0] -= 32;
 	    if( ispersonalid(ident) ){
 		fore[0] = 0;
-		vmsg("�z�������w��אּ�����y");
+		vmsg("�z�������w��אּ�x�W�~��");
 	    }
 	}
 #endif
 	while (1) {
-	    getfield(8, "�ХΤ���", "�u��m�W", rname, 20);
+	    getfield(8, 
+#ifdef FOREIGN_REG
+                     "�ХΥ��W",
+#else
+                     "�ХΤ���",
+#endif
+                     "�u��m�W", rname, 20);
 	    if( (errcode = isvalidname(rname)) == NULL )
 		break;
 	    else
 		vmsg(errcode);
 	}
 
-	move(6, 0);
-	prints("�·бz�ɶq�ԲӪ���g�z���A�ȳ��, �j�M�|�սг·�"
-	       "�[\033[1;33m�t��\033[m, ���q���Х[¾��\n"
-	       "�Ф��n��²�g�H�K�y���~�| :)"
+	move(11, 0);
+	prints("  �ɶq�ԲӪ���g�z���A�ȳ��, �j�M�|�սг·�"
+	       "  �[\033[1;33m�t��\033[m, ���q���Х[¾��\n"
 	       );
 	while (1) {
 	    getfield(9, "�Ǯ�(�t\033[1;33m�t�Ҧ~��\033[m)�γ��¾��",
@@ -1355,7 +1367,11 @@ u_register(void)
 	    getfield(11, "�t\033[1;33m����\033[m�Ϊ��츹�X"
 		     "(�x�_�Х[\033[1;33m��F��\033[m)",
 		     "�ثe���}", addr, 50);
-	    if( (errcode = isvalidaddr(addr)) == NULL )
+	    if( (errcode = isvalidaddr(addr) 
+#ifdef FOREIGN_REG
+                && fore[0] ==0 
+#endif
+                ) == NULL )
 		break;
 	    else
 		vmsg(errcode);
-- 
cgit v1.2.3