웹마스터 팁
page_full_width">
회원가입 확장모듈, 환영쪽지를 끄면 메일이 안날아가는 문제수정.
2013.10.31 15:53
오랫동안 의뢰를주셨던 클라이언트분께서 회원가입확장모듈을 설치하였는데
가입환영쪽지와 메일을 다 켜야 두개다 날아가고 쪽지를끄면 메일이 안날아간다고하시더라구요..
@난다날아 님께서 개발하신건데 그럴리가.. 하며 소스를열어봤더니
234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | 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;
쪽지를꺼버리면 밑에 메일루틴은 아에 무시하고 그냥 함수가 종료되어버리더군요..
그래서 쪽지를 건너뛰더라도 메일함수를 체킹할수있도록 수정하였습니다.
234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 | /** * @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을 통째로 바꾸어주시면되겠습니다.
중복일지도 모르겠네요;