mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-08 11:11:39 +09:00
Add option to user notify setting.
This commit is contained in:
parent
76f3df792f
commit
6b11100822
6 changed files with 87 additions and 33 deletions
|
|
@ -98,3 +98,6 @@ $lang->ncenterlite_message_event_about = 'Do not notify message (Use XE Core mes
|
|||
$lang->ncenterlite_all_delete = 'Delete all';
|
||||
$lang->ncenterlite_month_before_delete = 'Delete older than 1 month';
|
||||
$lang->dont_check_notify_delete = 'Unread notifications will be deleted, too.';
|
||||
$lang->user_notify_setting = 'User notify setting.';
|
||||
$lang->about_user_notify_setting = 'Each member can set a notify settings. Warning! If a member setting not use notifications, they will not be notified regardless of their default settings.';
|
||||
$lang->msg_not_use_user_setting = 'user setting\'s not use. Please contact your administrator.';
|
||||
|
|
@ -110,6 +110,8 @@ $lang->member_menu_view = '회원 메뉴 표시';
|
|||
$lang->member_menu_on = '표시';
|
||||
$lang->member_menu_off = '표시하지 않음';
|
||||
$lang->about_member_menu_view = '각 회원이 알림 설정을 변경할 수 있는 메뉴를 추가합니다.';
|
||||
$lang->user_notify_setting = '회원알림설정';
|
||||
$lang->about_user_notify_setting = '각 맴버회원들의 알림을 설정할 수 있습니다. 회원들이 알림을 받지 않도록 설정되어 있다면 해당 회원이 알림센터를 통해서 알림을 못받을 수 있습니다.';
|
||||
$lang->ncenterlite_no_notify = '알림 내역이 없습니다.';
|
||||
$lang->ncenterlite_all_delete = '전체 삭제';
|
||||
$lang->ncenterlite_month_before_delete = '한 달 이전의 알림 삭제';
|
||||
|
|
@ -140,3 +142,4 @@ $lang->ncenterlite_type_content = '알림 타입 내용';
|
|||
$lang->ncenterlite_notify_type = '알림 타입 리스트';
|
||||
$lang->msg_do_not_notify_type = '생성한 알림타입이 존재하지 않습니다.';
|
||||
$lang->ncenterlite_custom_list = '커스텀 리스트';
|
||||
$lang->msg_not_use_user_setting = '유저 세팅을 제공하지 않습니다. 관리자에게 문의하세요.';
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ class ncenterliteAdminController extends ncenterlite
|
|||
'mlayout_srl',
|
||||
'use_sms',
|
||||
'variable_name',
|
||||
'user_notify_setting',
|
||||
);
|
||||
|
||||
foreach($config_vars as $val)
|
||||
|
|
|
|||
|
|
@ -6,6 +6,11 @@ class ncenterliteController extends ncenterlite
|
|||
{
|
||||
$logged_info = Context::get('logged_info');
|
||||
$oNcenterliteModel = getModel('ncenterlite');
|
||||
$config = $oNcenterliteModel->getConfig();
|
||||
if($config->user_notify_setting != 'Y')
|
||||
{
|
||||
return new Object(-1, 'msg_not_use_user_setting');
|
||||
}
|
||||
|
||||
$member_srl = Context::get('member_srl');
|
||||
|
||||
|
|
@ -219,14 +224,22 @@ class ncenterliteController extends ncenterlite
|
|||
$oCommentModel = getModel('comment');
|
||||
$oComment = $oCommentModel->getComment($parent_srl);
|
||||
$member_srl = $oComment->member_srl;
|
||||
$comment_member_config = $oNcenterliteModel->getUserConfig($member_srl);
|
||||
$parent_member_config = $comment_member_config->data;
|
||||
if(is_array($admin_list) && in_array(abs($member_srl), $admin_list) && isset($config->use['admin_content']) && $$obj->admin_comment_notify == true)
|
||||
if($config->user_notify_setting == 'Y')
|
||||
{
|
||||
$comment_member_config = $oNcenterliteModel->getUserConfig($member_srl);
|
||||
$parent_member_config = $comment_member_config->data;
|
||||
if($parent_member_config->comment_notify != 'Y')
|
||||
{
|
||||
return new Object();
|
||||
}
|
||||
}
|
||||
|
||||
if(is_array($admin_list) && in_array(abs($member_srl), $admin_list) && isset($config->use['admin_content']) && $obj->admin_comment_notify == true)
|
||||
{
|
||||
return new Object();
|
||||
}
|
||||
|
||||
if(!in_array(abs($member_srl), $notify_member_srls) && (!$logged_info || ($member_srl != 0 && abs($member_srl) != $logged_info->member_srl)) && $parent_member_config->comment_notify != 'N')
|
||||
if(!in_array(abs($member_srl), $notify_member_srls) && (!Context::get('is_logged') || ($member_srl != 0 && abs($member_srl) != $logged_info->member_srl)))
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->config_type = 'comment_comment';
|
||||
|
|
@ -243,7 +256,7 @@ class ncenterliteController extends ncenterlite
|
|||
$args->regdate = $regdate;
|
||||
$args->target_browser = $module_info->browser_title;
|
||||
$args->notify = $this->_getNotifyId($args);
|
||||
$output = $this->_insertNotify($args, $is_anonymous);
|
||||
$this->_insertNotify($args, $is_anonymous);
|
||||
$notify_member_srls[] = abs($member_srl);
|
||||
}
|
||||
}
|
||||
|
|
@ -259,10 +272,18 @@ class ncenterliteController extends ncenterlite
|
|||
{
|
||||
return new Object();
|
||||
}
|
||||
$comment_member_config = $oNcenterliteModel->getUserConfig($member_srl);
|
||||
$document_comment_member_config = $comment_member_config->data;
|
||||
|
||||
if(!in_array(abs($member_srl), $notify_member_srls) && (!$logged_info || ($member_srl != 0 && abs($member_srl) != $logged_info->member_srl)) && $document_comment_member_config->comment_notify != 'N')
|
||||
if($config->user_notify_setting == 'Y')
|
||||
{
|
||||
$comment_member_config = $oNcenterliteModel->getUserConfig($member_srl);
|
||||
$document_comment_member_config = $comment_member_config->data;
|
||||
if($document_comment_member_config->comment_notify != 'Y')
|
||||
{
|
||||
return new Object();
|
||||
}
|
||||
}
|
||||
|
||||
if(!in_array(abs($member_srl), $notify_member_srls) && (!$logged_info || ($member_srl != 0 && abs($member_srl) != $logged_info->member_srl)))
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->config_type = 'comment';
|
||||
|
|
@ -279,14 +300,14 @@ class ncenterliteController extends ncenterlite
|
|||
$args->regdate = $regdate;
|
||||
$args->target_browser = $module_info->browser_title;
|
||||
$args->notify = $this->_getNotifyId($args);
|
||||
$output = $this->_insertNotify($args, $is_anonymous);
|
||||
$this->_insertNotify($args, $is_anonymous);
|
||||
}
|
||||
}
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
function triggerAfterSendMessage(&$trigger_obj)
|
||||
function triggerAfterSendMessage($obj)
|
||||
{
|
||||
$oNcenterliteModel = getModel('ncenterlite');
|
||||
$config = $oNcenterliteModel->getConfig();
|
||||
|
|
@ -302,25 +323,29 @@ class ncenterliteController extends ncenterlite
|
|||
return new Object();
|
||||
}
|
||||
|
||||
$messages_member_config = $oNcenterliteModel->getUserConfig($trigger_obj->receiver_srl);
|
||||
$message_member_config = $messages_member_config->data;
|
||||
|
||||
if($message_member_config->message_notify != 'N')
|
||||
if($config->user_notify_setting == 'Y')
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->config_type = 'message';
|
||||
$args->member_srl = $trigger_obj->receiver_srl;
|
||||
$args->srl = $trigger_obj->related_srl;
|
||||
$args->target_p_srl = '1';
|
||||
$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);
|
||||
$messages_member_config = $oNcenterliteModel->getUserConfig($obj->receiver_srl);
|
||||
$message_member_config = $messages_member_config->data;
|
||||
if($message_member_config->message_notify != 'Y')
|
||||
{
|
||||
return new Object();
|
||||
}
|
||||
}
|
||||
|
||||
$args = new stdClass();
|
||||
$args->config_type = 'message';
|
||||
$args->member_srl = $obj->receiver_srl;
|
||||
$args->srl = $obj->related_srl;
|
||||
$args->target_p_srl = '1';
|
||||
$args->target_srl = $obj->message_srl;
|
||||
$args->type = $this->_TYPE_MESSAGE;
|
||||
$args->target_type = $this->_TYPE_MESSAGE;
|
||||
$args->target_summary = $obj->title;
|
||||
$args->regdate = date('YmdHis');
|
||||
$args->notify = $this->_getNotifyId($args);
|
||||
$args->target_url = getNotEncodedFullUrl('', 'act', 'dispCommunicationMessages', 'message_srl', $obj->related_srl);
|
||||
$this->_insertNotify($args);
|
||||
}
|
||||
|
||||
function triggerAfterVotedupdate(&$obj)
|
||||
|
|
@ -1280,6 +1305,7 @@ class ncenterliteController extends ncenterlite
|
|||
function insertMentionByTargets($mention_targets, $obj, $module_info, $is_anonymous, $type = 'D')
|
||||
{
|
||||
$oNcenterliteModel = getModel('ncenterlite');
|
||||
$config = $oNcenterliteModel->getConfig();
|
||||
|
||||
if(!is_array($mention_targets))
|
||||
{
|
||||
|
|
@ -1294,12 +1320,14 @@ class ncenterliteController extends ncenterlite
|
|||
$notify_member_srls = array();
|
||||
foreach ($mention_targets as $mention_member_srl)
|
||||
{
|
||||
$target_member_config = $oNcenterliteModel->getUserConfig($mention_member_srl);
|
||||
$notify_member_config = $target_member_config->data;
|
||||
|
||||
if ($notify_member_config->mention_notify == 'N')
|
||||
if($config->user_notify_setting == 'Y')
|
||||
{
|
||||
continue;
|
||||
$target_member_config = $oNcenterliteModel->getUserConfig($mention_member_srl);
|
||||
$notify_member_config = $target_member_config->data;
|
||||
if ($notify_member_config->mention_notify == 'N')
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
$args = new stdClass();
|
||||
|
|
|
|||
|
|
@ -41,6 +41,13 @@ class ncenterliteView extends ncenterlite
|
|||
|
||||
function dispNcenterliteUserConfig()
|
||||
{
|
||||
$oNcenterliteModel = getModel('ncenterlite');
|
||||
$config = $oNcenterliteModel->getConfig();
|
||||
if($config->user_notify_setting != 'Y')
|
||||
{
|
||||
return new Object(-1, 'msg_not_use_user_setting');
|
||||
}
|
||||
|
||||
$oMemberModel = getModel('member');
|
||||
$member_srl = Context::get('member_srl');
|
||||
$logged_info = Context::get('logged_info');
|
||||
|
|
@ -50,6 +57,7 @@ class ncenterliteView extends ncenterlite
|
|||
{
|
||||
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
|
||||
}
|
||||
|
||||
if($logged_info->is_admin != 'Y' && $member_srl)
|
||||
{
|
||||
if($member_srl != $logged_info->member_srl)
|
||||
|
|
@ -57,7 +65,6 @@ class ncenterliteView extends ncenterlite
|
|||
return new Object(-1, 'ncenterlite_stop_no_permission_other_user');
|
||||
}
|
||||
}
|
||||
$oNcenterliteModel = getModel('ncenterlite');
|
||||
$output = $oNcenterliteModel->getUserConfig($member_srl);
|
||||
|
||||
Context::set('member_info', $member_info);
|
||||
|
|
|
|||
|
|
@ -80,6 +80,18 @@
|
|||
<p class="x_help-block">{$lang->about_member_menu_view}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->user_notify_setting}</label>
|
||||
<div class="x_controls">
|
||||
<label class="x_inline">
|
||||
<input type="radio" id="user_notify_setting_y" name="user_notify_setting" value="Y" checked="checked"|cond="$config->user_notify_setting == 'Y'" /> {$lang->use}
|
||||
</label>
|
||||
<label class="x_inline">
|
||||
<input type="radio" id="user_notify_setting_n" name="user_notify_setting" value="N" checked="checked"|cond="$config->user_notify_setting != 'Y'" /> {$lang->notuse}
|
||||
</label>
|
||||
<p class="x_help-block">{$lang->about_user_notify_setting}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->ncenterlite_document_event_read}</label>
|
||||
<div class="x_controls">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue