웹마스터 팁
레벨에 따라 자동으로 그룹 변경하기
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
현재는 자동으로 레벨에 따라 그룹이 변경되는 기능이 구현되어 있습니다.
제목 | 글쓴이 | 날짜 |
---|---|---|
글을 읽을때마다 조회수 증가 하게 하는 팁 [19] | 비밀얌 | 2007.11.06 |
회원에게 만기일 주기(1원짜리 팁) [17] | 까오천사 | 2007.11.12 |
알바트로스 적용후 검색하는 곳에 댓글과 태그 검색 업션 넣기 [1] | 비밀얌 | 2007.11.13 |
간편해진 페이지 수정법 | coll | 2007.11.16 |
MSN로그인 상태를 홈피좌측 메뉴에 삽입하는 방법 [9] | 팔공산 | 2007.11.27 |
익명게시판 - 문제가 아직 많습니다. (다시 수정) [11] | 올챙이 | 2007.12.06 |
로그인 안되서 files 폴더 지우셨던 분들!! [3] | 율랑 | 2007.12.11 |
권한없는 모듈을 만났을때 로그인 페이지 띄우기.. [10] | 똑디 | 2007.12.11 |
외부페이지에서 위젯사용하지 않고 로그인 정보 다루기. [5] [1] | 길치객 | 2007.12.12 |
최근 댓글이 가장 위로 정렬 [2] | 쏘프티 | 2007.12.20 |
외부프로그램(페이지)에서 zbxe 로그인 정보 연동하기 [33] | 도데군 | 2007.12.23 |
제로보드에서 로그인후 테크노트에서 로그인정보 사용하기 [4] | JinHoHan | 2007.12.26 |
레벨에 따라 자동으로 그룹 변경하기 [11] | 지연아빠 | 2007.12.29 |
xe에 라이프팟 연동하기 [6] | 가클 | 2007.12.30 |
내 홈페이지에 구글 검색용 애드센스 달기 | RulruRalra | 2008.01.01 |
외부로그인-특정 페이지에 로그인창만 나타나게 하고 로그인하면 메인페이지로 이동하기 [11] | 레드맨 | 2008.01.02 |
관리자 페이지 않나오게 하기 [1] | Diver | 2008.01.04 |
여러 서버에서 하나의 회원목록 관리&사용 [24] | 화니군 | 2008.01.04 |
숫자 아이디 사용법 [6] | Slick | 2008.01.10 |
홈페이지에 예쁜 날씨 배너를 달아보자!!!! [3] | blue7376.myid.net | 2008.01.28 |
우오.... 꼭 필요한 팁이었습니다.
이걸 토대로 레벨별로 연구해봐야겠네요...^ ^