그누보드 관리자가 아닌 특정 회원 레벨에게 공지글 등록 권한 부여 방법
페이지 정보

본문
그누보드에서 관리자가 아닌 특정 회원 레벨(예: 10레벨)도 공지글을 등록할 수 있도록 스킨 및 업데이트 파일을 수정하여 권한을 확장하는 방법을 안내합니다.
그누보드 특정 레벨 회원에게 공지글 등록 권한 부여 방법
그누보드에서 관리자가 아닌 특정 회원 레벨(예: 10레벨) 회원에게 공지글 등록 권한을 부여하려면 게시판 스킨 파일과 백엔드 처리 파일을 수정해야 합니다. 기본적으로 공지글 등록 권한은 관리자($is_admin)에게만 부여되어 있으므로, 특정 레벨 조건을 추가하여 권한을 확장할 수 있습니다.
1. 게시판 스킨 파일 수정
게시판 스킨 폴더 내의 write.skin.php 파일을 수정합니다. (이 내용은 bbs/write.php 파일에서도 수정 가능합니다.)
파일 상단의 if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 코드 바로 아래에 다음 코드를 추가합니다.
if ($member['mb_level'] == 10 && $w!= 'r') {
$is_notice = true;
if ($w == 'u') {
// 답변 수정시 공지 체크 없음
if ($write['wr_reply']) {
$is_notice = false;
} else {
if (in_array((int)$wr_id, $notice_array)) {
$notice_checked = 'checked';
}
}
}
}
2. 백엔드 처리 파일 수정
bbs/write_update.php 파일을 수정하여 관리자 권한 체크 로직에 레벨 조건을 추가합니다.
기존에 아래와 같은 코드가 있는지 확인합니다.
if (!$is_admin && $notice) {
alert('관리자만 공지할 수 있습니다.');
}
해당 코드를 찾아 다음과 같이 수정합니다.
if (!$is_admin && $member['mb_level'] < 10 && $notice) {
alert('관리자만 공지할 수 있습니다.');
}
게시판 스킨 write.skin.php 파일 수정 방법
그누보드 5 환경에서 관리자가 아닌 특정 레벨(예: 10레벨) 회원에게 공지글 등록 권한(체크박스 노출)을 부여하려면 게시판 스킨의 write.skin.php 파일 상단에 코드를 추가해야 합니다.
게시판 스킨(write.skin.php) 또는 bbs/write.php 파일 상단(if (!defined('_GNUBOARD_')) exit; 바로 아래)에 아래 코드를 추가하여 특정 레벨(예: 10) 회원이 공지 체크박스를 사용할 수 있게 합니다.
if ($member['mb_level'] == 10 && $w!= 'r') {
$is_notice = true;
if ($w == 'u') {
if ($write['wr_reply']) {
$is_notice = false;
} else {
if (in_array((int)$wr_id, $notice_array)) {
$notice_checked = 'checked';
}
}
}
}
bbs/write_update.php 파일 수정 방법
그누보드에서 일반 회원이 공지글을 등록할 때 발생하는 관리자만 공지할 수 있습니다. 에러를 방지하고 특정 레벨 회원(예: 10레벨)에게 공지 등록 권한을 부여하려면 bbs/write_update.php 파일의 관리자 권한 체크 로직을 수정해야 합니다.
수정 대상 코드 위치 찾기
bbs/write_update.php 파일에서 아래의 기본 관리자 체크 코드를 찾습니다.
if (!$is_admin && $notice) {
alert('관리자만 공지할 수 있습니다.');
}
레벨 조건 추가하기
찾은 코드를 특정 레벨 미만일 때만 차단하도록 아래와 같이 수정합니다. 예를 들어 10레벨 회원에게 권한을 부여하려면 $member['mb_level'] < 10 조건을 추가합니다.
if (!$is_admin && $member['mb_level'] < 10 && $notice) {
alert('관리자만 공지할 수 있습니다.');
}
주의: 이 수정을 적용하기 전, 프론트엔드 화면인 게시판 스킨의
write.skin.php(또는bbs/write.php) 파일에서도$member['mb_level'] == 10조건일 때$is_notice = true가 되도록 설정하여 공지 체크박스가 정상적으로 노출되도록 함께 처리해야 합니다.
그누보드 특정 레벨 회원에게 공지글 등록 권한 부여하기
그누보드에서 공지글은 기본적으로 관리자($is_admin)에게만 등록 권한이 주어집니다. 이를 수정하여 관리자가 아닌 특정 회원 레벨(예: 10레벨) 회원도 공지글을 등록할 수 있도록 권한을 확장하려면 게시판 스킨 파일과 처리 파일을 수정해야 합니다.
1. 게시판 스킨 write.skin.php 파일 수정
게시판 스킨 폴더 내의 write.skin.php 파일을 엽니다. 파일 상단의 접근 불가 코드 바로 아래에 특정 레벨 조건 코드를 추가합니다.
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 특정 레벨(예: 10) 회원에게 공지 권한 부여
if ($member['mb_level'] == 10 && $w!= 'r') {
$is_notice = true;
if ($w == 'u') { // 답변 수정시 공지 체크 없음
if ($write['wr_reply']) {
$is_notice = false;
} else {
if (in_array((int)$wr_id, $notice_array)) {
$notice_checked = 'checked';
}
}
}
}
참고: 이 설정 내용은
bbs/write.php파일에도 존재하므로 해당 파일에서 직접 수정하셔도 무방합니다.
2. bbs/write_update.php 파일 수정
bbs/write_update.php 파일을 열어 관리자 권한만 체크하는 기존 로직을 찾아 수정합니다.
기존 코드 예시:
if (!$is_admin && $notice) {
alert('관리자만 공지할 수 있습니다.');
}
수정 코드:
if (!$is_admin && $member['mb_level'] < 10 && $notice) {
alert('관리자만 공지할 수 있습니다.');
}
위와 같이 코드를 수정하면 관리자가 아니더라도 지정한 레벨 조건을 충족하는 회원이 공지글을 작성할 때 권한 에러 없이 정상적으로 등록될 수 있습니다.
공지글 등록 권한 확장 가이드
관리자가 아닌 특정 레벨 회원에게 공지글 등록 권한을 부여하려면, 프론트엔드(스킨)에서 체크박스를 노출하고 백엔드(처리 파일)에서 권한 검증 로직을 수정해야 합니다.
상황별 선택 기준 및 행동
- 공지 체크박스 노출이 필요한 경우
- 선택 기준: 게시판 스킨의
write.skin.php파일 상단. - 다음 행동:
if (!defined('_GNUBOARD_')) exit;코드 바로 아래에 특정 레벨(예: 10)일 때$is_notice = true가 되도록 조건문을 추가합니다.
- 선택 기준: 게시판 스킨의
- 권한 에러(관리자만 공지 가능)를 해결해야 하는 경우
- 선택 기준:
bbs/write_update.php파일 내 관리자 권한 체크 로직. - 다음 행동: 기존
if (!$is_admin && $notice)조건문에&& $member['mb_level'] < 10을 추가하여, 지정 레벨 이상인 회원은 에러를 피하도록 수정합니다.
- 선택 기준:
FAQ
Q. 특정 게시판에만 권한을 제한하고 싶습니다.
write.skin.php와write_update.php의 조건문에$bo_table == '게시판아이디'조건을 추가하여 특정 게시판에서만 코드가 동작하도록 제한할 수 있습니다.
Q. 수정 후에도 공지글 등록이 안 됩니다.
write.skin.php에서$is_notice변수가 정상적으로true로 설정되는지 확인하십시오. 또한,write_update.php수정 시$member['mb_level']값이 올바르게 전달되는지 확인이 필요합니다.
함께 보면 좋은 글
- 그누보드4 특정 레벨 이상 회원 비밀글 열람 권한 부여 방법
- 그누보드 특정 게시판 지정 회원 글쓰기 권한 제한 방법
- 그누보드 게시판 관리자가 상위 레벨 회원의 게시글을 수정 및 삭제하는 방법
참고자료
기타 참고자료
- 이전글그누보드 뷰 페이지 스크랩 상태 표시 방법 26.10.28
- 다음글그누보드 1:1 문의 게시판 작성자 닉네임을 이름으로 변경하는 방법 26.10.27
댓글목록
등록된 댓글이 없습니다.