회원 권한 특정 숫자만 노출

회원 권한 특정 숫자만 노출

QA

회원 권한 특정 숫자만 노출

본문

안녕하세요

 

관리자 회원관리 부분의 권한이 기본적으로 1~10으로 세팅 되어있는데 특정 숫자만 노출이 가능할까요?

제가 필요한 숫자는 1~4, 10 이렇게 총 5개 숫자만 노출시키고 나머지 숫자는 보이지 않게 하고 싶습니다.

 

이미지 참고 하시어 도움 부탁드리겠습니다..ㅠ

 

1935517851_1661395953.9233.png

 

감사합니다.

이 질문에 댓글 쓰기 :

답변 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

로 대체해서 사용하세요

답변을 작성하시기 전에 로그인 해주세요.
전체 152
QA 내용 검색

회원로그인

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