채택완료

이 코드 간략하게 줄일수 있는 방법이 있을까요?

2018-03-22 (목) 21:09:20 2,787
Copy
<?php

if ($member[mb_level] >= 6) {

    $menu['menu300'] = array (

        array('300000', '회원관리', G5_ADMIN_URL.'/member_list.php', 'member'),

        array('300100', '회원목록', G5_ADMIN_URL.'/member_list.php', 'mb_list'),

        array('300200', '회원메일발송', G5_ADMIN_URL.'/mail_list.php', 'mb_mail'),

        array('300300', 'SMS 관리', ''.G5_SMS5_ADMIN_URL.'/config.php', 'sms5'),

    );

}else if ($member[mb_level] == 5) {

    $menu['menu300'] = array (

        array('300000', '회원관리', G5_ADMIN_URL.'/member_list.php', 'member'),

        array('300100', '회원목록', G5_ADMIN_URL.'/member_list.php', 'mb_list'),

        array('300300', 'SMS 관리', ''.G5_SMS5_ADMIN_URL.'/config.php', 'sms5'),

    );

}else if ($member[mb_level] == 4) {

    $menu['menu300'] = array (

        array('300000', '회원관리', G5_ADMIN_URL.'/member_list.php', 'member'),

        array('300100', '회원목록', G5_ADMIN_URL.'/member_list.php', 'mb_list'),

    );

}

?>

회원 레벨별로 관리자 페이지에 노출되는 메뉴를 다르게 설정해놓았는데

코드가 너무 길어서요..

간단하게 할 수 있는 방법이 없을까요?

|

답변 2개 / 댓글 1개

채택된 답변
+20 포인트
Copy
<?php

$menu['menu300'] = array (

array('300000', '회원관리', G5_ADMIN_URL.'/member_list.php', 'member'),

array('300100', '회원목록', G5_ADMIN_URL.'/member_list.php', 'mb_list'),

);

if ($member[mb_level] >= 6) {

$menu['menu300'][] = array('300200', '회원메일발송', G5_ADMIN_URL.'/mail_list.php', 'mb_mail');

}

if ($member[mb_level] >= 5) {

$menu['menu300'][] = array('300300', 'SMS 관리', ''.G5_SMS5_ADMIN_URL.'/config.php', 'sms5');

}

?>

답변에 대한 댓글 1개

답변 감사합니다^^

그런데 레벨5가 볼 수 있는 메뉴를 레벨 6은 못보고
6이 보는 메뉴는 5가 못보고 이런식이라서요

응용해서 코드를 짜봐야겠습니다^^
2018-03-23 (금) 07:13:58
Copy
<?php
$rem = array(5=>array(2), 4=>array(2, 3));
$menu['menu300'] = array (
    array('300000', '회원관리', G5_ADMIN_URL.'/member_list.php', 'member'),
    array('300100', '회원목록', G5_ADMIN_URL.'/member_list.php', 'mb_list'),
    array('300200', '회원메일발송', G5_ADMIN_URL.'/mail_list.php', 'mb_mail'),
    array('300300', 'SMS 관리', ''.G5_SMS5_ADMIN_URL.'/config.php', 'sms5'),
);

foreach($rem as $k => $v) {
    if($member['mb_level'] == $k) {
        foreach($v as $i) unset($menu['menu300'][$i]);
    }
}

참고하시라고 남깁니다.

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