Fix #936 always show messages to/from deleted members

- 탈퇴환 회원과 주고받은 쪽지도 표시하도록 변경
- 탈퇴환 회원의 원래 닉네임이 기록되지 않는 구조이므로
  수신자/발신자 이름에 닉네임 대신 "탈퇴한 회원"이라고만 표시
This commit is contained in:
Kijin Sung 2018-12-13 12:31:51 +09:00
parent 3c34e26cb7
commit a2c9274681
9 changed files with 59 additions and 14 deletions

View file

@ -163,7 +163,7 @@ class communicationModel extends communication
$member_info = $oMemberModel->getMemberInfoByMemberSrl($message->sender_srl);
}
if($member_info)
if($member_info->member_srl)
{
foreach($member_info as $key => $val)
{
@ -176,6 +176,13 @@ class communicationModel extends communication
$message->{$key} = $val;
}
}
else
{
$message->member_srl = ($message->sender_srl == $logged_info->member_srl) ? $message->receiver_srl : $message->sender_srl;
$message->user_id = '';
$message->nick_name = lang('communication.cmd_message_from_non_member');
$message->user_name = $message->nick_name;
}
// change the status if is a received and not yet read message
if($message->message_type == 'R' && $message->readed != 'Y')
@ -210,6 +217,14 @@ class communicationModel extends communication
$oCommunicationController = getController('communication');
$oCommunicationController->setMessageReaded($message->message_srl);
if (!$message->member_srl)
{
$message->member_srl = $message->sender_srl;
$message->user_id = '';
$message->nick_name = lang('communication.cmd_message_from_non_member');
$message->user_name = $message->nick_name;
}
return $message;
}
@ -274,7 +289,22 @@ class communicationModel extends communication
$args->list_count = 20;
$args->page_count = 10;
return executeQueryArray($query_id, $args, $columnList);
// Get messages from DB
$output = executeQueryArray($query_id, $args, $columnList);
// Add placeholder for non-members
foreach ($output->data as $message)
{
if (!$message->member_srl)
{
$message->member_srl = ($message->sender_srl == $logged_info->member_srl) ? $message->receiver_srl : $message->sender_srl;
$message->user_id = '';
$message->nick_name = lang('communication.cmd_message_from_non_member');
$message->user_name = $message->nick_name;
}
}
return $output;
}
/**

View file

@ -14,6 +14,7 @@ $lang->sender = 'From';
$lang->receiver = 'To';
$lang->friend_group = 'Friend Group';
$lang->default_friend_group = 'Unassigned Group';
$lang->cmd_message_from_non_member = 'Not a Member';
$lang->cmd_send_message = 'Send Message';
$lang->cmd_reply_message = 'Reply Message';
$lang->cmd_view_friend = 'Friends';

View file

@ -14,6 +14,7 @@ $lang->sender = '보낸이';
$lang->receiver = '받는이';
$lang->friend_group = '친구 그룹';
$lang->default_friend_group = '그룹 미지정';
$lang->cmd_message_from_non_member = '탈퇴한 회원';
$lang->cmd_send_message = '쪽지 보내기';
$lang->cmd_reply_message = '답장 보내기';
$lang->cmd_view_friend = '친구 보기';

View file

@ -1,7 +1,11 @@
<query id="getNewMessage" action="select">
<tables>
<table name="member_message" alias="message" />
<table name="member" />
<table name="member" type="left join">
<conditions>
<condition operation="equal" column="member.member_srl" default="message.sender_srl" />
</conditions>
</table>
</tables>
<columns>
<column name="*" />
@ -9,7 +13,6 @@
<conditions>
<condition operation="equal" column="message.receiver_srl" var="receiver_srl" notnull="notnull" />
<condition operation="equal" column="message.readed" var="readed" default="N" notnull="notnull" pipe="and" />
<condition operation="equal" column="message.sender_srl" var="member.member_srl" pipe="and" />
<condition operation="equal" column="message.message_type" var="message_type" default="R" pipe="and" />
</conditions>
<navigation>

View file

@ -1,7 +1,6 @@
<query id="getNewMessageCount" action="select">
<tables>
<table name="member_message" alias="message" />
<table name="member" />
</tables>
<columns>
<column name="count(*)" alias="count" />
@ -9,7 +8,6 @@
<conditions>
<condition operation="equal" column="message.receiver_srl" var="receiver_srl" notnull="notnull" />
<condition operation="equal" column="message.readed" var="readed" default="N" notnull="notnull" pipe="and" />
<condition operation="equal" column="message.sender_srl" var="member.member_srl" pipe="and" />
<condition operation="equal" column="message.message_type" var="message_type" default="R" pipe="and" />
</conditions>
</query>

View file

@ -1,7 +1,11 @@
<query id="getReceivedMessages" action="select">
<tables>
<table name="member_message" alias="message" />
<table name="member" alias="member" />
<table name="member" type="left join">
<conditions>
<condition operation="equal" column="member.member_srl" default="message.sender_srl" />
</conditions>
</table>
</tables>
<columns>
<column name="message.*" />
@ -14,7 +18,6 @@
<condition operation="equal" column="message.readed" var="readed" notnull="notnull" />
<condition operation="equal" column="message.receiver_srl" var="member_srl" notnull="notnull" pipe="and" />
<condition operation="equal" column="message.message_type" var="message_type" default="R" pipe="and" />
<condition operation="equal" column="message.sender_srl" var="member.member_srl" pipe="and" />
</conditions>
<navigation>
<index var="sort_index" default="message.list_order" order="asc" />

View file

@ -1,7 +1,11 @@
<query id="getReceivedMessages" action="select">
<tables>
<table name="member_message" alias="message" />
<table name="member" alias="member" />
<table name="member" type="left join">
<conditions>
<condition operation="equal" column="member.member_srl" default="message.sender_srl" />
</conditions>
</table>
</tables>
<columns>
<column name="message.*" />
@ -13,7 +17,6 @@
<conditions>
<condition operation="equal" column="message.receiver_srl" var="member_srl" notnull="notnull" />
<condition operation="equal" column="message.message_type" var="message_type" default="R" pipe="and" />
<condition operation="equal" column="message.sender_srl" var="member.member_srl" pipe="and" />
</conditions>
<navigation>
<index var="sort_index" default="message.list_order" order="asc" />

View file

@ -1,7 +1,11 @@
<query id="getSendedMessages" action="select">
<tables>
<table name="member_message" alias="message" />
<table name="member" alias="member" />
<table name="member" type="left join">
<conditions>
<condition operation="equal" column="member.member_srl" default="message.receiver_srl" />
</conditions>
</table>
</tables>
<columns>
<column name="message.*" />
@ -13,7 +17,6 @@
<conditions>
<condition operation="equal" column="message.sender_srl" var="member_srl" notnull="notnull" />
<condition operation="equal" column="message.message_type" var="message_type" default="S" pipe="and" />
<condition operation="equal" column="message.receiver_srl" var="member.member_srl" pipe="and" />
</conditions>
<navigation>
<index var="sort_index" default="message.list_order" order="asc" />

View file

@ -1,7 +1,11 @@
<query id="getStoredMessages" action="select">
<tables>
<table name="member_message" alias="message" />
<table name="member" alias="member" />
<table name="member" type="left join">
<conditions>
<condition operation="equal" column="member.member_srl" default="message.sender_srl" />
</conditions>
</table>
</tables>
<columns>
<column name="message.*" />
@ -13,7 +17,6 @@
<conditions>
<condition operation="equal" column="message.receiver_srl" var="member_srl" notnull="notnull" />
<condition operation="equal" column="message.message_type" var="message_type" default="T" pipe="and" />
<condition operation="equal" column="message.sender_srl" var="member.member_srl" pipe="and" />
</conditions>
<navigation>
<index var="sort_index" default="message.list_order" order="asc" />