테스트 사이트 - 개발 중인 베타 버전입니다

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

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

우선은 www/adm/admin.menu200.php 파일을 열어주세요.
기존의 관리자 메뉴에 없는 회원등급설정 이란 메뉴를 생성해줍니다.
[code]
<?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')
);
?>
[/code]

그리고 www/adm/member_lev_conf.php 파일을 생성해줍니다.
member_lev_conf.php 파일의 소스 내용은 아래와 같습니다.
[code]
<?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');
?>

[/code]

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

이후 www/lib/common.lib.php 파일 제일 아랫부분에 새로생성한 함수를 하나 추가해줍니다.
[code]
// 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;
}
[/code]

그리고 나서 www/adm/member_list.php 파일에서
회원등급을 가져오는 셀렉트박스쪽의 함수를 변경해줍니다.
[code]
<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>
[/code]

댓글 작성

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

로그인하기

댓글 12개

잘 참고하겠습니다. member_lev_conf.php 안에 <?php 대신 <? 라고만 되어 있는 부분이 몇 군데 있어서 오류가 발생할 수 있습니다. 그건 수정해서 사용하면 되네요.

감사합니다

게시글 목록

번호 제목
24318
24317
24315
24309
24294
24293
24277
24262
24260
24253
24251
24236
24233
24228
24226
24221
24214
24203
24201
24199
24196
24195
24194
24192
24191
24187
24185
24183
24172
24168