읽지 않은 쪽지함을 'dispCommunicationMessages' 액션에서 처리하도록 개선

This commit is contained in:
BJRambo 2017-06-19 16:33:23 +09:00
parent 89881d38dd
commit 0cdda975f9
5 changed files with 21 additions and 95 deletions

View file

@ -46,19 +46,19 @@ class communicationView extends communication
/**
* Display message box
* @return void|Object (void : success, Object : fail)
* @return object (Object : fail)
*/
function dispCommunicationMessages()
{
if($this->config->enable_message == 'N')
{
return $this->stop('msg_invalid_request');
return new Object(-1, 'msg_invalid_request');
}
// Error appears if not logged-in
if(!Context::get('is_logged'))
{
return $this->stop('msg_not_logged');
return new Object(-1, 'msg_not_logged');
}
$logged_info = Context::get('logged_info');
@ -67,7 +67,7 @@ class communicationView extends communication
$message_srl = Context::get('message_srl');
$message_type = Context::get('message_type');
if(!in_array($message_type, array('R', 'S', 'T')))
if(!in_array($message_type, array('R', 'S', 'T', 'N')))
{
$message_type = 'R';
Context::set('message_type', $message_type);
@ -86,21 +86,28 @@ class communicationView extends communication
case 'R':
if($message->receiver_srl != $logged_info->member_srl)
{
return $this->stop('msg_invalid_request');
return new Object(-1, 'msg_invalid_request');
}
break;
case 'S':
if($message->sender_srl != $logged_info->member_srl)
{
return $this->stop('msg_invalid_request');
return new Object(-1, 'msg_invalid_request');
}
break;
case 'T':
if($message->receiver_srl != $logged_info->member_srl && $message->sender_srl != $logged_info->member_srl)
{
return $this->stop('msg_invalid_request');
return new Object(-1, 'msg_invalid_request');
}
break;
case 'N':
if($message->receiver_srl != $logged_info->member_srl)
{
return new Object(-1, 'msg_invalid_request');
}
break;
}
@ -165,75 +172,6 @@ class communicationView extends communication
$this->setTemplateFile('new_message');
}
function dispCommunicationUnreadList()
{
$oCommunicationModel = getModel('communication');
if($this->config->enable_message == 'N')
{
return $this->stop('msg_invalid_request');
}
if(!Context::get('is_logged'))
{
return $this->stop('msg_not_logged');
}
$logged_info = Context::get('logged_info');
// Set the variables
$message_srl = Context::get('message_srl');
// extract contents if message_srl exists
if($message_srl)
{
$columnList = array('message_srl', 'sender_srl', 'receiver_srl', 'message_type', 'title', 'content', 'readed', 'regdate');
$message = $oCommunicationModel->getSelectedMessage($message_srl, $columnList);
switch($message->message_type)
{
case 'R':
if($message->receiver_srl != $logged_info->member_srl)
{
return $this->stop('msg_invalid_request');
}
break;
case 'S':
if($message->sender_srl != $logged_info->member_srl)
{
return $this->stop('msg_invalid_request');
}
break;
case 'T':
if($message->receiver_srl != $logged_info->member_srl && $message->sender_srl != $logged_info->member_srl)
{
return $this->stop('msg_invalid_request');
}
break;
}
if($message->message_srl == $message_srl && ($message->receiver_srl == $logged_info->member_srl || $message->sender_srl == $logged_info->member_srl))
{
stripEmbedTagForAdmin($message->content, $message->sender_srl);
Context::set('message', $message);
}
}
$columnList = array('message_srl', 'readed', 'title', 'member.member_srl', 'member.nick_name', 'message.regdate', 'readed_date');
$output = $oCommunicationModel->getReadedMessages('N', $columnList);
// set a template file
Context::set('total_count', $output->total_count);
Context::set('total_page', $output->total_page);
Context::set('page', $output->page);
Context::set('message_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
$this->setTemplateFile('messages');
}
/**
* Display message sending
* @return void|Object (void : success, Object : fail)