읽지 않은 쪽지함을 '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

@ -255,6 +255,12 @@ class communicationModel extends communication
$query_id = 'communication.getStoredMessages';
break;
case 'N' :
$args->member_srl = $logged_info->member_srl;
$args->readed = 'N';
$query_id = 'comunication.getReadedMessages';
break;
default :
$args->member_srl = $logged_info->member_srl;
$args->message_type = 'S';
@ -271,22 +277,6 @@ class communicationModel extends communication
return executeQuery($query_id, $args, $columnList);
}
function getReadedMessages($readed = 'N', $columnList = array())
{
$logged_info = Context::get('logged_info');
$args = new stdClass();
$args->member_srl = $logged_info->member_srl;
$args->readed = $readed;
$args->sort_index = 'message.list_order';
$args->page = Context::get('page');
$args->list_count = 20;
$args->page_count = 10;
$output = executeQueryArray('communication.getReadedMessages', $args, $columnList);
return $output;
}
/**
* Get a list of friends
* @param int $friend_group_srl (default 0)

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)

View file

@ -9,7 +9,6 @@
<action name="dispCommunicationAddFriend" type="view" permission="member" />
<action name="dispCommunicationAddFriendGroup" type="view" permission="member" />
<action name="dispCommunicationMessageBoxList" type="mobile" permission="member" />
<action name="dispCommunicationUnreadList" type="view" permission="member" />
<action name="procCommunicationUpdateAllowMessage" type="controller" permission="member" />
<action name="procCommunicationSendMessage" type="controller" permission="member" ruleset="sendMessage" />

View file

@ -8,6 +8,7 @@ $lang->allow_message_type['F'] = '친구만 허용';
$lang->message_box['R'] = '받은 쪽지함';
$lang->message_box['S'] = '보낸 쪽지함';
$lang->message_box['T'] = '보관함';
$lang->message_box['N'] = '읽지 않은 쪽지함';
$lang->readed_date = '읽은 시간';
$lang->sender = '보낸이';
$lang->receiver = '받는이';
@ -19,7 +20,6 @@ $lang->cmd_view_friend = '친구 보기';
$lang->cmd_add_friend = '친구 등록';
$lang->cmd_message_box = '쪽지함';
$lang->cmd_view_message_box = '쪽지함 보기';
$lang->cmd_view_unread_message_box = '읽지않은 쪽지함 보기';
$lang->cmd_store = '보관함 이동';
$lang->cmd_view_selected_frend_group = '선택된 그룹만 보기';
$lang->cmd_add_friend_group = '친구 그룹 생성';

View file

@ -5,7 +5,6 @@
<div class="btnArea">
<div style="margin:0;display:block;float:left" class="btn-group">
<button loop="$lang->message_box => $key,$val" class="btn" onclick="location.href=current_url.setQuery('act', 'dispCommunicationMessages').setQuery('message_srl', '').setQuery('message_type', '{$key}'); return false;" style="font-weight:bold"|cond="$message_type == $key && $act != 'dispCommunicationUnreadList'">{$val}</button>
<button class="btn" onclick="location.href=current_url.setQuery('act', 'dispCommunicationUnreadList'); return false;" style="font-weight:bold"|cond="$act == 'dispCommunicationUnreadList'">{$lang->cmd_view_unread_message_box}</button>
</div>
<form action="./" method="POST" style="margin:0;display:block;float:right">
<input type="hidden" name="module" value="communication" />