XE Tip - XE와 관련된 TIP모음
따라서 여기에 올려진 글의 내용들은 제가 창작을 한 것이 아님을 알려드립니다.
사용하다보면 이런 기능을 원하는 경우가 있을듯하다.
1) 탈퇴해도 가입했던 회원 데이터가 남게 할수는 없을까요? (불량회원 등과 연락해야할 일이 있을 경우)
2) 탈퇴한 회원이 재가입 못하게 할 수는 없을까?
-> 방법을 생각하다가, 결국 XE의 '사용중지' 기능을 변형해서 원하는 기능을 구현가능한 방법을 생각해냈다.
XE 자체 소스를 수정하여, 회원탈퇴시 실제 탈퇴가 되는게 아니라, 사용중지 상태로 자동변경되도록 해둔거죠
사용중지 가 되면, 해당회원은 로그인도 불가능하고, 메일을 이용한 ID찾기/PW찾기도 전부 불가능해집니다
반대로, 기존 회원정보는 그대로 전부 보존되기에,
관리자는 XE관리자 기능의 회원정보 를 통해 해당 회원정보를 기존 그대로 확인가능합니다
ID도 유지되기에 동일ID로 가입도 불가능하게 되고, 동일닉네임도 사용할 수 없게 되고
특히 회원가입확장모듈의 주민번호 저장기능까지 사용하시면, 동일 주민번호로는 가입조차 못하게 막을 수 있습니다
최상이죠? ^^
-> 아래의 사항들은, XE 소스를 변경해야할 부분들입니다
다만 수정된 부분들은 XE Core 부분이기에, 수정전에 백업을 해두시고,
만약 Core 업데이트로 웝상복귀될 경우, 다시 수정하시면 됩니다.
modules/member/lang/ko.lang.php 파일에서
$lang->msg_user_denied
부분을 찾아서 아래처럼 수정
$lang->msg_user_denied = '탈퇴하신 아이디 입니다 (참고:동일한 아이디로의 가입은 불가합니다)';
modules/member/member.controller.php 파일 에서
function deleteMember ($member_srl) { 를 찾아서
// member 테이블에서 삭제
$output = executeQuery('member.deleteMember', $args);
부분을 아래처럼 수정
// member 테이블에서 삭제
$args->denied = "Y";
$output = executeQuery('member.updateMember', $args);