荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: AM.bbs@TaoLiBBS.3322.ORG (世界的黑暗), 信区: InstallBBS
标 题: help~关于作者在线颜色显示
发信站: 桃李风园 (Sat Dec 27 01:10:06 2003)
转信站: SZU!news.ccie.net.cn!TaoLi
1、在permission里面增加一个#define DEF_COLORAUTHOR 0x400000000
2、在main.c的user_login()最后面增加
setuserfile(fname, "Colors");
onlinecolor = 32; /* 缺省绿色 */
if ((fp = fopen(fname, "r")) != NULL) {
if (fgets(buf, STRLEN, fp) != NULL) {
onlinecolor = atoi(buf);
}
fclose(fp);
}
3、修改bbs.c的*readdoent()
//在线作者姓名
if (DEFINE(DEF_COLOEDAUTHOR) && user_isactive(ent->owner))
sprintf(file_owner, "1;%dm%-12.12s", onlinecolor, ent->owner);
else
sprintf(file_owner, "%-12.12s", ent->owner);
4、修改mail.c的*maildoent()
file_owner_color[0] = '\0';
if (DEFINE(DEF_COLOEDAUTHOR)) {
uactive_flag = user_isactive(b2);
if (uactive_flag)
sprintf(file_owner_color, "^[[1;%dm", onlinecolor);
}
5、在bcache.c里增加一个函数
/*判断userid是否在线*/
int user_isactive(char *userid)
{
struct user_info *uentp;
int i;
/* 转信的用户不用统计 */
if (!isalpha(userid[0]))
return 0;
if (!isalnum(userid[strlen(userid) - 1]))
return 0;
resolve_utmp();
for (i = 0; i < USHM_SIZE; i++) {
uentp = &(utmpshm->uinfo[i]);
if (uentp != NULL) {
if (!strcmp(uentp->userid, userid)) {
if (!uentp->active || !uentp->pid || isreject(uentp))
continue; /* 碰巧不在 */
else if ((!uentp->invisible) || (uentp->uid == usernum)
|| (uentp->invisible)
&& HAS_PERM(PERM_SYSOP | PERM_SEECLOAK))
return 1;
else
return 0; /* 取第一个即可,节省CPU */
}
}
}
return 0;
}
6、src/xyz.c的void x_edits()
增加/home/?/userid/Color文件
if (ch == 5) {
setuserfile(buf, "Colors");
onlinecolor = 32; /* 缺省绿色 */
if ((fp = fopen(buf, "r")) != NULL) {
if (fgets(buf, STRLEN, fp) != NULL) {
onlinecolor = atoi(buf);
}
fclose(fp);
}
}
上面当然都增加了相应的变量
编译完了,重新登陆,并无作者颜色显示......
不知道哪里还少了。。。。。请执教,谢谢~
--
※ 来源:·桃李风园 TaoLiBBS.3322.ORG·[FROM: TaoLiBBS.3322.ORG ]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店