안녕하세요! 이전에도 질문을 올렸었는데 해답을 찾지 못하고 있어서요.

그래서 질문을 다시 올렸습니다.. ㅠ

아직 PHP 를 완벽하게 다루지 못하다보니 많이 해메고 있네요.

 

질문은 아래와 같았습니다.

 

기존에 [email protected] 만 가입이 가능했었습니다.

그런데 기능의 추가가 필요하여서

[email protected] 사용자는 기존과 동일하게 기본 그룹으로 회원가입이 진행되고

id@*.ac.kr 사용자는 특정 그룹으로 분류되어야 합니다. * 는 와일드카드입니다.

 

member.controller.php 소스에서 insertMember 메소드를 손보면 된다고 하여서

해당 함수의 내부를 좀 수정하였는데 

 

1.PNG

 

표시되어 있는 소스 부분을 수정하여서

if(strcmp(substr($args->email_host, -9), "aaa.ac.kr"){
  $output = $this->addMemberToGroup($args->member_srl, $default_group->group_srl);
}else if(strcmp(substr($args->email_host, -5), "ac.kr"){
  $output = $this->addMemberToGroup($args->member_srl, 4678);
}
if(!$output->toBool()){
    $oDB->rollback();
    return $output;
}

이렇게 하면 될 것 같은 느낌인데.. 안되어 제가 구조 이해를 덜 하고 있나봅니다..

이걸 어떻게 수정해야 이메일 도메인에 따라 그룹을 달리 배치 할 수 있을까요..

 

그리고 이걸 수정하면서 느낀것인데 이메일 도메인을 제한할때

aaa.ac.kr 과 *.ac.kr 을 적용한다고 해서 와일드 카드가 적용되는것은 아니던데

위 소스를 수정한들 와일드카드 문자를 적용하지 못하면 아예 입력 자체가 불가능하겟더라구요..

 

아예 회원가입 페이지를 별도로 제작하는건 무리겠지요?

  • Lv8
    ac.kr 을 제외한 나머지는 가입이 안되나요?
  • Lv8
    네 aaa.ac.kr 또는 *.ac.kr 을 제외하고는 가입 할 수 없어요
  • Lv19

    표시된 부분은 기본 그룹이 설정되어 있지 않은 경우에만 적용되는 것 같은데요.

  • Lv19
    아,, 그런가요