그누보드는 기본적으로 최고관리자, 그룹관리자, 게시판관리자 이렇게 세 종류의 관리자로 나뉜다.
또한, 기본적으로 한명씩 밖에 지정을 할 수가 없다.
그룹관리자에 여러명을 지정해야 하는 상황이 발생할 경우를 대비하여 방법을 알아보자.
아래 순서대로 작업한다면 어렵지 않게 수정할 수 있다.
1. adm/boardgroup_list.php
if ($is_admin == "super")
echo "<td><input type=text class=ed name=gr_admin[$i] value='$row[gr_admin]' maxlength=20></td>";
에서
if ($is_admin == "super")
echo "<td><input type=text class=ed name=gr_admin[$i] value='$row[gr_admin]' maxlength=100></td>";
빨간 숫자부분만 크게 바꿔준다.
여러 아이디를 사용할 것이기 때문에 기존에 있던 input보다 크게 maxlength=100 정도로 바꿔준다.
2. lib/common.lib.php
if ($group['gr_admin'] == $mb_id) return 'group';
if ($board['bo_admin'] == $mb_id) return 'board';
이 부분을
if( in_array( $mb_id, explode( ',', $group['gr_admin']))) return 'group'; ///그룹관리자
if( in_array( $mb_id, explode( ',', $board['bo_admin']))) return 'board'; ///게시판관리자
이렇게 수정한다.
여러 아이디들이 담겨있는 필드를 가져와서 ','로 구분하여 배열을 만들고, 현재 로그인 된 아이디가 배열의 key값중에 속해있는지 구분하는 문구이다.
3. bbs/board.php
// 최고관리자 또는 그룹관리자라면
if ($member[mb_id] && ($is_admin == 'super' || $group[gr_admin] == $member[mb_id]))
$admin_href = "$g4[admin_path]/board_form.php?w=u&bo_table=$bo_table";
이 부분을
if ($member[mb_id] && ($is_admin == 'super' || $is_admin == 'group' || $is_admin == 'board'))
$admin_href = "$g4[admin_path]/board_form.php?w=u&bo_table=$bo_table";
빨간색 처럼 바꿔준다.
4. bbs/list.php
$is_checkbox = false;
if ($member[mb_id] && ($is_admin == "super" || $group[gr_admin] == $member[mb_id] || $board[bo_admin] == $member[mb_id]))
$is_checkbox = true;
이부분을
$is_checkbox = false;
if ($member[mb_id] && ($is_admin == "super" || $is_admin == "group" || $is_admin == "board"))
$is_checkbox = true;
이것은 그룹관리자나 게시판관리자로 접속했을때 게시물을 관리할 수 있는 체크박스가 나타나게 해주는 것이다.
5. bbs/delete_comment.php, bbs/delete_all.php, bbs/delete.php, bbs/write_update.php
이 네개의 파일에서
if ($member[mb_id] == $group[gr_admin]) { // 자신이 관리하는 그룹인가?
라는 부분이 있다면
if ($is_admin == "group") { // 자신이 관리하는 그룹인가?
이렇게 수정해주고,
if ($member[mb_id] != $board[bo_admin]) // 자신이 관리하는 게시판인가?
라는 부분이 있으면
if ($is_admin != "board") // 자신이 관리하는 게시판인가?
이렇게 수정해준다.
수정할 곳이 좀 여러군데여서 복잡해 보이지만,
파일당 한곳씩 수정하는 것이기 때문에 금방 작업을 끝낼 수 있을 것이다.
'PHP' 카테고리의 다른 글
php 메일 utf-8로 보내기 (0) | 2013.04.30 |
---|---|
php 현재 생성되어있는 변수 확인 (0) | 2013.04.30 |
다중 셀렉트(배열이용) (0) | 2013.04.05 |
그누보드 로그인세션 공유 (0) | 2013.04.05 |
php로 pdf 파일 다운로드 구현 (0) | 2013.04.05 |