웹마스터 팁

  
    현재 제로보드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문만 잘 사용하신다면 얼마든지 응용이 가능하리라 생각됩니다.