作者itoc, 信區: itoc
標題[功能] board.c 看板麻吉
時間04/02/07
作者: itoc (League) 看板: plan
標題: [功能] 看板麻吉
時間: 2004/02/07 Sat 12:49:14 Updated: 2005/03/23
要先做 "pal.c 麻吉名單" 這篇 patch
被設看板麻吉的使用者可以看加密文章/把看板打包
: maple.p
int is_bgood(BPAL *bpal);
int is_bbad(BPAL *bpal);
+ int is_bmate(BPAL *bpal);
: pal.c:is_bmate() 加在 is_bgood() 前面
int
is_bmate(bpal) /* 1: 我是該板的麻吉 */
BPAL *bpal;
{
return belong_pal(bpal->pal_spool, bpal->pal_max, cuser.userno | MATE_MASK);
}
: board.c:Ben_Perm()
else if (ulevel & PERM_ALLBOARD)
bits = BRD_L_BIT | BRD_R_BIT | BRD_W_BIT | BRD_X_BIT | BRD_M_BIT;
+ /* itoc.040207: 看板麻吉重新判斷 */
+ else if (is_bmate(bpal))
+ bits = BRD_L_BIT | BRD_R_BIT | BRD_W_BIT | BRD_M_BIT;
: boarc.c:XoPost()
- if (bits & BRD_M_BIT)
+ if ((bits & BRD_M_BIT) && (bits & BRD_X_BIT))
bbstate |= (STAT_BM | STAT_BOARD | STAT_POST);
+ else if (bits & BRD_M_BIT)
+ bbstate |= (STAT_BM | STAT_POST);
else if (bits & BRD_X_BIT)
bbstate |= (STAT_BOARD | STAT_POST);
else if (bits & BRD_W_BIT)
bbstate |= STAT_POST;
: account.c:init_bpal()
do
{
- *userno++ = (up->ftype & PAL_BAD) ? -(up->userno) : up->userno;
+ *userno++ = (up->ftype & PAL_BAD) ? -(up->userno) :
+ (up->ftype & PAL_MATE) ? (up->userno | MATE_MASK) :
+ up->userno;
up++;
} while (--c);
: post.c:post_refuse()
pos = xo->pos;
cur = pos - xo->top;
hdr = (HDR *) xo_pool + cur;
- if (!strcmp(hdr->owner, cuser.userid) || (bbstate & STAT_BM))
+ /* 看板麻吉不能加解密板上的文章 */
+ if (!strcmp(hdr->owner, cuser.userid) ||
+ ((bbstate & STAT_BM) && (bbstate & STAT_BOARD)))
{
hdr->xmode ^= POST_RESTRICT;
currchrono = hdr->chrono;
--
□ 本文章由 itoc 從 itoc.Dorm11.NCTU.edu.tw 發表