FBBS2.66在用户注册时,假如站长认为注册信息恶劣,选D只能
删除注册单,再去删除用户很麻烦。我把delete.c里的d_user函数
做了一点改动,再改动maintain.c里关于按D键后的处理,可以选
D键直接将此ID删除。改动的d_user如下
/* this function was added to delete user on register time*/
/* 4.3 1999 */
d_user_onregister(cid)
char *cid;
{
int id ;
strcpy(genbuf,cid);
if(!(id = getuser(genbuf))) {
move(3,0) ;
prints("错误的使用者代号...") ;
clrtoeol() ;
pressreturn() ;
clear() ;
return 0 ;
}
/* if (!isalpha(lookupuser.userid[0])) return 0;*/
/* rrr - don't know how...*/
move(1,0) ;
prints("删除使用者 '%s'.",genbuf) ;
clrtoeol();
getdata(2,0,"(Yes, or No) [N]: ",genbuf,4,DOECHO,YEA) ;
if(genbuf[0] != 'Y' && genbuf[0] != 'y') { /* if not yes quit */
move(2,0) ;
prints("取消删除使用者...\n") ;
pressreturn() ;
clear() ;
return 0 ;
}
if (lookupuser.userid[0] == '\0' || !strcmp(lookupuser.userid,"SYSOP"))
{
prints("无法删除!!\n");
pressreturn();
clear();
return 0;
}
if(uinfo.mode!=OFFLINE)
{
char secu[STRLEN];
sprintf(secu,"注册时删除使用者:%s",lookupuser.userid);
securityreport(secu);
}
sprintf(genbuf,"/bin/rm -fr mail/%c/%s",toupper(lookupuser.userid[0]),lookupuser.userid) ;
system(genbuf) ;
sprintf(genbuf,"/bin/rm -fr home/%c/%s",toupper(lookupuser.userid[0]),lookupuser.userid) ;
system(genbuf) ;
lookupuser.userlevel = 0;
strcpy(lookupuser.address, "");
strcpy(lookupuser.username, "");
strcpy(lookupuser.realname, "");
strcpy(lookupuser.termtype, "");
lookupuser.userid[0] = '\0' ;
substitute_record(PASSFILE,&lookupuser,sizeof(lookupuser),id) ;
setuserid( id, lookupuser.userid );
move(2,0) ;
prints("%s 已经被灭绝了...\n",lookupuser.userid) ;
pressreturn() ;
clear() ;
return 1 ;
}
--
FROM sky.whnet.edu.c