웹마스터 팁
레벨에 따라 자동으로 그룹 변경하기
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
현재는 자동으로 레벨에 따라 그룹이 변경되는 기능이 구현되어 있습니다.
제목 | 글쓴이 | 날짜 |
---|---|---|
플래시 컨트럴 활성화하라는 메시지 없애기 [4] | 달구벌 | 2008.04.08 |
외부페이지에서 매개변수 사용하기 [2] | JnCsoft | 2008.04.07 |
사각박스 코너를 이미지없이 둥글게 만드는법 [5] | 느까끼 | 2008.04.07 |
최근 이미지 목록 + 라이트박스 [6] | 베니 | 2008.04.04 |
플래시로 페이지에 랜덤 이미지 돌리기 [3] | ☜ TeRy ☞ | 2008.04.04 |
환율 계산 팝업창 띄우기 [9] | RainSky | 2008.04.03 |
게시판을 외부레이아웃에 넣기 [4] | 박봉수610 | 2008.04.03 |
갓난아기 상태의 제로보드 유저를 위한 팁. [2] | font | 2008.04.01 |
카테고리부분의 너비조절하기 [3] | gajagu | 2008.04.01 |
탭 형태 문서출력에서 목록수 지정하기. [3] | Zerode | 2008.03.31 |
양력/음력DB 홈페이지에 사용하기 [2] | 감뿌리 | 2008.03.29 |
로그인풀림방지 - 자동 www 붙이는 다른 방법 [23] | RainSky | 2008.03.28 |
사이트 주소로 접속했을때 XE폴더로 이동하기 #2 [15] | 베니 | 2008.03.28 |
''권한이 없습니다'' 라는 문구를 조금 더 부드럽게 바꾸기 [3] | RainSky | 2008.03.21 |
좁은폭의 레이아웃을 쓰시는 분들을 위하여 (게시판 제목부분 깔끔하게 만들기) [5] | gajagu | 2008.03.20 |
상담/신청 (쓰기만 가능한 게시판) 만들기 [10] | mmx900 | 2008.03.20 |
업데이트 후 댓글 입력 창이 안 나올때...(댓글 에디터) | 수지보더 | 2008.03.20 |
로그인 풀림현상 원인 파악 [3] | 남국 | 2008.03.19 |
플래시 Embed패치(이올라스) 충돌에 의한 파일첨부버튼 해결법 [2] | Guns | 2008.03.18 |
큰 파일의 썸네일이 안생길때 해결방법-추가 [7] | HIKARU | 2008.03.18 |
우오.... 꼭 필요한 팁이었습니다.
이걸 토대로 레벨별로 연구해봐야겠네요...^ ^