최고관리자를 여러명 두려면...(레벨이 10 이면 최고관리자) > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

최고관리자를 여러명 두려면...(레벨이 10 이면 최고관리자) 정보

최고관리자를 여러명 두려면...(레벨이 10 이면 최고관리자)

본문

최고관리자를 여러명 두려면 아래와 같이 common.lib.php 파일에서 직접 아이디를 추가하는 방법말고 레벨이 10 이면 최고관리자가 되는 방법 없을까요??

 // 관리자인가?
 function is_admin($mb_id)
 {
    global $config, $group, $board;
 
  if (!$mb_id) return;
    // if ($config[cf_admin] == $mb_id) return 'super'; 기존코드 주석처리
    if ($config[cf_admin] == $mb_id || $mb_id == '관리자아이디') return 'super';
    if ($group[gr_admin] == $mb_id) return 'group';
    if ($board[bo_admin] == $mb_id) return 'board';
    return '';
 }


if ($config[cf_admin] == $mb_id || $mb_level ==10) return 'super';  이렇게 해도 안되네요..

댓글 전체

// 관리자인가?
 function is_admin($mb_id)
 {
    global $config, $group, $board, $member;
 
  if (!$mb_id) return;
    // if ($config[cf_admin] == $mb_id) return 'super'; 기존코드 주석처리
    if (($config[cf_admin] == $mb_id) || ($member[mb_level] ==10) return 'super';
    if ($group[gr_admin] == $mb_id) return 'group';
    if ($board[bo_admin] == $mb_id) return 'board';
    return '';
 }

함수에서 함수 밖의 변수를 사용하려면 global 선언을 해야 됩니다..
common.lib.php


// 관리자인가?
 function is_admin($mb_id)
 {
    global $config, $group, $board, $member;
 
  if (!$mb_id) return;
    // if ($config[cf_admin] == $mb_id) return 'super'; 기존코드 주석처리
    if (($config[cf_admin] == $mb_id) || ($member[mb_level] ==10)) return 'super';
    if ($group[gr_admin] == $mb_id) return 'group';
    if ($board[bo_admin] == $mb_id) return 'board';
    return '';
 }
위처럼 하면 편리하게 적용하여 홈페이지상에서는 작동이 잘됩니다.

하지만 로긴하고 관리자모드에서 회원삭제는 문제가 되더군요.
"최고 관리자는 삭제할 수 없습니다 "라고 뜹니다.
물론 이부분을 수정하면 되겠지만...또 다른 문제가 있을지 몰라서 저는 사용을 하지 않고
그냥 아이디를 지정하는 방식을 쓰게 되었네요.

혹시 위처럼 수정했을때 문제가 생기는 부분을 더알면 좋을텐데요.
전체 66,558 |RSS
그누4 질문답변 내용 검색

회원로그인

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