답변 3개
그누보드 돌아가는 구조를 알면 처리방법은 간단 합니다
공지만 읽기레벨과 읽기 포인트 값 설정을 바꾸어버리면 됩니다
extend/default.config.php에 다음 코드를 넣으세요
if($member['mb_level']==2 && $bo_table && $wr_id && $board['bo_notice']){
$wridArr =explode(',', $board['bo_notice']);
if( in_array($wr_id, $wridArr)){ $board['bo_read_level'] =1; $board['bo_read_point'] =0; }
}
댓글을 작성하려면 로그인이 필요합니다.
list.skin.php 를 보시면 공지 출력 구문이 있을거에요.
그 하위로 $member['mb_level'] 로 if 분기하시면됩니다.
댓글을 작성하려면 로그인이 필요합니다.
보기 페이지에서 wr_is_notice 값을 확인하여
권한이 2인 회원이라도 공지를 열람할 수 있도록 예외 처리를 적용하시고,
동시에 포인트 조건도 체크하여 일반 글 접근을 막으시면~
<?php
// 공지글 여부 확인
$is_notice = isset($write['wr_is_notice']) && $write['wr_is_notice'] == 1;
// 현재 회원의 권한과 포인트 확인
$member_level = isset($member['mb_level']) ? (int)$member['mb_level'] : 1;
$member_point = isset($member['mb_point']) ? (int)$member['mb_point'] : 0;
// 게시판 글읽기 권한 확인
$board_read_level = (int)$board['bo_read_level'];
if ($member_level < $board_read_level) {
if ($is_notice && $member_level == 2) {
// 공지글일 경우, 권한이 2인 회원도 읽을 수 있도록 예외 허용
} else {
alert('게시판을 읽을 수 있는 권한이 없습니다.');
exit;
}
}
// 포인트가 0이면 공지만 보이도록 제한
if ($member_level == 2 && $member_point == 0 && !$is_notice) {
alert('포인트가 부족하여 일반 글을 볼 수 없습니다.');
exit;
}
?>
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인