답변 3개
채택된 답변
+20 포인트
최고관리자 구분은 db의 멤버테이블에서 하는게 아니라 config테이블에서 하는 거에요.
원래 한명만 가능한데 제가 필요해서 예전에 사용한 방법이었어요.
제가 어디까지 수정했는지 기억이 잘 안나서 안될수도 있거나 다른거에서 오류가 날수도 있어요...
예전에 수정했던거라 요즘거 다운받은거로 알려드릴께요.
일단 최고관리자는 사이트 환경설정테이블인 db의 gb_config에 저장됩니다.
이 테이블을 불러와서 이사이트의 최고관리자는 $config['cf_admin'] 이다 라는 선언을 /common.php에서 해줘요.
근데 최고관리자인 is_admin체크는 /lib/common.lib에서 하게되요.
/lib/common.lib에서는 common.php에서 설정한 $config['cf_admin']의 값이 현재 나의값인 $mb_id와 일치하는가를 체크한후 일치한다면 super라는 최고관리자 권한값을 리턴해주고 아니라면 현재 값에 맞는 것을 재확인해서 리턴해줘요.
여기서 $config['cf_admin']값을 db에서 직접 두개로 입력해주시고 구분하시면되요.
저는 admin과 subadmin이라는 값을 db의 gb_config테이블의 cf_admin값에 'admin||subadmin' 이라고 입력해두고 사용했었어요. (예전에요..)
이렇게 적용하는 방법은 관리자인지 체크하는 /lib/common.lib의 is_admin펑션에서(검색을 is_admin으로 하시면대요)
Copy
if ($config['cf_admin'] == $mb_id) return 'super'; // 이전에 있던 검색방식이고요 //제가 사용했을거라 예상되는 방식$adminChk = explode("||", $config['cf_admin']);// 이렇게하면 $adminChk[0] = admin, $adminChk[1] = subadminif($adminChk[0] == $mb_id){return 'super';}else if($adminChk[1] == $mb_id){return 'super';}
답변을 작성하려면 로그인이 필요합니다.