feat: 메일 미인증 만료 회원을 기존 탈퇴 절차로 정리
메일 인증 기한이 지난 미인증 회원을 일일 정리에서 탈퇴 처리하고 본인확인 정보와 소셜 연결을 해제한다. 나머지 회원자료는 기존 탈퇴 후 삭제 정책에 따라 정리하며 아이디는 보존한다. 자진 탈퇴와 자동 정리에 공통 함수를 사용하고 인증 완료·재발송과의 동시 변경을 조건부 갱신으로 보호한다. 관리자 상태 표시와 설정 안내, 운영 문서를 함께 반영한다. 검증: 변경 PHP 6개 문법 검사, 임시 DB에서 만료 경계·재발송·동시 변경·자진 탈퇴·유예 후 정리 검사 통과.
This commit is contained in:
1 parent
d0f136cca0
commit
672d05f968
7 files changed
+124
-20
No files matched your search
@@ -49,6 +49,23 @@ if($config['cf_memo_del'] > 0) {
|
||||
}
|
||||
}
|
||||
|
||||
// 메일 인증 기한이 지난 회원도 본인확인 정보를 해제하고 탈퇴 처리한다.
|
||||
// 재발송된 토큰의 발급 시각을 사용하며 실제 변경 직전에 회원 상태를 다시 확인한다.
|
||||
$email_certify_minutes = isset($config['cf_email_certify_minutes']) ? (int) $config['cf_email_certify_minutes'] : 60;
|
||||
if ($config['cf_use_email_certify'] && $email_certify_minutes > 0) {
|
||||
$sql = " select mb_id, mb_email_certify, mb_email_certify2, mb_datetime, mb_leave_date, mb_memo
|
||||
from {$g5['member_table']}
|
||||
where mb_leave_date = ''
|
||||
and mb_email_certify not regexp '[1-9]'
|
||||
and mb_memo not regexp '^[0-9]{8}.*삭제함' ";
|
||||
$result = sql_query($sql);
|
||||
while ($row = sql_fetch_array($result)) {
|
||||
if (is_expired_email_certify_member($row)) {
|
||||
g5_leave_member($row['mb_id'], true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 탈퇴회원 자동 삭제
|
||||
if($config['cf_leave_day'] > 0) {
|
||||
$sql = " select mb_id from {$g5['member_table']}
|
||||
@@ -79,4 +96,4 @@ if(isset($config['cf_optimize_date'])) {
|
||||
run_event('cf_optimize_date_update', $config);
|
||||
}
|
||||
|
||||
run_event('db_table_optimize_end', $config);
|
||||
run_event('db_table_optimize_end', $config);
|
||||
Reference in new issue
Block a user