회원 권한 특정 숫자만 노출 채택완료

안녕하세요

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

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

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

1935517851_1661395953.9233.png

감사합니다.

답변 2개

채택된 답변
+20 포인트

"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.'"';

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

딱 덜어지네요. 엑스엠엘님 대단 하시네요. 한 수 배웁니다.
감사합니다!!

댓글을 작성하려면 로그인이 필요합니다.

레벨을 추출하는 함수는
/adm/admin.lib.php에 있는

Copy
// 회원권한을 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> 처리는 아실테니

두번째 예외를 적용하는 방법은

Copy
// 회원권한을 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

로 대체해서 사용하세요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사합니다. 많은 도움이 되었습니다 :)

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고