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