관리자페이지에 관리자를 추가하는 기능입니다.
사용방법은 회원관리에서 관리자 추가를 원하는 회원의 레벨을 10으로 추가시켜줍니다.
그리고 환경설정으로 가면
최고관리자 추가란에 레벨10인 회원을 뿌려와줍니다.
이후 체크를하고 확인을 누르면 최고관리자로 설정됩니다.
./adm/config_form.php 189라인 위에 최고관리자 추가 칼럼 추가 - 추가전
[code]
$g5['title'] = '환경설정';
include_once ('./admin.head.php');
[/code]
./adm/config_form.php 189라인 위에 최고관리자 추가 칼럼 추가 후
[code]
// 최고관리자 추가
if(!isset($config['cf_admin_add'])) {
sql_query(" ALTER TABLE `{$g5['config_table']}`
ADD `cf_admin_add` varchar(255) NOT NULL DEFAULT '' AFTER `cf_admin` ", true);
}
$g5['title'] = '환경설정';
include_once ('./admin.head.php');
[/code]
./adm/config_form.php 237라인을 찾아서 아래 내용 추가 => 추가전
[code]
<tr>
<th scope="row"><label for="cf_admin">최고관리자<strong class="sound_only">필수</strong></label></th>
<td colspan="3"><?php echo get_member_id_select('cf_admin', 10, $config['cf_admin'], 'required') ?></td>
</tr>
<tr>
<th scope="row"><label for="cf_admin_email">관리자 메일 주소<strong class="sound_only">필수</strong></label></th>
<td colspan="3">
<?php echo help('관리자가 보내고 받는 용도로 사용하는 메일 주소를 입력합니다. (회원가입, 인증메일, 테스트, 회원메일발송 등에서 사용)') ?>
<input type="text" name="cf_admin_email" value="<?php echo $config['cf_admin_email'] ?>" id="cf_admin_email" required class="required email frm_input" size="40">
</td>
</tr>
[/code]
./adm/config_form.php 237라인을 찾아서 아래 내용 추가 => 최고관리자 추가 관련 추가후
[code]
<tr>
<th scope="row"><label for="cf_admin">최고관리자<strong class="sound_only">필수</strong></label></th>
<td colspan="3"><?php echo get_member_id_select('cf_admin', 10, $config['cf_admin'], 'required') ?></td>
</tr>
<tr>
<th scope="row"><label for="cf_admin_add">최고관리자 추가</label></th>
<td colspan="3">
<?php echo help('회원레벨이 10 이고 최고관리자라면 체크박스에 체크됨. (해당 업체에서 관리자추가를 원할경우 사용)') ?>
<?=admin_add_checkbox($config['cf_admin'],'cf_admin_add', 10, $config['cf_admin_add'],','); ?>
<input type="hidden" name="cf_admin_add" id="cf_admin_add" value="<?php echo $config['cf_admin_add'] ?>" />
</td>
</tr>
<tr>
<th scope="row"><label for="cf_admin_email">관리자 메일 주소<strong class="sound_only">필수</strong></label></th>
<td colspan="3">
<?php echo help('관리자가 보내고 받는 용도로 사용하는 메일 주소를 입력합니다. (회원가입, 인증메일, 테스트, 회원메일발송 등에서 사용)') ?>
<input type="text" name="cf_admin_email" value="<?php echo $config['cf_admin_email'] ?>" id="cf_admin_email" required class="required email frm_input" size="40">
</td>
</tr>
[/code]
./adm/config_form.php 상단에 아래 스크립트 추가
[code]
<script>
function admin_member_add(obj,chkobj) {
var l = document.getElementsByName(chkobj);
var i;
var tag = "";
for(i = 0; i < l.length; i++ ) { // for문 시작
if(i > 0) tag += ",";
if(l[i].checked) { // if(l[i].checked) {
tag += l[i].value;
}
} // for문 종료
document.getElementById(obj).value = tag;
}
</script>
[/code]
./adm/config_form_update.php 27라인을 찾아서 아래 내용 추가 => 추가전
[code]
$sql = " update {$g5['config_table']}
set cf_title = '{$_POST['cf_title']}',
cf_admin = '{$_POST['cf_admin']}',
[/code]
./adm/config_form_update.php 27라인을 찾아서 아래 내용 추가 =>
cf_admin_add = '{$_POST['cf_admin_add']}', 최고관리자 추가 관련 추가후
[code]
$sql = " update {$g5['config_table']}
set cf_title = '{$_POST['cf_title']}',
cf_admin = '{$_POST['cf_admin']}',
cf_admin_add = '{$_POST['cf_admin_add']}',
[/code]
./lib/common.lib.php에 777라인에 function is_admin($mb_id) 내용 추가 - 내용 추가전
[code]
// 관리자인가?
function is_admin($mb_id)
{
global $config, $group, $board;
if (!$mb_id) return;
if ($config['cf_admin'] == $mb_id) return 'super';
if (isset($group['gr_admin']) && ($group['gr_admin'] == $mb_id)) return 'group';
if (isset($board['bo_admin']) && ($board['bo_admin'] == $mb_id)) return 'board';
return '';
}
[/code]
./lib/common.lib.php에 777라인에 내용 추가 - 내용 추가후
[code]
// 관리자인가?
function is_admin($mb_id) {
global $config, $group, $board,$_SESSION;
if (!$mb_id) return;
$arr = explode(',' , trim($config['cf_admin_add']));
if(in_array($mb_id, $arr)) return 'super';
if ($config['cf_admin'] == $mb_id) return 'super';
if (isset($group['gr_admin']) && ($group['gr_admin'] == $mb_id)) return 'group';
if (isset($board['bo_admin']) && ($board['bo_admin'] == $mb_id)) return 'board';
return '';
}
// 최고 관리자 추가 관련 , 체크박스 형태로 보여줌
function admin_add_checkbox($cf_admin, $name, $level, $checked="",$gubun=",") {
global $g5;
$sql = " SELECT mb_id FROM {$g5['member_table']} WHERE mb_id <> '{$cf_admin}' AND mb_level >= '{$level}' ORDER BY mb_no ASC ";
$result = sql_query($sql);
$str = '';
for ($i=0; $row=sql_fetch_array($result); $i++) :
$check_value = admin_arr_checkbox($checked,$row['mb_id'],$gubun);
if($i > 0) $str .= " , ";
$str .= "<label for=\"{$name}_chk_{$i}\">";
$str .= "<input type=\"checkbox\" name=\"{$name}_chk[]\" id=\"{$name}_chk_{$i}\" value=\"{$row['mb_id']}\" ";
if ($check_value) $str .= " checked=\"checked\"";
$str .= " onclick=\"admin_member_add('{$name}','{$name}_chk[]')\" /> {$row['mb_id']}";
$str .= "</label>";
endfor;
return $str;
}
// 최고관리자를 추가한 ID 체크박스 확인
function admin_arr_checkbox($checked,$mb_id,$gubun) {
$arr_checked = explode(",", $checked);
if (in_array($mb_id, $arr_checked)) {
$admin_chk = $mb_id;
}
return $admin_chk;
}
[/code]
사용방법은 회원관리에서 관리자 추가를 원하는 회원의 레벨을 10으로 추가시켜줍니다.
그리고 환경설정으로 가면
최고관리자 추가란에 레벨10인 회원을 뿌려와줍니다.
이후 체크를하고 확인을 누르면 최고관리자로 설정됩니다.
./adm/config_form.php 189라인 위에 최고관리자 추가 칼럼 추가 - 추가전
[code]
$g5['title'] = '환경설정';
include_once ('./admin.head.php');
[/code]
./adm/config_form.php 189라인 위에 최고관리자 추가 칼럼 추가 후
[code]
// 최고관리자 추가
if(!isset($config['cf_admin_add'])) {
sql_query(" ALTER TABLE `{$g5['config_table']}`
ADD `cf_admin_add` varchar(255) NOT NULL DEFAULT '' AFTER `cf_admin` ", true);
}
$g5['title'] = '환경설정';
include_once ('./admin.head.php');
[/code]
./adm/config_form.php 237라인을 찾아서 아래 내용 추가 => 추가전
[code]
<tr>
<th scope="row"><label for="cf_admin">최고관리자<strong class="sound_only">필수</strong></label></th>
<td colspan="3"><?php echo get_member_id_select('cf_admin', 10, $config['cf_admin'], 'required') ?></td>
</tr>
<tr>
<th scope="row"><label for="cf_admin_email">관리자 메일 주소<strong class="sound_only">필수</strong></label></th>
<td colspan="3">
<?php echo help('관리자가 보내고 받는 용도로 사용하는 메일 주소를 입력합니다. (회원가입, 인증메일, 테스트, 회원메일발송 등에서 사용)') ?>
<input type="text" name="cf_admin_email" value="<?php echo $config['cf_admin_email'] ?>" id="cf_admin_email" required class="required email frm_input" size="40">
</td>
</tr>
[/code]
./adm/config_form.php 237라인을 찾아서 아래 내용 추가 => 최고관리자 추가 관련 추가후
[code]
<tr>
<th scope="row"><label for="cf_admin">최고관리자<strong class="sound_only">필수</strong></label></th>
<td colspan="3"><?php echo get_member_id_select('cf_admin', 10, $config['cf_admin'], 'required') ?></td>
</tr>
<tr>
<th scope="row"><label for="cf_admin_add">최고관리자 추가</label></th>
<td colspan="3">
<?php echo help('회원레벨이 10 이고 최고관리자라면 체크박스에 체크됨. (해당 업체에서 관리자추가를 원할경우 사용)') ?>
<?=admin_add_checkbox($config['cf_admin'],'cf_admin_add', 10, $config['cf_admin_add'],','); ?>
<input type="hidden" name="cf_admin_add" id="cf_admin_add" value="<?php echo $config['cf_admin_add'] ?>" />
</td>
</tr>
<tr>
<th scope="row"><label for="cf_admin_email">관리자 메일 주소<strong class="sound_only">필수</strong></label></th>
<td colspan="3">
<?php echo help('관리자가 보내고 받는 용도로 사용하는 메일 주소를 입력합니다. (회원가입, 인증메일, 테스트, 회원메일발송 등에서 사용)') ?>
<input type="text" name="cf_admin_email" value="<?php echo $config['cf_admin_email'] ?>" id="cf_admin_email" required class="required email frm_input" size="40">
</td>
</tr>
[/code]
./adm/config_form.php 상단에 아래 스크립트 추가
[code]
<script>
function admin_member_add(obj,chkobj) {
var l = document.getElementsByName(chkobj);
var i;
var tag = "";
for(i = 0; i < l.length; i++ ) { // for문 시작
if(i > 0) tag += ",";
if(l[i].checked) { // if(l[i].checked) {
tag += l[i].value;
}
} // for문 종료
document.getElementById(obj).value = tag;
}
</script>
[/code]
./adm/config_form_update.php 27라인을 찾아서 아래 내용 추가 => 추가전
[code]
$sql = " update {$g5['config_table']}
set cf_title = '{$_POST['cf_title']}',
cf_admin = '{$_POST['cf_admin']}',
[/code]
./adm/config_form_update.php 27라인을 찾아서 아래 내용 추가 =>
cf_admin_add = '{$_POST['cf_admin_add']}', 최고관리자 추가 관련 추가후
[code]
$sql = " update {$g5['config_table']}
set cf_title = '{$_POST['cf_title']}',
cf_admin = '{$_POST['cf_admin']}',
cf_admin_add = '{$_POST['cf_admin_add']}',
[/code]
./lib/common.lib.php에 777라인에 function is_admin($mb_id) 내용 추가 - 내용 추가전
[code]
// 관리자인가?
function is_admin($mb_id)
{
global $config, $group, $board;
if (!$mb_id) return;
if ($config['cf_admin'] == $mb_id) return 'super';
if (isset($group['gr_admin']) && ($group['gr_admin'] == $mb_id)) return 'group';
if (isset($board['bo_admin']) && ($board['bo_admin'] == $mb_id)) return 'board';
return '';
}
[/code]
./lib/common.lib.php에 777라인에 내용 추가 - 내용 추가후
[code]
// 관리자인가?
function is_admin($mb_id) {
global $config, $group, $board,$_SESSION;
if (!$mb_id) return;
$arr = explode(',' , trim($config['cf_admin_add']));
if(in_array($mb_id, $arr)) return 'super';
if ($config['cf_admin'] == $mb_id) return 'super';
if (isset($group['gr_admin']) && ($group['gr_admin'] == $mb_id)) return 'group';
if (isset($board['bo_admin']) && ($board['bo_admin'] == $mb_id)) return 'board';
return '';
}
// 최고 관리자 추가 관련 , 체크박스 형태로 보여줌
function admin_add_checkbox($cf_admin, $name, $level, $checked="",$gubun=",") {
global $g5;
$sql = " SELECT mb_id FROM {$g5['member_table']} WHERE mb_id <> '{$cf_admin}' AND mb_level >= '{$level}' ORDER BY mb_no ASC ";
$result = sql_query($sql);
$str = '';
for ($i=0; $row=sql_fetch_array($result); $i++) :
$check_value = admin_arr_checkbox($checked,$row['mb_id'],$gubun);
if($i > 0) $str .= " , ";
$str .= "<label for=\"{$name}_chk_{$i}\">";
$str .= "<input type=\"checkbox\" name=\"{$name}_chk[]\" id=\"{$name}_chk_{$i}\" value=\"{$row['mb_id']}\" ";
if ($check_value) $str .= " checked=\"checked\"";
$str .= " onclick=\"admin_member_add('{$name}','{$name}_chk[]')\" /> {$row['mb_id']}";
$str .= "</label>";
endfor;
return $str;
}
// 최고관리자를 추가한 ID 체크박스 확인
function admin_arr_checkbox($checked,$mb_id,$gubun) {
$arr_checked = explode(",", $checked);
if (in_array($mb_id, $arr_checked)) {
$admin_chk = $mb_id;
}
return $admin_chk;
}
[/code]
댓글 12개
게시글 목록
| 번호 | 제목 |
|---|---|
| 4378 | |
| 4377 | |
| 4352 | |
| 4341 | |
| 4336 | |
| 4334 | |
| 4325 | |
| 4309 | |
| 4302 | |
| 4301 | |
| 4296 | |
| 4290 | |
| 4280 | |
| 4278 | |
| 4256 | |
| 4236 | |
| 4222 | |
| 4211 | |
| 4196 | |
| 4195 | |
| 4194 | |
| 4166 | |
| 4160 | |
| 4156 | |
| 4146 | |
| 4139 | |
| 4131 | |
| 4129 | |
| 4127 | |
| 4124 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기