Fix #2281 warning/notice if sender/recipient of message is not a member anymore

This commit is contained in:
Kijin Sung 2024-01-27 23:52:11 +09:00
parent 4e192668a1
commit 86548a8d6a
6 changed files with 10 additions and 8 deletions

View file

@ -935,12 +935,12 @@ function stripEmbedTagForAdmin(&$content, $writer_member_srl): void
return;
}
if ($logged_info->is_admin === 'Y' || getModel('module')->isSiteAdmin($logged_info))
if ($logged_info && isset($logged_info->is_admin) && $logged_info->is_admin === 'Y')
{
if ($writer_member_srl)
{
$member_info = getModel('member')->getMemberInfoByMemberSrl($writer_member_srl);
if ($member_info && $member_info->is_admin === 'Y')
$member_info = MemberModel::getMemberInfoByMemberSrl($writer_member_srl);
if ($member_info && isset($member_info->is_admin) && $member_info->is_admin === 'Y')
{
return;
}

View file

@ -139,7 +139,7 @@ class CommunicationModel extends communication
$member_info = $oMemberModel->getMemberInfoByMemberSrl($message->sender_srl);
}
if($member_info->member_srl)
if($member_info && isset($member_info->member_srl))
{
foreach($member_info as $key => $val)
{

View file

@ -123,7 +123,7 @@ class CommunicationView extends communication
Context::set('search_keyword', $search_keyword !== '' ? $search_keyword : null);
// Extract a list
$columnList = array('message_srl', 'message_type', 'related_srl', 'readed', 'title', 'member.member_srl', 'member.nick_name', 'message.regdate', 'readed_date');
$columnList = array('message_srl', 'message_type', 'related_srl', 'sender_srl', 'receiver_srl', 'title', 'member.member_srl', 'member.nick_name', 'message.regdate', 'readed', 'readed_date');
$page = max(1, intval(Context::get('page')));
$output = $oCommunicationModel->getMessages($message_type, $columnList, $search_target, $search_keyword, $page);
@ -246,9 +246,9 @@ class CommunicationView extends communication
throw new Rhymix\Framework\Exception('msg_cannot_send_to_yourself');
}
$receiver_info = MemberModel::getMemberInfoByMemberSrl($receiver_srl);
if(!$receiver_info || !$receiver_info->member_srl)
if(!$receiver_info || empty($receiver_info->member_srl))
{
throw new Rhymix\Framework\Exceptions\InvalidRequest;
throw new Rhymix\Framework\Exceptions\InvalidRequest('msg_invalid_recipient');
}
Context::set('receiver_info', $receiver_info);

View file

@ -37,6 +37,7 @@ $lang->msg_title_is_null = 'Please enter the title of message.';
$lang->msg_content_is_null = 'Please enter the content.';
$lang->msg_allow_message_to_friend = 'Failed to send a message because the recipient accepts messages from friends only.';
$lang->msg_disallow_message = 'Failed to send a message because the recipient blocked receiving messages.';
$lang->msg_invalid_recipient = 'Failed to find the recipient\'s member information.';
$lang->about_allow_message = 'You can set whether to receive messages or not.';
$lang->msg_send_mail_privacy = 'Your email address will be exposed to the recipient.';
$lang->msg_send_mail_admin_only = 'The email option can only be used by the administrator.';

View file

@ -37,6 +37,7 @@ $lang->msg_title_is_null = '쪽지 제목을 입력해주세요.';
$lang->msg_content_is_null = '내용을 입력해주세요.';
$lang->msg_allow_message_to_friend = '친구에게만 쪽지 발송을 허용한 사용자라서 쪽지 발송을 하지 못했습니다.';
$lang->msg_disallow_message = '쪽지 수신을 거부한 사용자라서 쪽지 발송을 하지 못했습니다.';
$lang->msg_invalid_recipient = '수신자 정보를 찾을 수 없습니다.';
$lang->msg_send_mail_privacy = '보낸이의 메일 주소가 받는이에게 노출될 수 있습니다.';
$lang->msg_send_mail_admin_only = '메일 발송 기능은 관리자만 사용할 수 있습니다.';
$lang->about_allow_message = '쪽지 수신 여부를 결정할 수 있습니다.';

View file

@ -1825,7 +1825,7 @@ class ModuleModel extends Module
*/
public static function isSiteAdmin($member_info)
{
if ($member_info && $member_info->is_admin == 'Y')
if ($member_info && isset($member_info->is_admin) && $member_info->is_admin == 'Y')
{
return true;
}