Q&A

관리자와 해당 신고 받은 사람에게 쪽지가 날라가도록 되어있잖아요?

 

$oCommController->sendMessage($addon_info->manager, $member_srl, $subject, $msg);

 

소스 보면 이부분 인데, 관리자 아이디로 쪽지가 날라가도록 되어있고,

관리자 아이디로 쪽지가 잘 날라가는 것도 맞는데 문제는 알림창에 신고자 닉네임이 노출됩니다.

 

왜 그런걸까요?

lord Lv. 2

댓글 8

  • kxo님 혹시 해당 애드온 저한테 보내주시겠어요?
  • @람보
    보내드렸습니다!
  • 알림센터 ncenterlite.controller.php 파일의 360번째 라인 부근

    if($message_member_config->message_notify != 'N')
            {
                $args = new stdClass();
                $args->member_srl = $trigger_obj->receiver_srl;
                $args->srl = $trigger_obj->related_srl;
                $args->target_p_srl = '1';
                $args->target_member_srl = $trigger_obj->sender_srl;
                $args->target_srl = $trigger_obj->message_srl;

                $args->type = $this->_TYPE_MESSAGE;
                $args->target_type = $this->_TYPE_MESSAGE;
                $args->target_summary = $trigger_obj->title;
                $args->regdate = date('YmdHis');
                $args->notify = $this->_getNotifyId($args);
                $args->target_url = getNotEncodedFullUrl('', 'act', 'dispCommunicationMessages', 'message_srl', $trigger_obj->related_srl);
                $output = $this->_insertNotify($args);
            }
        }

     

     

     

     

    1047라인 부근을 ..... 아래와 같이 변경해 보세요.

     

        if($anonymous == TRUE)
            {
                $args->target_member_srl = 0;
                $args->target_user_id = $args->target_nick_name;
                $args->target_email_address = $args->target_nick_name;
            }
            else if($args->target_member_srl)
            {
                $oMemberModel = getModel('member');
                $member_info = $oMemberModel->getMemberInfoByMemberSrl($args->target_member_srl);
                $args->target_member_srl = $member_info->member_srl;
                $args->target_nick_name = $member_info->nick_name;
                $args->target_user_id = $member_info->user_id;
                $args->target_email_address = $member_info->email_address;
            }
            // 로그인을 했을경우 logged_info 정보를 가져와 검사한다.
            else if(Context::get('is_logged'))
            {
                $logged_info = Context::get('logged_info');
                $args->target_member_srl = $logged_info->member_srl;
                $args->target_nick_name = $logged_info->nick_name;
                $args->target_user_id = $logged_info->user_id;
                $args->target_email_address = $logged_info->email_address;
            }

     

     

     

    기존 파일은 백업해 두시고 해보세요.

  • @웹지기
    감사합니다 ^^ 적용해봐야겠네요!
  • @kxo
    감사합니다!! 잘되네요 신기합니다 ㅎㅎ
  • @kxo
    비슷한 문제로 람보님께 문의드려서 @람보님이 고쳐주신 내용입니다.
  • 디벨롭브랜치에는 관련내용이 있네요.
    https://github.com/xe-public/xe-module-ncenterlite/commit/dccb9badca6cbc7e8d28d8a10f5f0e44d7a5ac9c
  • @웹지기
    아아 감사합니다 ^^