作者guessi.bbs@cpu.tfcis.org (沒) 看板: itoc
標題Re: [修改] 推文未讀(方法二) 改為喜好設定
時間動力核心 (2007/03/29 Thu 05:56:19)
※ 引述《omatic (........)》之銘言:
> 我意思是說....如果推文未讀也要有綠點
> 但是這個功能新開一個喜好設定
> 因為不是每個人都喜歡版面清單黃黃一片
> 但就是有人要...所以想說而外開一個喜好設定
請先做精華區"推文未讀(方法二)"
:/src/include/ufo.h
+ #define UFO_READMD BFLAG(23) /* 文章未讀判斷 */
! #define NUMUFOS_USER
! #define STR_UFO
+ "文章未讀判斷 (關閉/開啟)", /* UFO_READMD */
:/src/maple/post.c:post_attr()
- attr = !(mode & POST_BOTTOM) && brh_unread(fhdr->chrono) ? 0 : 0x20;
/* 已閱讀為小寫,未閱讀為大寫 */
+ if (cuser.ufo & UFO_READMD) /* 喜好設定: 推文未讀 */
+ attr = !(mode & POST_BOTTOM) && brh_unread(fhdr->chrono) ? 0 : 0x20;
+ else
+ attr = !(mode & POST_BOTTOM) &&
+ brh_unread(BMAX(fhdr->chrono, fhdr->stamp)) ? 0 : 0x20;
:/src/maple/post.c:post_history()
- chrono = BMAX(hdr->chrono, hdr->stamp);
+ check_stamp: /* 設定檢查點 */
+ if (brh_unread(hdr->chrono)) /* 先檢查hdr->chrono 是否在brh */
+ chrono = hdr->chrono;
+ else /* 若已經在brh則檢查stamp */
+ chrono = BMAX(hdr->chrono, hdr->stamp);
if (!brh_unread(chrono)) /* 如果已在 brh 中,就無需動作 */
return;
..
..
if (next < chrono) /* 沒有上一篇 */
next = chrono;
brh_add(prev, chrono, next);
}
+ chrono = BMAX(hdr->chrono, hdr->stamp); /* 若有stamp */
+ if (brh_unread(chrono)) /* 檢查BMAX()是否在brh 若無則返回 */
+ goto check_stamp;
}
:/src/include/theme.h
! #define ICON_UNREAD_BRD "......\033[1;33m" /* 板名變色: 黃 */
:/src/maple/board.c:btime_refresh()
+ time_t tmpchrono;
..
..
+ tmpchrono = 0;
while ((fsize -= sizeof(HDR)) >= 0)
..
..
if (!(hdr.xmode & (POST_RESTRICT | POST_BOTTOM)))
- break;
+ {
+ tmpchrono = BMAX(tmpchrono, hdr.chrono);
+ tmpchrono = BMAX(tmpchrono, hdr.stamp);
+ }
}
- brd->blast = hdr.chrono;
+ brd->blast = tmpchrono;
--
=[﹎:�摃�◣��:﹎ Origin ]|[ ���O���� cpu.tfcis.org ]|[�搟說�﹎:]=
=[﹊:�摃�╱��:﹊ Author ]|[ 61.57.132.241 ]|[���插�﹊:]=