荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: stiger@smth.org (1.5颗门牙◎为让****养我一辈子而努力), 信区: InstallBBS
标 题: Re: SMTH最新公布代码:smth-020727.tar.gz
发信站: BBS 水木清华站 (Sat Jul 27 14:35:07 2002)
转信站: SZUBBS!news.happynet.org!news.feeling.smth.org!maily.cic.tsinghua.edu.c
很土,不要笑,呵呵
而且刚写完,没有经过很多测试,对任何后果不负责
我的版本是fb2000v1126
在这个版本中发信没有专门的权限,
所以我们的bbs是使用PERM_SPECIAL7作为发信权限的
int set_jw(){
int id;
unsigned int newlevel;
unsigned int plevel[5];
char choose[3],jwday[4];
int day;
int i;
char buf[256];
time_t t[5];
static char *chj[]={"上站权限","发文权限","聊天权限","msg权限","发信权限
"};
FILE *fpjw;
plevel[0]=PERM_BASIC;
plevel[1]=PERM_POST;
plevel[2]=PERM_CHAT | PERM_PAGE;
plevel[3]=PERM_MESSAGE;
plevel[4]=PERM_SPECIAL7;
if (!(id = getuser(currentuser.userid))) {
move(3, 0);
prints("错误的使用者 ID...");
clrtoeol();
pressreturn();
clear();
return 0;
}
newlevel = currentuser.userlevel;
if(HAS_PERM(PERM_BOARDS)){
clear();
move(5,0);
prints("您有重任在身,确实要戒网吗?");
if(askyn("你确定要戒网吗", NA, YEA)==NA){
clear();
return 0;
}
}
sethomefile(genbuf,currentuser.userid,"time.jw");
if ((fpjw=fopen(genbuf,"r"))!=NULL){
if(fscanf(fpjw,"%ld %ld %ld %ld %ld",&t[0],&t[1],&t[2],&t[3],
&t[4])==5){
}
else{
for(i=0;i<5;i++) t[i]=0;
}
fclose(fpjw);
}
else{
for(i=0;i<5;i++) t[i]=0;
}
clear();
move(1,0);
prints("请选择戒网种类:");
move(3,0);
prints("(0) - 结束");
for(i=0;i<5;i++){
move(i+4,0);
sprintf(buf,"(%d) - %s",i+1,chj[i]);
prints(buf);
move(i+4,18);
prints("目前状态:");
move(i+4,28);
if(t[i]==0){
sprintf(buf,": 正常");
}else if(t[i]-time(0) > 86400){
sprintf(buf,": 还有%d天",(t[i]-time(0))/86400);
}else{
sprintf(buf,": 还有%d小时",(t[i]-time(0))/3600);
}
prints(buf);
}
getdata(10, 0, "请选择 [0]:", choose, 2, DOECHO, YEA);
if(choose[0]>='1' && choose[0]<='5'){
if(!(newlevel & plevel[choose[0]-'1'])){
move(15,0);
prints("您本来就没有这个权限,无须再戒\n");
pressreturn();
return;
}
getdata(11,0,"请输入戒网天数 [0]:",jwday,3,DOECHO,YEA);
if(jwday[0]=='\0') day =0;
else day = atoi(jwday);
if(day <= 0){
clear();
return -1;
}
if (askyn("你确定要戒网吗", NA, YEA) == NA){
clear();
return -1;
}
getdata(13, 0, "请输入你的密码(如果不正确请尝试前8位): ", buf,
PASSLEN, NOECHO, YEA);
if(!checkpasswd(currentuser.passwd, buf)){
move(14,0);
prints("密码错误,戒网失败");
pressreturn();
return -1;
}
if(choose[0]=='1'){
/*****************************************************
对于戒上站,是取消PERM_BASIC增加PERM_LOGINOK
在register.c中的compute_user_value函数中进行判断
遇到这种情况就是生命力为一个固定值,确保不会因为戒上站而死亡
******************************************************/
newlevel &= ~PERM_BASIC;
newlevel |= PERM_LOGINOK;
t[0]=time(0) + 86400*day;
}
if(choose[0]=='2'){
newlevel &= ~PERM_POST;
t[1]=time(0) + 86400*day;
}
if(choose[0]=='3'){
newlevel &= ~PERM_CHAT;
newlevel &= ~PERM_PAGE;
t[2]=time(0) + 86400*day;
}
if(choose[0]=='4'){
newlevel &= ~PERM_MESSAGE;
t[3]=time(0) + 86400*day;
}
if(choose[0]=='5'){
newlevel &= ~PERM_SPECIAL7;
t[4]=time(0) + 86400*day;
}
if((fpjw=fopen(genbuf,"w"))==NULL){
clear();
move(1,0);
prints("sorry,,,系统错误,戒网失败");
pressanykey();
return -1;
}
fprintf(fpjw,"%ld %ld %ld %ld %ld",t[0],t[1],t[2],t[3],t[4]);
fclose(fpjw);
currentuser.userlevel=newlevel;
substitute_record(PASSFILE, ¤tuser, sizeof(struct userec),
id);
move(15,0);
sprintf(buf,"您的%s已经被取消",chj[choose[0]-'1']);
prints(buf);
move(16,0);
prints("祝您戒网顺利,God bless u");
pressanykey();
if(choose[0]=='1') Q_Goodbye();
return;
}
clear();
return;
}
【 在 canhui (最受小孩喜爱的gg) 的大作中提到: 】
: 呵呵,拿出来大家看看嘛。
--
╭════════════╮ 女孩,女孩,为什麽哭泣?难道肚子怀着小baby?
║ ║ 女孩,女孩,为什麽叹气?难道baby找不到dady?
║ stiger 无人了解的自我 ║ 年纪轻轻不该玩游戏,快乐年龄不该轻放弃,
║ ║ 抛开忧虑,忘掉那不如意,
╰════════════╯ 走出户外,让我们堕胎去......
※ 来源:·BBS 水木清华站 smth.edu.cn·[FROM: 166.111.172.127]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店