웹마스터 팁

오랫동안 의뢰를주셨던 클라이언트분께서 회원가입확장모듈을 설치하였는데


가입환영쪽지와 메일을 다 켜야 두개다 날아가고 쪽지를끄면 메일이 안날아간다고하시더라구요..


@난다날아 님께서 개발하신건데 그럴리가.. 하며 소스를열어봤더니


function procSendWelcomeMessage($member_srl) {
$oJoinExtendModel = &getModel('join_extend');
$config = $oJoinExtendModel->getConfig();
if ($config->use_welcome != "Y")    return;

// 관리자 정보
$oMemberModel = &getModel('member');
$admin_info = $oMemberModel->getMemberInfoByUserID($config->admin_id);
$admin_member_srl = $admin_info->member_srl;

// 가입자 정보
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);

// 쪽지 발송
if (strlen($config->welcome_title)) $title = $config->welcome_title;
else                                $title = cut_str($this->unhtmlentities(strip_tags($config->welcome)), 40);
$content = $config->welcome;
$oCommunicationController = &getController('communication');
$oCommunicationController->sendMessage($admin_member_srl, $member_srl, $title, $content, false);

// 메일 발송
if ($config->use_welcome_email != "Y")  return;

$title = $config->welcome_email_title;
$content = $config->welcome_email;
$oMail = new Mail();
$oMail->setTitle($title);
$oMail->setContent($content);
$oMail->setSender($admin_info->user_name, $admin_info->email_address);
$oMail->setReceiptor($member_info->user_name, $member_info->email_address);
$oMail->send();

//            // 쪽지가 가든 말든 일단 보내고 본다!
//            $receiver_args->message_srl = getNextSequence();
//            $receiver_args->related_srl = 0;
//            $receiver_args->list_order = $receiver_args->message_srl*-1;
//            $receiver_args->sender_srl = $member_srl;
//            $receiver_args->receiver_srl = $member_srl;
//            $receiver_args->message_type = 'R';
//            $receiver_args->title = cut_str($this->unhtmlentities(strip_tags($config->welcome)), 40);
//            $receiver_args->content = $config->welcome;
//            $receiver_args->readed = 'N';
//            $receiver_args->regdate = date("YmdHis");
//            
//            executeQuery('communication.sendMessage', $receiver_args);
//            
//            // 받는 회원의 쪽지 발송 플래그 생성 (파일로 생성)
//            $flag_path = './files/member_extra_info/new_message_flags/'.getNumberingPath($member_srl);
//            FileHandler::makeDir($flag_path);
//            $flag_file = sprintf('%s%s', $flag_path, $member_srl);
//            $flag_count = FileHandler::readFile($flag_file);
//            FileHandler::writeFile($flag_file, ++$flag_count);
}


메일보내는 부분과 쪽지보내는부분이 하나의 Function에서 동작하는데


if ($config->use_welcome != "Y")    return;


쪽지를꺼버리면 밑에 메일루틴은 아에 무시하고 그냥 함수가 종료되어버리더군요..


그래서 쪽지를 건너뛰더라도 메일함수를 체킹할수있도록 수정하였습니다.


 /**
         * @brief 가입 환영 쪽지 발송
         **/
        function procSendWelcomeMessage($member_srl) {

            $oJoinExtendModel = &getModel('join_extend');
            $config = $oJoinExtendModel->getConfig();
			// 관리자 정보
			$oMemberModel = &getModel('member');
			$admin_info = $oMemberModel->getMemberInfoByUserID($config->admin_id);
			$admin_member_srl = $admin_info->member_srl;

			// 가입자 정보
			$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);

			//쪽지를 끄면 메일이안가는부분 수정 by Xiso
            if ($config->use_welcome == "Y"){
				// 쪽지 발송
				if (strlen($config->welcome_title)) $title = $config->welcome_title;
				else                                $title = cut_str($this->unhtmlentities(strip_tags($config->welcome)), 40);
				$content = $config->welcome;
				$oCommunicationController = &getController('communication');
				$oCommunicationController->sendMessage($admin_member_srl, $member_srl, $title, $content, false);
            }

            // 메일 발송
            if ($config->use_welcome_email == "Y"){
				$title = $config->welcome_email_title;
				$content = $config->welcome_email;
				$oMail = new Mail();
				$oMail->setTitle($title);
				$oMail->setContent($content);
				$oMail->setSender($admin_info->user_name, $admin_info->email_address);
				$oMail->setReceiptor($member_info->user_name, $member_info->email_address);
				$oMail->send();
			}
			return;
        }


뭐.. 큰작업도아니구 해당 function을 통째로 바꾸어주시면되겠습니다.


중복일지도 모르겠네요;

제목 글쓴이 날짜
1.7.3 최신버전 특정사이트 iframe(아이프레임) 일반회원 html적용가능하게 하기 [2] imgXE™ 2013.05.06
스팸 회원 삭제시 동시에 관련 글 / 댓글 자동 삭제 + 스팸IP 등록기능 구현방법입니다 [20] sejin7940 2013.05.22
회원가입 인증메일 제목 msg_confirm_account_title 오류 해결방법 [2] 뒤뒤 2013.06.27
회원가입폼에 필수항목 * 부분 처리 [3] 똑디 2013.07.18
회원가입시 validation error 가 뜨거나 회원가입이 안될때 [2] 똑디 2013.07.27
Recruit 모듈 - 일반회원 채용글 등록할 수 있도록 수정 [10] 홍채화 2013.07.27
익명게시판에서 회원 구분 가능하게 + 각 게시물에서 다른 아이디가 나타나게 하는 방법 [3] jn4kim 2013.08.06
탈퇴회원 레벨 아이콘 출력 안하기 [7] Gunmania 2013.08.17
계정 정지된 회원에게 정지 사유 표시하기. [24] file 컴퓨터매니아 2013.08.24
회원가입확장 모듈 - 가입절차중 오류 발생시 처음으로 돌아가는 현상 [1] 김개발 2013.08.30
회원가입 확장모듈, 환영쪽지를 끄면 메일이 안날아가는 문제수정. Xiso 2013.10.31
회원가입 확장모듈 사용중 캡챠 실패시 재동의 안하기 말똥이 2013.10.31
확장변수, 회원가입 등의 한국 우편번호 검색 서버 주소 변경... [2] Double'U' 2013.12.26
Captcha 애드온 준회원만 적용하기 [2] 라싸 2014.01.22
일반회원도 embed 태그 사용하는 방법! (다음/티스토리/구글드라이브 등) 가장 최근코어버전 해결완료!! [9] 주택바가지 2014.01.27
회원도 모듈별 적용된 포인트 보게하는 방법. [11] :DunhillBoy 2014.02.01
통합검색할때 회원별 권한에 따라 내용 보여주기 garnecia 2014.02.07
xp어플 개발시 사진 회원 바로잡아 주는 함수 웹빌드 2014.03.09
코어 업데이트 후 회원가입 이름이 숫자(번호)로 뜨는 현상 수정 [1] 자대련 2014.04.01
관리자를 제외하고는 타회원의 회원정보 보기를 막는 방법 [1] sejin7940 2014.04.04