웹마스터 팁
레벨에 따라 자동으로 그룹 변경하기
2007.12.29 11:43
현재 제로보드XE는 제로보드4와는 달리 게시판에 대한 접근권한이 레벨별이 아닌 그룹별로 지정이 되어 있습니다. 레벨에 따라 권한을 지정하고 싶으신 분들을 위한 방법중에 하나입니다. |
안녕하세요..
지연아빠입니다.
까오천사님의 "회원에게 만기일주기"와 똑띠님의 로그인스킨중 포인트와 레벨을 표시하는 부분을 참고하였습니다.
이것이 정상적으로 작동하기 위해서는 관리-회원-그룹관리에 준회원이 기본으로 설정되어 있어야 합니다.
modules/member/member.controller.php 파일을 엽니다.
1225라인 아래에 다음과 같은 코드를 추가합니다.
//레벨에 따라 그룹 설정 추가 시작 $oPointModel = &getModel('point'); $point = $oPointModel->getPoint($member_info->member_srl); $oModuleModel = &getModel('module'); $config = $oModuleModel->getModuleConfig('point'); $level = $oPointModel->getLevel($point, $config->level_step); if(intval($level)>0) { $rok_args->member_srl = $member_info->member_srl; $rok_args->group_srl = 3; // 1.관리회원,2.준회원,3.정회원 $output = executeQuery('member.addMemberToGroup',$rok_args); if(!$output->toBool()) return $output; } //레벨에 따라 그룹 설정 추가 끝
코드를 보시면 이해가 갈것으로 생각됩니다.
1233라인에 보시면 level이 0보다 크면 즉 레벨이 1이상이면 정회원 그룹에 추가하도록 설정된 것입니다.
1235라인에 보시면 그룹번호를 지정하는데 1,2,3번은 정해져 있고 추가로 설정한 그룹이 있다면 그룹번호를 입력해주시면 됩니다.
1236라인에 보시면 $output = executeQuery('member.addMemberToGroup',$rok_args); 이라고 있는데 이것은 그룹에 추가하는것이고
원하신다면 member.deleteMemberGroupMember과 같이 써서 반대로 그룹에서 삭제할수 있습니다.
코드가 어렵지 않으니 if문만 잘 사용하신다면 얼마든지 응용이 가능하리라 생각됩니다.
댓글 11
-
hyunwe
2007.12.29 18:14
-
hyunwe
2007.12.29 18:29
소스 보다가 궁금한게 생겼는데
운영자나 관리 그룹은 제외되는거 맞죠?..
저 기능이라면 맨위에 준회원 그룹인지 확인해서
그 그룹만 돌려주는게 좋을것 같은데
저 소스에 그런 기능이 있나요?;; -
지연아빠
2007.12.30 13:05
저 코드에 운영자나 관리그룹은 제외하는 기능은 없습니다.
운영자나 관리그룹은 당연히 정회원 그룹에 포함되어야 하지 않을까요?
저 코드를 그냥 쓰신다면 회원이 로그인을 하게 될때 레벨이 1이상이면 무조건 정회원 그룹에 포함시키도록 하는것입니다.
원하시는대로 코드를 수정하여 쓰시면 될것 같습니다. -
우갱™
2007.12.30 04:41
와우~ 추천합니다! 이 기능이 제로보드xe에 기본기능으로 들어갔으면 좋겠군요.
전부터 이런 기능이 있으면 좋겠다고 생각하던 중이었는데! -
지연아빠
2007.12.30 14:20
http://trac.zeroboard.com/trac/ticket/318
이미 티켓에 등록된 것인데 언제 적용될지는 모르겠습니다.
커미터분들이 문제점에 대한 해결이 끝나면 건의사항에 대한 부분도 신경 써주시겠죠...^^ -
yeosuk
2008.01.05 11:51
님의 도움으로 잘 사용하고 있습니다...우선 감사 드리고요....
그룹이 변경은 되는데...이전에 소속되어 있던 그룹에도 속해 있네요....
이전에 속해 있던 그룹에서는 자동으로 빠져나오게는 못 하나요? -
지연아빠
2008.01.05 15:52
if(intval($level)>0)
{ $rok_args->member_srl = $member_info->member_srl;
$rok_args->group_srl = 3; // 1.관리회원,2.준회원,3.정회원
$output = executeQuery('member.addMemberToGroup',$rok_args); //정회원 그룹에 추가
$rok_args->group_srl = 2; // 1.관리회원,2.준회원,3.정회원
$output = executeQuery('member.deleteMemberGroupMember',$rok_args); //준회원 그룹에서 삭제if(!$output->toBool()) return $output;
}
이렇게 하시면 됩니다. 레벨이 1이상이면 정회원 그룹에 추가하고 준회원 그룹에서 삭제합니다 -
pr_daisy
2008.01.08 09:34
저만 그런지는 모르겠지만;(제가잘못한듯; 처음해보는거라;)
저대로 추가해서 파일을 올렸더니 홈페이지 자체가 안뜨네요;;ㄷㄷ -
지연아빠
2008.01.08 15:06
-
워킹맘
2008.01.14 15:59
좋은 팁 감사합니다...
덕분에 오랜 고민을 해결하였습니다.. ^^ -
지연아빠
2009.01.31 18:21
현재는 자동으로 레벨에 따라 그룹이 변경되는 기능이 구현되어 있습니다.
제목 | 글쓴이 | 날짜 |
---|---|---|
XE 템플릿 문법 : 조건부 class 작성하기 | AJKJ | 2015.05.23 |
레이어형 로그인 사용시에 SSL 적용방법 (선택적 사용시) [1] | 불금 | 2015.05.20 |
확장 컴포넌트 밖으로 뺀 후 완전한 버튼화 [1] | 키스미베이베 | 2015.05.20 |
플렛모바일 네이버로 로그인하기 버튼 | LI-NA | 2015.05.17 |
저같은 초보분들이 궁금해 하실것같아서요 [3] | 착한동구 | 2015.05.08 |
모바일 이미지축소모드 | kdp | 2015.05.07 |
모바일 이미지 제거모드 | kdp | 2015.05.07 |
오늘 작성된 게시글수 [2] | kdp | 2015.05.07 |
게시판의 MP3파일 갯수 표시하기 | kdp | 2015.05.07 |
인기글 [1] | kdp | 2015.05.07 |
[서버운영] 웹 재요청 방지 및 트래픽 감소를 위한 방법 | 마루디자인 | 2015.05.06 |
member 모듈 업데이트가 계속 나오는 경우 | 고니고니 | 2015.05.06 |
속도관련 나노팁. [5] | 1052 | 2015.05.04 |
CKEditor 이용시 몇가지 유용한 설정 [11] | prologos | 2015.05.02 |
xe설치시 퍼미션 문제나 DB엑세스 문제 해결하기 | 길가던분 | 2015.05.01 |
리스트에 스크랩 버튼을 뺴는 코드입니다. [3] | 착한악마 | 2015.04.30 |
PC에서 모바일화면 보는방법 [2] | 빅스타 | 2015.04.29 |
폰갭과 웹앱 그리고 XE... [6] | onTrust | 2015.04.23 |
간편 css 압축 | Ansi™ | 2015.04.21 |
XE 1.8 대응 apache 2.2 / php 5.5 / MariaDB 10 설치 [11] | 간장게장같은남자 | 2015.04.19 |
우오.... 꼭 필요한 팁이었습니다.
이걸 토대로 레벨별로 연구해봐야겠네요...^ ^