테스트 사이트 - 개발 중인 베타 버전입니다

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

레이디스완 5년 전 조회 2,048

 

안녕하세요.

그누보드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개

채택된 답변
+20 포인트
5년 전

</p>

<p>//그룹 관리자 여러명으로 정하기 

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'; } 

}</p>

<p>

 

설정하는 소스입니다.

그리고 한가지 더

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

 

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

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

 

해결 잘 되시길 바랍니다.

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

레이디스완
5년 전
답변을 주셔서 감사합니다.
안타깝게도 해결이 되지않았습니다.

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

이 외에 더 설정해줘야하는 부분은 없는지 혹여나 누락된 설정은 없는지 궁금합니다.
카알주
5년 전
혹시 필드 타입을 확인해보시고 varchar(255) 이 아니면 varchar(255)으로 수정해보세요.

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

예) test, test01, test02 ---> test,test01,test02
레이디스완
5년 전
카알주님, 댓글 감사합니다.

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

말씀해주신 조건을 모두 확인하였으나..
여전히 작동되지않습니다.
카알주
5년 전
보시고자하는 게시판 소스에 아래 소스를 넣어보시고

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 파일 소스를 만들어 생성하신후 위 소스를 넣어 주시고 테스트해보세요.

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

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


꼭 해결 되시길 바랍니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인