회원 권한 특정 숫자만 노출
본문
안녕하세요
관리자 회원관리 부분의 권한이 기본적으로 1~10으로 세팅 되어있는데 특정 숫자만 노출이 가능할까요?
제가 필요한 숫자는 1~4, 10 이렇게 총 5개 숫자만 노출시키고 나머지 숫자는 보이지 않게 하고 싶습니다.
이미지 참고 하시어 도움 부탁드리겠습니다..ㅠ
감사합니다.
답변 2
"adm/admin.lib.php"
// 회원권한을 SELECT 형식으로 얻음
function get_member_level_select($name, $start_id=0, $end_id=10, $selected="", $event="")
이 함수에서
for ($i=$start_id; $i<=$end_id; $i++) {
switch( $i){ case 5: case 6: case 7: case 8: case 9: continue 2; } // 추가해 보세요.
$str .= '<option value="'.$i.'"';
레벨을 추출하는 함수는
/adm/admin.lib.php에 있는
// 회원권한을 SELECT 형식으로 얻음
function get_member_level_select($name, $start_id=0, $end_id=10, $selected="", $event="")
{
global $g5, $is_admin;
//최고관리자면 무조건 10 까지
if($is_admin == 'super') {
$end_id = 10;
}
$str = "\n<select id=\"{$name}\" name=\"{$name}\"";
if ($event) $str .= " $event";
$str .= ">\n";
for ($i=$start_id; $i<=$end_id; $i++) {
$str .= '<option value="'.$i.'"';
if ($i == $selected)
$str .= ' selected="selected"';
$str .= ">{$i}</option>\n";
}
$str .= "</select>\n";
return $str;
}
그중에서
예외를 적용하시려면
두가지 방법입니다.
가장쉬운것은
위 함수를 사용하지 않고 하드코딩을 하는것이고
여러곳에서 사용되는것이라면 함수 자체를 수정하는 방법입니다.
하드코딩으로 <select > <option> 처리는 아실테니
두번째 예외를 적용하는 방법은
// 회원권한을 SELECT 형식으로 얻음 을 하나더 만듭니다.
function get_member_level_select2($name, $start_id=0, $end_id=10, $selected="", $event="")
{
global $g5, $is_admin;
$notselected = array(5,6,7,8,9); //선택하지 않는 레벨들
//최고관리자면 무조건 10 까지
if($is_admin == 'super') {
$end_id = 10;
}
$str = "\n<select id=\"{$name}\" name=\"{$name}\"";
if ($event) $str .= " $event";
$str .= ">\n";
for ($i=$start_id; $i<=$end_id; $i++) {
// 이 부분을 추가합니다. (시작)
foreach($notselected as $k=>$v) {
if ($v == $i)
continue;
}
// 여기까지 추가합니다. (끝)
$str .= '<option value="'.$i.'"';
if ($i == $selected)
$str .= ' selected="selected"';
$str .= ">{$i}</option>\n";
}
$str .= "</select>\n";
return $str;
}
입니다.
기존것에서 필용한 영역에만
get_member_level_select2
로 대체해서 사용하세요
!-->!-->
답변을 작성하시기 전에 로그인 해주세요.