[관리자페이지] 회원등급 한글로 표기하기 > 그누보드5 팁자료실

그누보드5 팁자료실

[관리자페이지] 회원등급 한글로 표기하기 정보

[관리자페이지] 회원등급 한글로 표기하기

첨부파일

1.png (19.5K) 9회 다운로드 2016-11-25 22:36:33
2.png (22.4K) 3회 다운로드 2016-11-25 22:36:33

본문

관리자페이지에서 회원등급을 한글로 표기하는 방법입니다.
우선은 해당 방법은 db필드를 추가하여서 뿌려주는 방식이므로
db필드 추가를 원하지 않으시는 분은 사용하시면 안될듯합니다.

우선은 www/adm/admin.menu200.php 파일을 열어주세요.
기존의 관리자 메뉴에 없는 회원등급설정 이란 메뉴를 생성해줍니다.

<?php
$menu['menu200'] = array (
	array('200000', '회원관리', G5_ADMIN_URL.'/member_list.php', 'member'),
	array('200100', '회원관리', G5_ADMIN_URL.'/member_list.php', 'mb_list'),
	array('200150', '회원등급설정', G5_ADMIN_URL.'/member_lev_conf.php', 'mb_lev_conf'),
	array('200300', '회원메일발송', G5_ADMIN_URL.'/mail_list.php', 'mb_mail'),
	array('200800', '접속자집계', G5_ADMIN_URL.'/visit_list.php', 'mb_visit', 1),
	array('200810', '접속자검색', G5_ADMIN_URL.'/visit_search.php', 'mb_search', 1),
	array('200820', '접속자로그삭제', G5_ADMIN_URL.'/visit_delete.php', 'mb_delete', 1),
	array('200200', '포인트관리', G5_ADMIN_URL.'/point_list.php', 'mb_point'),
	array('200900', '투표관리', G5_ADMIN_URL.'/poll_list.php', 'mb_poll')
);
?>


그리고 www/adm/member_lev_conf.php 파일을 생성해줍니다.
member_lev_conf.php 파일의 소스 내용은 아래와 같습니다.

<?php
//<- 오류 모두 표시 
error_reporting(E_ALL); 
ini_set('display_errors','On');

$sub_menu = "200150";
include_once('./_common.php');

auth_check($auth[$sub_menu], 'r');

if ($is_admin != 'super')
	alert('등급수정은 최고관리자만 가능합니다.');

if (!isset($config['lev_cf_1'])) {
    sql_query(" ALTER TABLE `{$g5['config_table']}`
                    ADD `lev_cf_1` VARCHAR(255) NOT NULL DEFAULT '비회원' AFTER `cf_10`,
                    ADD `lev_cf_2` VARCHAR(255) NOT NULL AFTER `lev_cf_1`,
                    ADD `lev_cf_3` VARCHAR(255) NOT NULL AFTER `lev_cf_2`,
                    ADD `lev_cf_4` VARCHAR(255) NOT NULL AFTER `lev_cf_3`,
                    ADD `lev_cf_5` VARCHAR(255) NOT NULL AFTER `lev_cf_4`,
                    ADD `lev_cf_6` VARCHAR(255) NOT NULL AFTER `lev_cf_5`,
                    ADD `lev_cf_7` VARCHAR(255) NOT NULL AFTER `lev_cf_6`,
                    ADD `lev_cf_8` VARCHAR(255) NOT NULL AFTER `lev_cf_7`,
                    ADD `lev_cf_9` VARCHAR(255) NOT NULL AFTER `lev_cf_8`,
                    ADD `lev_cf_10` VARCHAR(255) NOT NULL DEFAULT '최고관리자' AFTER `lev_cf_9` ", true);
}

if ($w == '')
{
    //$mb['mb_open'] = 1;
    //$mb['mb_level'] = $config['cf_register_level'];
}
else if ($w == 'u')
{
	check_admin_token();

	$sql = " update {$g5['config_table']}
            set cf_register_level = '{$_POST['cf_register_level']}',
                lev_cf_2 = '{$_POST['lev_cf_2']}',
                lev_cf_3 = '{$_POST['lev_cf_3']}',
                lev_cf_4 = '{$_POST['lev_cf_4']}',
                lev_cf_5 = '{$_POST['lev_cf_5']}',
                lev_cf_6 = '{$_POST['lev_cf_6']}',
                lev_cf_7 = '{$_POST['lev_cf_7']}',
                lev_cf_8 = '{$_POST['lev_cf_8']}',
                lev_cf_9 = '{$_POST['lev_cf_9']}' ";
	sql_query($sql);
	goto_url($PHP_SELF, false);
}

$g5['title'] .= '회원등급설정 ';
include_once('./admin.head.php');

$frm_submit = '<div class="btn_confirm01 btn_confirm" style="width:800px;">
    <input type="submit" value="확인" class="btn_submit" accesskey="s">
    <a href="'.G5_URL.'/">메인으로</a>
</div>';

$colspan = 2;
?>

<div class="local_desc01 local_desc">
    <p>
        회원권한을 한글로 표기하여 관리 할수있는 페이지입니다.
		<br><strong>그누보드5 , 영카드5</strong> 에서 사용 가능합니다.
    </p>
</div>

<form name="fmb_lev_conf" id="fmb_lev_conf" method="post" onsubmit="return fmb_lev_conf_submit(this);"  enctype="MULTIPART/FORM-DATA">
<input type="hidden" name="w" value="u">
<input type="hidden" name="token" value="" id="token">

<div class="tbl_head01 tbl_wrap">
    <table style="width:800px;">
    <caption><?php echo $g5['title']; ?> 목록</caption>
    <thead>
		<tr>
			<th scope="col">회원등급</th>
			<th scope="col">등급</th>
		</tr>
    </thead>
    <tbody>
		<? for ($i=1; $i<=10; $i++) { ?>
		<tr>
			<td class="td_category"><?=$i?></td>
			<td>
			<?
				if($i==10 || $i==1)	echo $config["lev_cf_".$i];
				else{
					echo "<input type='text' name='lev_cf_{$i}' value='".$config["lev_cf_".$i]."' class='frm_input'>";
				}
			?>
			</td>
		</tr>
		<? } ?>
		<tr>
            <td class="td_category"><label for="cf_register_level">회원가입시 권한</label></td>
            <td><?php echo get_member_level_select('cf_register_level', 1, 9, $config['cf_register_level']) ?></td>
        </tr>
    </tbody>
    </table>
</div>

<?echo $frm_submit;?>

</form>
<script>
function fmb_lev_conf_submit(){
	if (confirm("등급설정 변경은 개발자에게 문의후 하시는게 좋습니다\n\n등급을 수정하시겠습니까?")){
		return true;
	}
	else{return false;}
}
</script>
<?php
include_once('./admin.tail.php');
?>



member_lev_conf.php 페이지에 접속하시면 파일 부분에 해당 db 필드가 없다면
lev_cf_1 부터 lev_cf_10 까지 필드를 자동 생성해줍니다.

이후 www/lib/common.lib.php 파일 제일 아랫부분에 새로생성한 함수를 하나 추가해줍니다.

// admin.lib.php파일의 get_member_level_select 함수를 바꾸었음
function get_member_level_select2($name, $start_id=0, $end_id=10, $selected="", $event="")
{
    global $g5,$config;

    $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} ".$config['lev_cf_'.$i]."</option>\n";
    }
    $str .= "</select>\n";
    return $str;
}


그리고 나서 www/adm/member_list.php 파일에서
회원등급을 가져오는 셀렉트박스쪽의 함수를 변경해줍니다.

<td headers="mb_list_auth" class="td_mbstat">
	<?php
	if ($leave_msg || $intercept_msg) echo $leave_msg.' '.$intercept_msg;
	else echo "정상";
	?>
	<?php echo get_member_level_select2("mb_level[$i]", 1, $member['mb_level'], $row['mb_level']) ?>
</td>
추천
2

댓글 11개

잘 참고하겠습니다. member_lev_conf.php 안에 <?php 대신 <? 라고만 되어 있는 부분이 몇 군데 있어서 오류가 발생할 수 있습니다. 그건 수정해서 사용하면 되네요.
전체 2,411 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

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