From 802ca2cf1bc8d082ccf96b7150f0c251d3ab8334 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Thu, 25 Jan 2018 23:39:03 +0900 Subject: [PATCH] Fix incorrect sender info in new message notification MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A 회원 계정으로 로그인한 상태에서 애드온이나 서드파티 모듈이 B 회원으로부터 C 회원에게 쪽지가 발송되도록 하면, C회원에게 표시되는 쪽지 알림에는 A 회원으로부터 쪽지가 왔다고 잘못 표시되는 문제 수정. - 쪽지 발송 트리거에서 sender_srl을 참조하는 코드가 누락되어 있었음. - insertNotify에서 명시적으로 지정한 target_member_srl 속성보다 현재 로그인한 사용자의 회원정보를 우선 처리하는 문제가 있었음. 이러면 target_member_srl 속성을 쓰는 이유가 없음 ㅡ.ㅡ;; --- .../ncenterlite/ncenterlite.controller.php | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/modules/ncenterlite/ncenterlite.controller.php b/modules/ncenterlite/ncenterlite.controller.php index 89b3df89f..19a45cbc9 100644 --- a/modules/ncenterlite/ncenterlite.controller.php +++ b/modules/ncenterlite/ncenterlite.controller.php @@ -334,6 +334,7 @@ class ncenterliteController extends ncenterlite $args->srl = $obj->related_srl; $args->target_p_srl = '1'; $args->target_srl = $obj->message_srl; + $args->target_member_srl = $obj->sender_srl; $args->type = $this->_TYPE_MESSAGE; $args->target_type = $this->_TYPE_MESSAGE; $args->target_summary = $obj->title; @@ -1048,6 +1049,7 @@ class ncenterliteController extends ncenterlite $args->regdate = date('YmdHis'); } + // 익명인 경우 발신자 정보를 제거 if($anonymous == TRUE) { $args->target_member_srl = 0; @@ -1055,8 +1057,17 @@ class ncenterliteController extends ncenterlite $args->target_user_id = strval($args->target_nick_name); $args->target_email_address = strval($args->target_nick_name); } - // 로그인을 했을경우 logged_info 정보를 가져와 검사한다. - else if(Context::get('is_logged')) + // 발신자 회원번호(target_member_srl)가 지정된 경우 그대로 사용 + elseif($args->target_member_srl) + { + $member_info = getModel('member')->getMemberInfoByMemberSrl($args->target_member_srl); + $args->target_member_srl = intval($member_info->member_srl); + $args->target_nick_name = strval($member_info->nick_name); + $args->target_user_id = strval($member_info->user_id); + $args->target_email_address = strval($member_info->email_address); + } + // 발신자 회원번호가 없는 경우 현재 로그인한 사용자 정보를 사용 + elseif(Context::get('is_logged')) { $logged_info = Context::get('logged_info'); $args->target_member_srl = intval($logged_info->member_srl); @@ -1064,18 +1075,9 @@ class ncenterliteController extends ncenterlite $args->target_user_id = strval($logged_info->user_id); $args->target_email_address = strval($logged_info->email_address); } - else if($args->target_member_srl) - { - $oMemberModel = getModel('member'); - $member_info = $oMemberModel->getMemberInfoByMemberSrl($args->target_member_srl); - $args->target_member_srl = intval($member_info->member_srl); - $args->target_nick_name = strval($member_info->nick_name); - $args->target_user_id = strval($member_info->user_id); - $args->target_email_address = strval($member_info->email_address); - } + // 비회원인 경우 else { - // 비회원 $args->target_member_srl = 0; $args->target_nick_name = strval($args->target_nick_name); $args->target_user_id = '';