최고관리자를 여러명 두려면...(레벨이 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;
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'; 이렇게 해도 안되네요..
|
댓글을 작성하시려면 로그인이 필요합니다.
로그인
댓글 7개
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 선언을 해야 됩니다..
// 관리자인가?
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 '';
}
하지만 로긴하고 관리자모드에서 회원삭제는 문제가 되더군요.
"최고 관리자는 삭제할 수 없습니다 "라고 뜹니다.
물론 이부분을 수정하면 되겠지만...또 다른 문제가 있을지 몰라서 저는 사용을 하지 않고
그냥 아이디를 지정하는 방식을 쓰게 되었네요.
혹시 위처럼 수정했을때 문제가 생기는 부분을 더알면 좋을텐데요.