특정게시판에 글읽기 권한이 3인경우
본문
특정게시판에 글읽기 권한이 3인경우 권한이 2인 회원이 공지는 읽을수있게 할수있을까요?
글읽기 포인트도 있어요 포인트 0인 권한이 2인 회원이 다른글은 안보이고 공지만 보이게 하고싶어서요
알려주시면 감사하겠습니다
답변 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; }
}
보기 페이지에서 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;
}
?>
list.skin.php 를 보시면 공지 출력 구문이 있을거에요.
그 하위로 $member['mb_level'] 로 if 분기하시면됩니다.