게시판 하나를 공지사항용으로 만드는법을 연구해 보신분 계십니까? 정보
그누보드 게시판 하나를 공지사항용으로 만드는법을 연구해 보신분 계십니까?본문
제가 있는곳에서 하나의 요구사항이 날라왔습니다.
그룹은 열려 있고, 게시판도 열려 있으되, 그 게시판 관리자만 쓰기,답변,수정,삭제가 가능하게 해달라는 것이었지요.
물론 최고 관리자 및 그룹 관리자는 권한이 다 있어야 겠지요. (이건 구현 되어 있으니 놔두고..)
정리하자면: 하나의 게시판을 공지사항용 - 그 게시판 관리자만 쓰기,답변,수정,삭제가 가능 - 으로 만드는것에 대한 답변을 해 주실수 있는 분은 답변을 부탁드립니다.
현재 제가 쓰고 있는 방식은 일부러 그누보드의 소스의 조잡성을 줄이기 위해 스킨상에서 제한시키고 있습니다.
$tb_vs_mb = array(
"보드명1" => "보드1 관리자",
"보드명2" => "보드2 관리자",
...
);
if ( $tb_vs_mb[$bo_table] != $member[mb_id] ) $a_write = "";
이렇게 하면 gnuboard.php?bo_table=보드명1 이 왔을때, 보드1관리자가 아니면 글쓰기 버튼의 사용이 제한되겠죠.
그러나, 이렇게 하면 잔손이 많이 가던지, 원 소스 차원에서 제한되지 않아서 글쓰기의 링크만 알면 충분히 글쓰기가 되기 때문에 위험하다고 생각됩니다.
제가 직접 생각하고 못할 정도로 바쁜 이유가 있어서(?) - 머리가 나빠서.. - 도움 요청드립니다.
그룹은 열려 있고, 게시판도 열려 있으되, 그 게시판 관리자만 쓰기,답변,수정,삭제가 가능하게 해달라는 것이었지요.
물론 최고 관리자 및 그룹 관리자는 권한이 다 있어야 겠지요. (이건 구현 되어 있으니 놔두고..)
정리하자면: 하나의 게시판을 공지사항용 - 그 게시판 관리자만 쓰기,답변,수정,삭제가 가능 - 으로 만드는것에 대한 답변을 해 주실수 있는 분은 답변을 부탁드립니다.
현재 제가 쓰고 있는 방식은 일부러 그누보드의 소스의 조잡성을 줄이기 위해 스킨상에서 제한시키고 있습니다.
$tb_vs_mb = array(
"보드명1" => "보드1 관리자",
"보드명2" => "보드2 관리자",
...
);
if ( $tb_vs_mb[$bo_table] != $member[mb_id] ) $a_write = "";
이렇게 하면 gnuboard.php?bo_table=보드명1 이 왔을때, 보드1관리자가 아니면 글쓰기 버튼의 사용이 제한되겠죠.
그러나, 이렇게 하면 잔손이 많이 가던지, 원 소스 차원에서 제한되지 않아서 글쓰기의 링크만 알면 충분히 글쓰기가 되기 때문에 위험하다고 생각됩니다.
제가 직접 생각하고 못할 정도로 바쁜 이유가 있어서(?) - 머리가 나빠서.. - 도움 요청드립니다.
댓글 전체
제가 쓰고 제가 답을 답니다. 일단 Na 님의 방식을 참고하여 짱돌을 굴려 8보다 낮은 레벨로 맞추고 하는 방법을 찾았습니다.
* 예제 *
- 게시판 관리자 레벨: 3
- 게시판 글쓰기 레벨: 4
gblist.php (글 목록보기)에서 게시판 관리자 이상만 글쓰기 가능을 구현 해보자면..
$show_write_begin = "<!--";
$show_write_end = "-->";
if ($member[mb_level] >= $board[bo_write_level]) {
$a_write = "<a href='gbform.php?w=&bo_table=$bo_table' class=s_a>";
$show_write_begin = "";
$show_write_end = "";
}
// 이 아래를 추가
if ($member[mb_id] == $board[bo_admin]) {
$a_write = "<a href='gbform.php?w=&bo_table=$bo_table' class=s_a>";
$show_write_begin = "";
$show_write_end = "";
}
하면 되긴 되고 있습니다만, 다른 어떤 곳에서 권한으로 인한 오류가 발생될지 모르겠습니다.
* 예제 *
- 게시판 관리자 레벨: 3
- 게시판 글쓰기 레벨: 4
gblist.php (글 목록보기)에서 게시판 관리자 이상만 글쓰기 가능을 구현 해보자면..
$show_write_begin = "<!--";
$show_write_end = "-->";
if ($member[mb_level] >= $board[bo_write_level]) {
$a_write = "<a href='gbform.php?w=&bo_table=$bo_table' class=s_a>";
$show_write_begin = "";
$show_write_end = "";
}
// 이 아래를 추가
if ($member[mb_id] == $board[bo_admin]) {
$a_write = "<a href='gbform.php?w=&bo_table=$bo_table' class=s_a>";
$show_write_begin = "";
$show_write_end = "";
}
하면 되긴 되고 있습니다만, 다른 어떤 곳에서 권한으로 인한 오류가 발생될지 모르겠습니다.
프로그램에 관련해서 답을 드릴 수 있는 능력이 안되서리...
그냥 그누보드 관리자권한에서 설정할 수 있는 부분으로 말씀 드릴께요.
일단, 특정 게시판 관리자를 지정하고, 레벨 권한으로 막아 놓으면 되던데요.
예를 들어 기본셋팅이 8레벨정도되면 거의 모든 일반적인 사항에 접근할 수 있게 되어 있어서,
특정게시판의 관리자 권한을 기본셋팅이 8정도로 놓으시고, 특별관리가 필요한 -말씀하신 특정 게시판과 관리자의 권한지정을 하시고, 레벨을 타 게시판 관리자와는 다르게 설정합니다- 곳만, 게시판설정과 게시판관리자의 레벨을 한단계 정도 올리시면 되죠.
기본게시판 관리자의 권한이 예를 들어 8레벨이라면, 공지사항 게시판관리자의 권한을 9레벨로 지정한다는 방식.
한번 시도해 보세요. 제가 써먹는 방식이랍니다..^^
그냥 그누보드 관리자권한에서 설정할 수 있는 부분으로 말씀 드릴께요.
일단, 특정 게시판 관리자를 지정하고, 레벨 권한으로 막아 놓으면 되던데요.
예를 들어 기본셋팅이 8레벨정도되면 거의 모든 일반적인 사항에 접근할 수 있게 되어 있어서,
특정게시판의 관리자 권한을 기본셋팅이 8정도로 놓으시고, 특별관리가 필요한 -말씀하신 특정 게시판과 관리자의 권한지정을 하시고, 레벨을 타 게시판 관리자와는 다르게 설정합니다- 곳만, 게시판설정과 게시판관리자의 레벨을 한단계 정도 올리시면 되죠.
기본게시판 관리자의 권한이 예를 들어 8레벨이라면, 공지사항 게시판관리자의 권한을 9레벨로 지정한다는 방식.
한번 시도해 보세요. 제가 써먹는 방식이랍니다..^^