그룹관리자 다중 권한 문제로 궁금한것이 있습니다.

그룹관리자 다중 권한 문제로 궁금한것이 있습니다.

QA

그룹관리자 다중 권한 문제로 궁금한것이 있습니다.

본문

 

안녕하세요.

그누보드5를 이용하고 있으며, '그룹관리자에만' 다중으로 등록하고 싶습니다.

우선 그누보드5에 팁게시판을 모두 확인하였을때,
2가지 방향이 있는 것을 확인하였고, 소스를 적용해보았습니다.
(모두 extand 폴더에 새 php 파일을 만들어서 작업하였습니다.)

 

1. 권한을 하드코딩으로 주는 방법
아래 코드를 이용할 경우, 그룹관리자 다중등록은 됩니다.
하지만, 아래 코드는 관리자id1, 관리자id2에게 모두 최고관리자 권한을 부여하는데다가..
관리자 수정 시 일일히 코드에서 수정을 해야하는 번거로움으로 선택하고 싶지않은 방법입니다.
<?
if (!defined('_GNUBOARD_')) exit;
// 최고관리자
if ($member[mb_id] == '관리자id1') $is_admin = 'super';
if ($member[mb_id] == '관리자id2') $is_admin = 'super';

// 그룹관리자
if ($gr_id == '그룹id')
{
    if ($member[mb_id] == '관리자id1') $is_admin = 'group';
    if ($member[mb_id] == '관리자id2') $is_admin = 'group';
}

// 게시판관리자
if ($bo_table == '게시판id')
{
    if ($member[mb_id] == '관리자id1') $is_admin = 'board';
    if ($member[mb_id] == '관리자id2') $is_admin = 'board';

    if ($is_admin == 'board') $board[bo_admin] = $member[mb_id];
}

?>


2. 소스 생성 후, 관리자 홈페이지 > 게시판 > 게시판그룹관리에서 관리자id를 콤마로 등록하는 방법(관리자id1,관리자id2)
제가 사용하고 싶은 소스와 일치합니다.
하지만, 아래소스를 이용한 경우에는 관리권한이 부여되지않습니다.
조건은 권한을 부여하고싶은 관리자id에게 관리권한을 통해 게시판그룹관리(쓰기,수정,삭제)권한을 부여해줬으며,
아래 소스 생성 후 관리자에서 2개 이상의 관리자 id를 입력해줬습니다.
<?
if($is_member && $group['gr_admin']){
 $tmpArr= explode(',', $group['gr_admin']);
 if( in_array( $member[mb_id], $tmpArr)){ $group['gr_admin']=$member[mb_id]; $is_admin = 'group'; }
}
?>

 

2번으로사용할 경우 잘못들어간 소스가 있는지 
또는 잘못 설정된 조건이 있는지 궁금합니다.

알려주시면 감사하겠습니다.

이 질문에 댓글 쓰기 :

답변 1


//그룹 관리자 여러명으로 정하기 
if($is_member && $group['gr_admin']){ 
 $tmpArr= explode(',', $group['gr_admin']); 
 if( in_array( $member['mb_id'], $tmpArr)){ $group['gr_admin']=$member['mb_id']; $is_admin = 'group'; } 
}

 

설정하는 소스입니다.

그리고 한가지 더

저 소스만으로는 관리자 페이지에서 여러명 등록이 안됩니다. 왜냐면 글자수 제한이 걸려 있기 때문입니다. 그래서 관리자페이지의 그룹관리자 등록 input 태그의 글자수를 해제하셔야 할겁니다.

 

혹시 만약 위 방법으로도 안되신다면

g5_group_member에도 추가해주시면 될겁니다.

 

해결 잘 되시길 바랍니다.

 

 

답변을 주셔서 감사합니다.
안타깝게도 해결이 되지않았습니다.

말씀해주신것처럼 알려주신 소스로 수정하고,
input의 글자수 해제와 g5_group_member의 글자수까지 수정을 해보았지만..
다중입력이 되지않았습니다.

이 외에 더 설정해줘야하는 부분은 없는지 혹여나 누락된 설정은 없는지 궁금합니다.

혹시 필드 타입을 확인해보시고 varchar(255) 이 아니면 varchar(255)으로 수정해보세요.

그리고 관라자 입력하실때는 ,(콤마) 로 붙혀쓰셔야할 겁니니다.

예) test, test01, test02 ---> test,test01,test02

카알주님, 댓글 감사합니다.

확인요청주신 필드값과 관리자 입력정보를 모두 확인하였으나..
원래부터 varchar값으로 설정이 되어있었고..
관리자 입력역시 ,(콤마)로 띄워쓰기없이 붙여 작성하였습니다.

말씀해주신 조건을 모두 확인하였으나..
여전히 작동되지않습니다.

보시고자하는 게시판 소스에 아래 소스를 넣어보시고

echo "Group Admin: ".$group['gr_admin'];

화면을 열어보시면 배열로 리스트가 출력되어야합니다.

출력된다면 이상없이 입력 되신 것이고
확인해보셔야할 내용은 게시판 권한, 사용자 권한 등을 확인해보세요.

만약 출력되지 않는다면

//그룹 관리자 여러명으로 정하기
if($is_member && $group['gr_admin']){
 $tmpArr= explode(',', $group['gr_admin']);
 if( in_array( $member['mb_id'], $tmpArr)){ $group['gr_admin']=$member['mb_id']; $is_admin = 'group'; }
}

위 소스의 위치가 잘못되셨으니 head.php 나 extand 폴더에 php 파일 소스를 만들어 생성하신후 위 소스를 넣어 주시고 테스트해보세요.

그외의 경우에는 관리자 화면의 게시판 관리에 문제가 있는 것 같습니다.

※ 빌드 또는 테마 또는 스킨을 변경하셨을 경우에는 관련 자료를 찾아보셔야 할 것 같습니다. (설명드리는 해결방법은 기본 그누보드, 기본 테마, 기본 스킨에 대한 내용입니다.)

 
꼭 해결 되시길 바랍니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 2

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT