그누보드 [G5] 최고관리자 관련 Tip ( 권한설정 , 회원레벨/비밀번호/이메일 변경 )
페이지 정보
본문
관리자 관련된 정보 변경 방법입니다
1. 회원 레벨 활용 ::: 사이트 특성상 관리자가 여러명 필요할때
추가 파일 : extend 디렉토리에 파일을 하나 만들어 (예. hp5_extend_user.php ) 아래와 같은 코드를 추가
<?php
if (!defined('_GNUBOARD_')) exit;
// 최고관리자
//if ($member['mb_id'] == '회원아이디1') $is_admin = 'super';
//if ($member['mb_id'] == '회원아이디2') $is_admin = 'super';
//if ($member['mb_level'] == '10') $is_admin = 'super'; //
// 그룹관리자 Type1
if ($gr_id == '그룹아이디') {
//if ($member['mb_id'] == '회원아이디1') $is_admin = 'group';
//if ($member['mb_id'] == '회원아이디2') $is_admin = 'group';
}
// 그룹관리자 Type2
//if ($gr_id == 'community' && $member['mb_level'] = '9') $is_admin = 'group';
//if ($gr_id == '그룹아이디' && $member['mb_id'] == '회원아이디1') $is_admin = 'group';
//if ($gr_id == '그룹아이디' && $member['mb_id'] == '회원아이디2') $is_admin = 'group';
// 그룹관리자 Type3 : 관리자 > 그룹관리자에 콤마로 구분하여 여러명을 등록합니다(aaa,bbc,ccc)
/*
// PHP 8 에서 오류 발생 ( 2021-07-28 )
// Warning: Undefined array key "gr_admin" in /home/happyjung/www/extend/hp5_extend_user.php on line 19
if($is_member && $group['gr_admin']) {
$tmpArr= explode(',', $group['gr_admin']);
if( in_array( $member['mb_id'], $tmpArr)){ $group['gr_admin']=$member['mb_id']; $is_admin = 'group'; }
}
*/
// 게시판관리자
if ($bo_table == '게시판아이디') {
//if ($member['mb_id'] == '회원아이디1') $is_admin = 'board';
//if ($member['mb_id'] == '회원아이디2') $is_admin = 'board';
if ($is_admin == 'board') $board['bo_admin'] = $member['mb_id'];
}
?>
2. 특정회원의 정보 변경하기
그누보드5 기본폴더에 임의의 파일을 만든후 아래 내용을 넣고 업로드합니다.
웹브라우저로 업로드한 파일을 실행하면 정보가 변경됩니다.
<?php
// 그누보드5 common.php 경로 지정
include_once("./common.php");
// 변경할 회원아이디
$new_id = "";
// 변경할 이메일 입력
$new_email = "";
// 변경할 레벨 입력
$new_level = "";
// 변경할 비밀번호 입력
$new_passowrd = "";
// 작업완료후 아래 주석을 꼭 해제하세요
//exit;
echo ("<meta http-equiv=\"content-type\" content=\"text/html; charset=". G5_DB_CHARSET ."\">");
if ( ! ($new_id && ($new_passowrd || $new_level || $new_email)) ) {
echo " 정보를 입력해주세요 ";
}
if ($new_id && $new_passowrd) {
if (G5_GNUBOARD_VER > '5.4') {
if (G5_STRING_ENCRYPT_FUNCTION == "create_hash") { // create_hash
$new_passowrd = get_encrypt_string($new_passowrd);
}
else { // sql_password
$new_passowrd = sql_password($new_passowrd);
}
}
else {
$new_passowrd = sql_password($new_passowrd);
}
sql_query( " update `{$g5['member_table']}` set mb_password = '{$new_passowrd}' where mb_id='{$new_id}' " );
echo "<br>회원 비밀번호 변경되었습니다";
}
// 회원 권한 변경
if ($new_id && $new_level) {
sql_query( " update `{$g5['member_table']}` set mb_level = '{$new_level}' where mb_id='{$new_id}' " );
echo "<br>회원 권한 변경되었습니다";
}
// 회원 이메일 변경
if ($new_id && $new_email) {
sql_query( " update `{$g5['member_table']}` set mb_email = '{$new_email}' where mb_id='{$new_id}' " );
echo "<br>회원 이메일 변경되었습니다";
}
참고자료
https://sir.kr/qa/32177
https://sir.kr/g4_tiptech/12780
1. 회원 레벨 활용 ::: 사이트 특성상 관리자가 여러명 필요할때
추가 파일 : extend 디렉토리에 파일을 하나 만들어 (예. hp5_extend_user.php ) 아래와 같은 코드를 추가
<?php
if (!defined('_GNUBOARD_')) exit;
// 최고관리자
//if ($member['mb_id'] == '회원아이디1') $is_admin = 'super';
//if ($member['mb_id'] == '회원아이디2') $is_admin = 'super';
//if ($member['mb_level'] == '10') $is_admin = 'super'; //
// 그룹관리자 Type1
if ($gr_id == '그룹아이디') {
//if ($member['mb_id'] == '회원아이디1') $is_admin = 'group';
//if ($member['mb_id'] == '회원아이디2') $is_admin = 'group';
}
// 그룹관리자 Type2
//if ($gr_id == 'community' && $member['mb_level'] = '9') $is_admin = 'group';
//if ($gr_id == '그룹아이디' && $member['mb_id'] == '회원아이디1') $is_admin = 'group';
//if ($gr_id == '그룹아이디' && $member['mb_id'] == '회원아이디2') $is_admin = 'group';
// 그룹관리자 Type3 : 관리자 > 그룹관리자에 콤마로 구분하여 여러명을 등록합니다(aaa,bbc,ccc)
/*
// PHP 8 에서 오류 발생 ( 2021-07-28 )
// Warning: Undefined array key "gr_admin" in /home/happyjung/www/extend/hp5_extend_user.php on line 19
if($is_member && $group['gr_admin']) {
$tmpArr= explode(',', $group['gr_admin']);
if( in_array( $member['mb_id'], $tmpArr)){ $group['gr_admin']=$member['mb_id']; $is_admin = 'group'; }
}
*/
// 게시판관리자
if ($bo_table == '게시판아이디') {
//if ($member['mb_id'] == '회원아이디1') $is_admin = 'board';
//if ($member['mb_id'] == '회원아이디2') $is_admin = 'board';
if ($is_admin == 'board') $board['bo_admin'] = $member['mb_id'];
}
?>
2. 특정회원의 정보 변경하기
그누보드5 기본폴더에 임의의 파일을 만든후 아래 내용을 넣고 업로드합니다.
웹브라우저로 업로드한 파일을 실행하면 정보가 변경됩니다.
<?php
// 그누보드5 common.php 경로 지정
include_once("./common.php");
// 변경할 회원아이디
$new_id = "";
// 변경할 이메일 입력
$new_email = "";
// 변경할 레벨 입력
$new_level = "";
// 변경할 비밀번호 입력
$new_passowrd = "";
// 작업완료후 아래 주석을 꼭 해제하세요
//exit;
echo ("<meta http-equiv=\"content-type\" content=\"text/html; charset=". G5_DB_CHARSET ."\">");
if ( ! ($new_id && ($new_passowrd || $new_level || $new_email)) ) {
echo " 정보를 입력해주세요 ";
}
if ($new_id && $new_passowrd) {
if (G5_GNUBOARD_VER > '5.4') {
if (G5_STRING_ENCRYPT_FUNCTION == "create_hash") { // create_hash
$new_passowrd = get_encrypt_string($new_passowrd);
}
else { // sql_password
$new_passowrd = sql_password($new_passowrd);
}
}
else {
$new_passowrd = sql_password($new_passowrd);
}
sql_query( " update `{$g5['member_table']}` set mb_password = '{$new_passowrd}' where mb_id='{$new_id}' " );
echo "<br>회원 비밀번호 변경되었습니다";
}
// 회원 권한 변경
if ($new_id && $new_level) {
sql_query( " update `{$g5['member_table']}` set mb_level = '{$new_level}' where mb_id='{$new_id}' " );
echo "<br>회원 권한 변경되었습니다";
}
// 회원 이메일 변경
if ($new_id && $new_email) {
sql_query( " update `{$g5['member_table']}` set mb_email = '{$new_email}' where mb_id='{$new_id}' " );
echo "<br>회원 이메일 변경되었습니다";
}
참고자료
https://sir.kr/qa/32177
https://sir.kr/g4_tiptech/12780
댓글목록
등록된 댓글이 없습니다.