페이지 정보
본문
관리자페이지에서 회원등급을 한글로 표기하는 방법입니다.
우선은 해당 방법은 db필드를 추가하여서 뿌려주는 방식이므로
db필드 추가를 원하지 않으시는 분은 사용하시면 안될듯합니다.
우선은 www/adm/admin.menu200.php 파일을 열어주세요.
기존의 관리자 메뉴에 없는 회원등급설정 이란 메뉴를 생성해줍니다.
<?php
/* www/adm/admin.menu200.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
/* www/adm/member_lev_conf.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');
?>
도메인주소/adm/member_lev_conf.php 페이지에 접속하시면 파일 부분에 해당 db 필드가 없다면
lev_cf_1 부터 lev_cf_10 까지 필드를 자동 생성해줍니다.
이후 www/lib/common.lib.php 파일 제일 아랫부분에 새로생성한 함수를 하나 추가해줍니다.
<?php
/* 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 파일에서
회원등급을 가져오는 셀렉트박스쪽의 함수를 변경해줍니다.
<!-- 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>
댓글목록
등록된 댓글이 없습니다.