查找了 在Boards.c里面有着段代码
int haspostperm(const struct userec *user, const char *bname)
{ /* 判断在 bname版 是否有post权 */
register int i;
/*
* if( strcmp( bname, DEFAULTBOARD ) == 0 ) return 1; change by KCN 2000.09.01
*/
if ((i = getbnum(bname)) == 0)
return 0;
if (bcache[i - 1].flag & BOARD_GROUP) //目录先不能写
return 0;
if (!HAS_PERM(user, PERM_POST)) {
if (!strcasecmp(user->userid, "guest"))
return 0;
#ifndef FREE
if (!strcmp(bname, "BBShelp"))
#else
if (!strcmp(bname, "sysop"))
#endif
return 1;
if (!HAS_PERM(user, PERM_LOGINOK))
return 0;
if (!strcmp(bname, "Complain"))
return 1; /* added by stephen 2000.10.27 */
else if (!strcmp(bname, "sysop"))
return 1;
else if (!strcmp(bname, "Arbitration"))
return 1;
return 0;
} /* stephen 2000.10.27 */
if (HAS_PERM(user, (bcache[i - 1].level & ~PERM_NOZAP) & ~PERM_POSTMASK)) {
if (bcache[i - 1].flag & BOARD_CLUB_WRITE) { /*俱乐部 */
if (bcache[i - 1].clubnum <= 0 || bcache[i - 1].clubnum >= MAXCLUB)
return 0;
if (user->club_write_rights[(bcache[i - 1].clubnum - 1) >> 5] & (1 << ((bcache[i - 1].clubnum - 1) & 0x1f)))
return 1;
else
return 0;
}
return 1;
} else
return 0;
if (bcache[i - 1].title_level && (bcache[i - 1].title_level != user->title))
return 0;
}
【 在 cnbird (阿七) 的大作中提到: 】
: 可以参考BBShelp版的实现方法,在代码里grep BBShelp吧
: 这个就是设置的没有注册通过的用户可以在该版发表文章
--
FROM 222.205.49.*