mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-05 09:41:40 +09:00
commit
3a91aa61c2
10 changed files with 351 additions and 264 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)
|
||||
|
|
@ -113,7 +114,7 @@ class ncenterliteAdminController extends ncenterlite
|
|||
$args->target_nick_name = $logged_info->nick_name;
|
||||
$args->regdate = date('YmdHis');
|
||||
$args->notify = $oNcenterliteController->_getNotifyId($args);
|
||||
$output = $oNcenterliteController->_insertNotify($args);
|
||||
$oNcenterliteController->_insertNotify($args);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -136,7 +137,7 @@ class ncenterliteAdminController extends ncenterlite
|
|||
$args->target_nick_name = $logged_info->nick_name;
|
||||
$args->regdate = date('YmdHis');
|
||||
$args->notify = $oNcenterliteController->_getNotifyId($args);
|
||||
$output = $oNcenterliteController->_insertNotify($args);
|
||||
$oNcenterliteController->_insertNotify($args);
|
||||
}
|
||||
|
||||
function procNcenterliteAdminDeleteNofity()
|
||||
|
|
|
|||
|
|
@ -1,26 +1,6 @@
|
|||
<?php
|
||||
class ncenterlite extends ModuleObject
|
||||
{
|
||||
// @@@@@@@@@@ 사용자 커스텀 시작
|
||||
// 쪽지를 열 mid 지정
|
||||
// 쪽지를 열 때 해당 mid에서 열리도록 합니다
|
||||
// 비워두면 접속한 페이지에서 열림(기본 동작)
|
||||
var $message_mid = '';
|
||||
|
||||
// 노티바(알림바)를 감출 mid - array('mid1', 'mid2', 'mid3')
|
||||
// 지정한 mid에서는 노티바를 출력하지 않습니다
|
||||
var $disable_notify_bar_mid = array();
|
||||
|
||||
// 노티바(알림바)를 감출 act - array('act1', 'act2', 'act3')
|
||||
// 지정한 act에서는 노티바를 출력하지 않습니다
|
||||
var $disable_notify_bar_act = array();
|
||||
|
||||
// 알림을 보내지 않을 게시판 mid - array('mid1', 'mid2', 'mid3')
|
||||
// 지정한 mid에서는 댓글 알림을 보내지 않습니다
|
||||
var $disable_notify = array();
|
||||
// @@@@@@@@@@ 사용자 커스텀 끝
|
||||
|
||||
|
||||
var $_TYPE_DOCUMENT = 'D'; // 댓글
|
||||
var $_TYPE_COMMENT = 'C'; // 댓글의 댓글
|
||||
var $_TYPE_ADMIN_COMMENT = 'A'; // 어드민 댓글 알림
|
||||
|
|
@ -45,24 +25,14 @@ class ncenterlite extends ModuleObject
|
|||
array('document.updateVotedCount', 'ncenterlite', 'controller', 'triggerAfterVotedupdate', 'after'),
|
||||
array('moduleHandler.init', 'ncenterlite', 'controller', 'triggerAddMemberMenu', 'after'),
|
||||
array('document.moveDocumentToTrash', 'ncenterlite', 'controller', 'triggerAfterMoveToTrash', 'after'),
|
||||
array('comment.updateVotedCount', 'ncenterlite', 'controller', 'triggerAfterCommentVotedCount', 'after'),
|
||||
array('comment.updateVotedCountCancel', 'ncenterlite', 'controller', 'triggerAfterCommentVotedCancel', 'after'),
|
||||
);
|
||||
|
||||
private $delete_triggers = array(
|
||||
array('moduleObject.proc', 'ncenterlite', 'controller', 'triggerBeforeModuleObjectProc', 'before')
|
||||
);
|
||||
|
||||
function _isDisable()
|
||||
{
|
||||
$result = FALSE;
|
||||
if(count($this->disable_notify))
|
||||
{
|
||||
$module_info = Context::get('module_info');
|
||||
if(in_array($module_info->mid, $this->disable_notify)) $result = TRUE;
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
function moduleInstall()
|
||||
{
|
||||
return new Object();
|
||||
|
|
@ -295,4 +265,38 @@ class ncenterlite extends ModuleObject
|
|||
}
|
||||
return new Object();
|
||||
}
|
||||
|
||||
public static function getSmsHandler()
|
||||
{
|
||||
static $oSmsHandler = null;
|
||||
|
||||
if($oSmsHandler === null)
|
||||
{
|
||||
$oSmsHandler = new Rhymix\Framework\SMS;
|
||||
|
||||
if($oSmsHandler::getDefaultDriver()->getName() === 'Dummy')
|
||||
{
|
||||
$oSmsHandler = false;
|
||||
return $oSmsHandler;
|
||||
}
|
||||
|
||||
$variable_name = array();
|
||||
$member_config = getModel('member')->getMemberConfig();
|
||||
foreach($member_config->signupForm as $value)
|
||||
{
|
||||
if($value->type == 'tel')
|
||||
{
|
||||
$variable_name[] = $value->name;
|
||||
}
|
||||
}
|
||||
|
||||
if(empty($variable_name))
|
||||
{
|
||||
$oSmsHandler = false;
|
||||
return $oSmsHandler;
|
||||
}
|
||||
}
|
||||
|
||||
return $oSmsHandler;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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');
|
||||
|
||||
|
|
@ -19,7 +24,7 @@ class ncenterliteController extends ncenterlite
|
|||
return new Object(-1, 'ncenterlite_stop_no_permission_other_user_settings');
|
||||
}
|
||||
|
||||
$output = $oNcenterliteModel->getMemberConfig($member_srl);
|
||||
$user_config = $oNcenterliteModel->getUserConfig($member_srl);
|
||||
|
||||
$obj = Context::getRequestVars();
|
||||
|
||||
|
|
@ -29,20 +34,28 @@ class ncenterliteController extends ncenterlite
|
|||
$args->mention_notify = $obj->mention_notify;
|
||||
$args->message_notify = $obj->message_notify;
|
||||
|
||||
if(!$output)
|
||||
if(!$user_config->data)
|
||||
{
|
||||
$outputs = executeQuery('ncenterlite.insertUserConfig', $args);
|
||||
$insert_output = executeQuery('ncenterlite.insertUserConfig', $args);
|
||||
if(!$insert_output->toBool())
|
||||
{
|
||||
return $insert_output;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$outputs = executeQuery('ncenterlite.updateUserConfig', $args);
|
||||
$update_output = executeQuery('ncenterlite.updateUserConfig', $args);
|
||||
if(!$update_output->toBool())
|
||||
{
|
||||
return $update_output;
|
||||
}
|
||||
}
|
||||
|
||||
$this->setMessage('success_updated');
|
||||
|
||||
if(!in_array(Context::getRequestMethod(), array('XMLRPC', 'JSON')))
|
||||
{
|
||||
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'act', 'dispNcenterliteUserConfig', 'member_srl', $member_srl);
|
||||
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('act', 'dispNcenterliteUserConfig', 'member_srl', $member_srl);
|
||||
header('location: ' . $returnUrl);
|
||||
return;
|
||||
}
|
||||
|
|
@ -79,18 +92,12 @@ class ncenterliteController extends ncenterlite
|
|||
|
||||
$oModuleModel = getModel('module');
|
||||
|
||||
if($this->_isDisable())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
$oNcenterliteModel = getModel('ncenterlite');
|
||||
$config = $oNcenterliteModel->getConfig();
|
||||
|
||||
$mention_targets = $this->_getMentionTarget($obj->title . ' ' . $obj->content);
|
||||
|
||||
$document_srl = $obj->document_srl;
|
||||
$module_info = $oModuleModel->getModuleInfoByDocumentSrl($document_srl);
|
||||
$module_info = $oModuleModel->getModuleInfoByDocumentSrl($obj->document_srl);
|
||||
|
||||
$is_anonymous = $this->_isAnonymous($this->_TYPE_DOCUMENT, $obj);
|
||||
|
||||
|
|
@ -105,38 +112,7 @@ class ncenterliteController extends ncenterlite
|
|||
return new Object();
|
||||
}
|
||||
|
||||
// !TODO 공용 메소드로 분리
|
||||
foreach($mention_targets as $mention_member_srl)
|
||||
{
|
||||
$target_member_config = $oNcenterliteModel->getMemberConfig($mention_member_srl);
|
||||
$notify_member_config = $target_member_config->data;
|
||||
|
||||
if($notify_member_config->mention_notify == 'N')
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$args = new stdClass();
|
||||
$args->config_type = 'mention';
|
||||
$args->member_srl = $mention_member_srl;
|
||||
$args->srl = $obj->document_srl;
|
||||
$args->target_p_srl = $obj->document_srl;
|
||||
$args->target_srl = $obj->document_srl;
|
||||
$args->type = $this->_TYPE_DOCUMENT;
|
||||
$args->target_type = $this->_TYPE_MENTION;
|
||||
$args->target_url = getNotEncodedFullUrl('', 'document_srl', $obj->document_srl);
|
||||
$args->target_summary = cut_str(strip_tags($obj->title), 50);
|
||||
$args->target_nick_name = $obj->nick_name;
|
||||
$args->target_email_address = $obj->email_address;
|
||||
$args->regdate = date('YmdHis');
|
||||
$args->target_browser = $module_info->browser_title;
|
||||
$args->notify = $this->_getNotifyId($args);
|
||||
$output = $this->_insertNotify($args, $is_anonymous);
|
||||
if(!$output->toBool())
|
||||
{
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
$this->insertMentionByTargets($mention_targets, $obj, $module_info, $is_anonymous);
|
||||
}
|
||||
|
||||
if(isset($config->use['admin_content']) && is_array($config->admin_notify_module_srls) && in_array($module_info->module_srl, $config->admin_notify_module_srls) && empty($mention_targets))
|
||||
|
|
@ -172,18 +148,12 @@ class ncenterliteController extends ncenterlite
|
|||
return new Object();
|
||||
}
|
||||
|
||||
function triggerAfterInsertComment(&$obj)
|
||||
function triggerAfterInsertComment($obj)
|
||||
{
|
||||
if($this->_isDisable())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
$oNcenterliteModel = getModel('ncenterlite');
|
||||
$config = $oNcenterliteModel->getConfig();
|
||||
|
||||
$logged_info = Context::get('logged_info');
|
||||
$notify_member_srl = array();
|
||||
|
||||
$document_srl = $obj->document_srl;
|
||||
$oModuleModel = getModel('module');
|
||||
|
|
@ -196,7 +166,7 @@ class ncenterliteController extends ncenterlite
|
|||
// 익명 노티 체크
|
||||
$is_anonymous = $this->_isAnonymous($this->_TYPE_COMMENT, $obj);
|
||||
|
||||
$admin_comment_notify = false;
|
||||
$obj->admin_comment_notify = false;
|
||||
$admin_list = $oNcenterliteModel->getMemberAdmins();
|
||||
|
||||
if(isset($config->use['admin_content']) && is_array($config->admin_notify_module_srls) && in_array($module_info->module_srl, $config->admin_notify_module_srls))
|
||||
|
|
@ -225,49 +195,22 @@ class ncenterliteController extends ncenterlite
|
|||
$output = $this->_insertNotify($args, $is_anonymous);
|
||||
if($output->toBool())
|
||||
{
|
||||
$admin_comment_notify = true;
|
||||
$obj->admin_comment_notify = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// check use the mention option.
|
||||
$notify_member_srls = array();
|
||||
if(isset($config->use['mention']))
|
||||
{
|
||||
$mention_targets = $this->_getMentionTarget($content);
|
||||
|
||||
// !TODO 공용 메소드로 분리
|
||||
foreach($mention_targets as $mention_member_srl)
|
||||
if(!empty($admin_list))
|
||||
{
|
||||
$target_member_config = $oNcenterliteModel->getMemberConfig($mention_member_srl);
|
||||
$notify_member_config = $target_member_config->data;
|
||||
if($notify_member_config->mention_notify == 'N')
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(is_array($admin_list) && in_array($mention_member_srl, $admin_list) && isset($config->use['admin_content']) && $admin_comment_notify == true)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$args = new stdClass();
|
||||
$args->config_type = 'mention';
|
||||
$args->member_srl = $mention_member_srl;
|
||||
$args->target_p_srl = $obj->comment_srl;
|
||||
$args->srl = $obj->document_srl;
|
||||
$args->target_srl = $obj->comment_srl;
|
||||
$args->type = $this->_TYPE_COMMENT;
|
||||
$args->target_type = $this->_TYPE_MENTION;
|
||||
$args->target_url = getNotEncodedFullUrl('', 'document_srl', $document_srl, '_comment_srl', $comment_srl) . '#comment_' . $comment_srl;
|
||||
$args->target_summary = cut_str(trim(utf8_normalize_spaces(strip_tags($content))), 50) ?: (strpos($content, '<img') !== false ? lang('ncenterlite_content_image') : lang('ncenterlite_content_empty'));
|
||||
$args->target_nick_name = $obj->nick_name;
|
||||
$args->target_email_address = $obj->email_address;
|
||||
$args->regdate = date('YmdHis');
|
||||
$args->target_browser = $module_info->browser_title;
|
||||
$args->notify = $this->_getNotifyId($args);
|
||||
$output = $this->_insertNotify($args, $is_anonymous);
|
||||
$notify_member_srl[] = $mention_member_srl;
|
||||
$obj->admin_list = $admin_list;
|
||||
}
|
||||
$notify_member_srls = $this->insertMentionByTargets($mention_targets, $obj, $module_info, $is_anonymous, $this->_TYPE_COMMENT);
|
||||
}
|
||||
|
||||
if(!isset($config->use['comment']))
|
||||
|
|
@ -281,15 +224,22 @@ class ncenterliteController extends ncenterlite
|
|||
$oCommentModel = getModel('comment');
|
||||
$oComment = $oCommentModel->getComment($parent_srl);
|
||||
$member_srl = $oComment->member_srl;
|
||||
$comment_member_config = $oNcenterliteModel->getMemberConfig($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']) && $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();
|
||||
}
|
||||
|
||||
// !TODO 공용 메소드로 분리
|
||||
if(!in_array(abs($member_srl), $notify_member_srl) && (!$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';
|
||||
|
|
@ -306,8 +256,8 @@ 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);
|
||||
$notify_member_srl[] = abs($member_srl);
|
||||
$this->_insertNotify($args, $is_anonymous);
|
||||
$notify_member_srls[] = abs($member_srl);
|
||||
}
|
||||
}
|
||||
// 대댓글이 아니고, 게시글의 댓글을 남길 경우
|
||||
|
|
@ -318,15 +268,22 @@ class ncenterliteController extends ncenterlite
|
|||
|
||||
$member_srl = $oDocument->get('member_srl');
|
||||
|
||||
if(is_array($admin_list) && in_array(abs($member_srl), $admin_list) && isset($config->use['admin_content']) && $admin_comment_notify == true)
|
||||
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();
|
||||
}
|
||||
$comment_member_config = $oNcenterliteModel->getMemberConfig($member_srl);
|
||||
$document_comment_member_config = $comment_member_config->data;
|
||||
|
||||
// !TODO 공용 메소드로 분리
|
||||
if(!in_array(abs($member_srl), $notify_member_srl) && (!$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';
|
||||
|
|
@ -343,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();
|
||||
|
|
@ -366,25 +323,29 @@ class ncenterliteController extends ncenterlite
|
|||
return new Object();
|
||||
}
|
||||
|
||||
$messages_member_config = $oNcenterliteModel->getMemberConfig($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)
|
||||
|
|
@ -419,6 +380,56 @@ class ncenterliteController extends ncenterlite
|
|||
$output = $this->_insertNotify($args);
|
||||
}
|
||||
|
||||
function triggerAfterCommentVotedCount($obj)
|
||||
{
|
||||
$oCommentModel = new commentModel();
|
||||
$oComment = $oCommentModel->getComment($obj->comment_srl);
|
||||
|
||||
$content = $oComment->get('content');
|
||||
$document_srl = $oComment->get('document_srl');
|
||||
|
||||
$args = new stdClass();
|
||||
$args->config_type = 'vote';
|
||||
$args->member_srl = $obj->member_srl;
|
||||
$args->srl = $document_srl;
|
||||
$args->target_p_srl = $obj->comment_srl;
|
||||
$args->target_srl = $obj->comment_srl;
|
||||
$args->type = $this->_TYPE_COMMENT;
|
||||
$args->target_type = $this->_TYPE_VOTED;
|
||||
$args->target_summary = cut_str(trim(utf8_normalize_spaces(strip_tags($content))), 50);
|
||||
$args->regdate = date('YmdHis');
|
||||
$args->notify = $this->_getNotifyId($args);
|
||||
$args->target_url = getNotEncodedFullUrl('', 'document_srl', $document_srl, '_comment_srl', $obj->comment_srl) . '#comment_' . $obj->comment_srl;
|
||||
$output = $this->_insertNotify($args);
|
||||
if(!$output->toBool())
|
||||
{
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
|
||||
function triggerAfterCommentVotedCancel($obj)
|
||||
{
|
||||
$oCommentModel = new commentModel();
|
||||
$oComment = $oCommentModel->getComment($obj->comment_srl);
|
||||
|
||||
$document_srl = $oComment->get('document_srl');
|
||||
|
||||
$args = new stdClass();
|
||||
$args->type = $this->_TYPE_COMMENT;
|
||||
$args->target_type = $this->_TYPE_VOTED;
|
||||
$args->target_srl = $obj->comment_srl;
|
||||
$args->srl = $document_srl;
|
||||
$output = executeQuery('ncenterlite.deleteNotifyByTargetType', $args);
|
||||
if($output->toBool())
|
||||
{
|
||||
$this->removeFlagFile($obj->member_srl);
|
||||
}
|
||||
else
|
||||
{
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
|
||||
function triggerAfterDeleteComment(&$obj)
|
||||
{
|
||||
$oNcenterliteModel = getModel('ncenterlite');
|
||||
|
|
@ -447,7 +458,6 @@ class ncenterliteController extends ncenterlite
|
|||
{
|
||||
foreach($member_srls as $member_srl)
|
||||
{
|
||||
//Remove flag files
|
||||
$this->removeFlagFile($member_srl);
|
||||
}
|
||||
}
|
||||
|
|
@ -621,7 +631,6 @@ class ncenterliteController extends ncenterlite
|
|||
$update_output = executeQuery('ncenterlite.updateNotifyReadedByTargetSrl', $args);
|
||||
if($update_output->toBool())
|
||||
{
|
||||
//Remove flag files
|
||||
$this->removeFlagFile($args->member_srl);
|
||||
}
|
||||
}
|
||||
|
|
@ -724,14 +733,6 @@ class ncenterliteController extends ncenterlite
|
|||
return new Object();
|
||||
}
|
||||
|
||||
if(count($this->disable_notify_bar_act))
|
||||
{
|
||||
if(in_array(Context::get('act'), $this->disable_notify_bar_act))
|
||||
{
|
||||
return new Object();
|
||||
}
|
||||
}
|
||||
|
||||
// HTML 모드가 아니면 중지 + act에 admin이 포함되어 있으면 중지
|
||||
if(Context::getResponseMethod() != 'HTML' || strpos(strtolower(Context::get('act')), 'admin') !== false)
|
||||
{
|
||||
|
|
@ -746,13 +747,6 @@ class ncenterliteController extends ncenterlite
|
|||
|
||||
$module_info = Context::get('module_info');
|
||||
|
||||
if(count($this->disable_notify_bar_mid))
|
||||
{
|
||||
if(in_array($module_info->mid, $this->disable_notify_bar_mid))
|
||||
{
|
||||
return new Object();
|
||||
}
|
||||
}
|
||||
|
||||
// admin 모듈이면 중지
|
||||
if($module_info->module == 'admin')
|
||||
|
|
@ -844,6 +838,8 @@ class ncenterliteController extends ncenterlite
|
|||
function triggerAddMemberMenu()
|
||||
{
|
||||
$oNcenterliteModel = getModel('ncenterlite');
|
||||
$oMemberController = getController('member');
|
||||
|
||||
$config = $oNcenterliteModel->getConfig();
|
||||
|
||||
if($config->user_config_list == 'Y')
|
||||
|
|
@ -855,9 +851,7 @@ class ncenterliteController extends ncenterlite
|
|||
}
|
||||
$target_srl = Context::get('target_srl');
|
||||
|
||||
$oMemberController = getController('member');
|
||||
$oMemberController->addMemberMenu('dispNcenterliteNotifyList', 'ncenterlite_my_list');
|
||||
$oMemberController->addMemberMenu('dispNcenterliteUserConfig', 'ncenterlite_my_settings');
|
||||
|
||||
if($logged_info->is_admin == 'Y')
|
||||
{
|
||||
|
|
@ -867,6 +861,11 @@ class ncenterliteController extends ncenterlite
|
|||
}
|
||||
}
|
||||
|
||||
if($config->user_notify_setting == 'Y')
|
||||
{
|
||||
$oMemberController->addMemberMenu('dispNcenterliteUserConfig', 'ncenterlite_my_settings');
|
||||
}
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
|
|
@ -874,7 +873,7 @@ class ncenterliteController extends ncenterlite
|
|||
{
|
||||
if(file_exists(FileHandler::getRealPath($this->template_path . 'ncenterlite.css')))
|
||||
{
|
||||
Context::loadFile(array($this->template_path . 'ncenterlite.css', '', '', 100), true);
|
||||
Context::loadFile(array($this->template_path . 'ncenterlite.css', '', '', 100));
|
||||
}
|
||||
|
||||
$oNcenterliteModel = getModel('ncenterlite');
|
||||
|
|
@ -883,19 +882,19 @@ class ncenterliteController extends ncenterlite
|
|||
{
|
||||
if($config->colorset && file_exists(FileHandler::getRealPath($this->template_path . 'ncenterlite.' . $config->colorset . '.css')))
|
||||
{
|
||||
Context::loadFile(array($this->template_path . 'ncenterlite.' . $config->colorset . '.css', '', '', 100), true);
|
||||
Context::loadFile(array($this->template_path . 'ncenterlite.' . $config->colorset . '.css', '', '', 100));
|
||||
}
|
||||
}
|
||||
elseif(Mobile::isFromMobilePhone())
|
||||
{
|
||||
if($config->mcolorset && file_exists(FileHandler::getRealPath($this->template_path . 'ncenterlite.' . $config->mcolorset . '.css')))
|
||||
{
|
||||
Context::loadFile(array($this->template_path . 'ncenterlite.' . $config->mcolorset . '.css', '', '', 100), true);
|
||||
Context::loadFile(array($this->template_path . 'ncenterlite.' . $config->mcolorset . '.css', '', '', 100));
|
||||
}
|
||||
|
||||
Context::loadFile(array('./common/js/jquery.min.js', 'head', '', -100000), true);
|
||||
Context::loadFile(array('./common/js/xe.min.js', 'head', '', -100000), true);
|
||||
Context::loadFile(array($this->template_path . 'ncenterlite.mobile.css', '', '', 100), true);
|
||||
Context::loadFile(array('./common/js/jquery.min.js', 'head', '', -100000));
|
||||
Context::loadFile(array('./common/js/xe.min.js', 'head', '', -100000));
|
||||
Context::loadFile(array($this->template_path . 'ncenterlite.mobile.css', '', '', 100));
|
||||
}
|
||||
if($config->zindex)
|
||||
{
|
||||
|
|
@ -909,7 +908,6 @@ class ncenterliteController extends ncenterlite
|
|||
$config = $oNcenterModel->getConfig();
|
||||
|
||||
$oTemplateHandler = TemplateHandler::getInstance();
|
||||
$result = '';
|
||||
|
||||
if(Mobile::isFromMobilePhone())
|
||||
{
|
||||
|
|
@ -965,7 +963,7 @@ class ncenterliteController extends ncenterlite
|
|||
function procNcenterliteNotifyReadAll()
|
||||
{
|
||||
$logged_info = Context::get('logged_info');
|
||||
if(!$logged_info)
|
||||
if(!Context::get('is_logged'))
|
||||
{
|
||||
return new Object(-1, 'msg_invalid_request');
|
||||
}
|
||||
|
|
@ -1093,19 +1091,13 @@ class ncenterliteController extends ncenterlite
|
|||
{
|
||||
return $output;
|
||||
}
|
||||
else
|
||||
{
|
||||
ModuleHandler::triggerCall('ncenterlite._insertNotify', 'after', $args);
|
||||
}
|
||||
|
||||
$this->sendSmsMessage($args);
|
||||
$this->sendMailMessage($args);
|
||||
|
||||
if($output->toBool())
|
||||
{
|
||||
$trigger_notify = ModuleHandler::triggerCall('ncenterlite._insertNotify', 'after', $args);
|
||||
if(!$trigger_notify->toBool())
|
||||
{
|
||||
return $trigger_notify;
|
||||
}
|
||||
}
|
||||
|
||||
$this->removeFlagFile($args->member_srl);
|
||||
|
||||
return $output;
|
||||
|
|
@ -1249,7 +1241,7 @@ class ncenterliteController extends ncenterlite
|
|||
$content = $oNcenterliteModel->getNotificationText($args);
|
||||
$content = preg_replace('/<\/?(strong|)[^>]*>/', '', $content);
|
||||
|
||||
$sms = $oNcenterliteModel->getSmsHandler();
|
||||
$sms = $this->getSmsHandler();
|
||||
if($sms === false)
|
||||
{
|
||||
return false;
|
||||
|
|
@ -1297,7 +1289,6 @@ class ncenterliteController extends ncenterlite
|
|||
$content_cut = preg_replace('/<\/?(strong|)[^>]*>/', '', $content);
|
||||
$mail_title = cut_str($content_cut, 20);
|
||||
|
||||
$member_config = getModel('member')->getMemberConfig();
|
||||
$member_info = getModel('member')->getMemberInfoByMemberSrl($args->member_srl);
|
||||
|
||||
$oMail = new \Rhymix\Framework\Mail();
|
||||
|
|
@ -1306,4 +1297,85 @@ class ncenterliteController extends ncenterlite
|
|||
$oMail->addTo($member_info->email_address, $member_info->nick_name);
|
||||
$oMail->send();
|
||||
}
|
||||
|
||||
/**
|
||||
* Insert Mentions by target member_srls.
|
||||
* @param $mention_targets
|
||||
* @param $obj
|
||||
* @param $module_info
|
||||
* @param $is_anonymous
|
||||
* @param string $type
|
||||
* @return Object|Bool|array
|
||||
*/
|
||||
function insertMentionByTargets($mention_targets, $obj, $module_info, $is_anonymous, $type = 'D')
|
||||
{
|
||||
$oNcenterliteModel = getModel('ncenterlite');
|
||||
$config = $oNcenterliteModel->getConfig();
|
||||
|
||||
if(!is_array($mention_targets))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!$module_info)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
$notify_member_srls = array();
|
||||
foreach ($mention_targets as $mention_member_srl)
|
||||
{
|
||||
if($config->user_notify_setting == 'Y')
|
||||
{
|
||||
$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();
|
||||
if ($type == $this->_TYPE_DOCUMENT)
|
||||
{
|
||||
$args->srl = $obj->document_srl;
|
||||
$args->target_p_srl = $obj->document_srl;
|
||||
$args->target_srl = $obj->document_srl;
|
||||
$args->target_summary = cut_str(strip_tags($obj->title), 50);
|
||||
$args->target_url = getNotEncodedFullUrl('', 'document_srl', $obj->document_srl);
|
||||
}
|
||||
elseif ($type == $this->_TYPE_COMMENT)
|
||||
{
|
||||
if(isset($config->use['admin_content']) && $obj->admin_comment_notify)
|
||||
{
|
||||
if(is_array($obj->admin_list) && in_array($mention_member_srl, $obj->admin_list))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
$args->srl = $obj->document_srl;
|
||||
$args->target_p_srl = $obj->comment_srl;
|
||||
$args->target_srl = $obj->comment_srl;
|
||||
$args->target_url = $args->target_url = getNotEncodedFullUrl('', 'document_srl', $obj->document_srl, '_comment_srl', $obj->comment_srl) . '#comment_' . $obj->comment_srl;
|
||||
$args->target_summary = cut_str(trim(utf8_normalize_spaces(strip_tags($obj->content))), 50) ?: (strpos($obj->content, '<img') !== false ? lang('ncenterlite_content_image') : lang('ncenterlite_content_empty'));
|
||||
}
|
||||
$args->config_type = 'mention';
|
||||
$args->member_srl = $mention_member_srl;
|
||||
$args->target_type = $this->_TYPE_MENTION;
|
||||
$args->type = $type;
|
||||
$args->target_nick_name = $obj->nick_name;
|
||||
$args->target_email_address = $obj->email_address;
|
||||
$args->regdate = date('YmdHis');
|
||||
$args->target_browser = $module_info->browser_title;
|
||||
$args->notify = $this->_getNotifyId($args);
|
||||
$output = $this->_insertNotify($args, $is_anonymous);
|
||||
if(!$output->toBool())
|
||||
{
|
||||
return $output;
|
||||
}
|
||||
$notify_member_srls[] = $mention_member_srl;
|
||||
}
|
||||
return $notify_member_srls;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
require_once(_XE_PATH_.'modules/ncenterlite/ncenterlite.view.php');
|
||||
|
||||
class ncenterliteMobile extends ncenterliteView
|
||||
{
|
||||
|
|
@ -22,17 +23,5 @@ class ncenterliteMobile extends ncenterliteView
|
|||
$this->module_info->mlayout_srl = $config->mlayout_srl;
|
||||
$this->setLayoutPath($layout_info->path);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function dispNcenterliteNotifyList()
|
||||
{
|
||||
parent::dispNcenterliteNotifyList();
|
||||
}
|
||||
|
||||
function dispNcenterliteUserConfig()
|
||||
{
|
||||
parent::dispNcenterliteUserConfig();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,6 +65,10 @@ class ncenterliteModel extends ncenterlite
|
|||
if(!$config->skin) $config->skin = 'default';
|
||||
if(!$config->colorset) $config->colorset = 'black';
|
||||
if(!$config->zindex) $config->zindex = '9999';
|
||||
if(!$config->user_notify_setting)
|
||||
{
|
||||
$config->user_notify_setting = 'N';
|
||||
}
|
||||
|
||||
self::$config = $config;
|
||||
}
|
||||
|
|
@ -96,13 +100,11 @@ class ncenterliteModel extends ncenterlite
|
|||
|
||||
function replaceNotifyType($match)
|
||||
{
|
||||
//if replace string is not at arguments, return
|
||||
if(!in_array($match[1],$this->notify_arguments))
|
||||
{
|
||||
return $match[0];
|
||||
}
|
||||
|
||||
//if replace string is not set, return
|
||||
if(!isset($this->notify_args->{$match[1]}))
|
||||
{
|
||||
return $match[0];
|
||||
|
|
@ -126,10 +128,19 @@ class ncenterliteModel extends ncenterlite
|
|||
return executeQuery('ncenterlite.insertNotifyType',$args);
|
||||
}
|
||||
|
||||
function getMemberConfig($member_srl=null)
|
||||
/**
|
||||
* @brief Get user notify config.
|
||||
* @param null $member_srl
|
||||
* @return object|bool
|
||||
*/
|
||||
function getUserConfig($member_srl = null)
|
||||
{
|
||||
if(!$member_srl)
|
||||
{
|
||||
if(!Context::get('is_logged'))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
$logged_info = Context::get('logged_info');
|
||||
$member_srl = $logged_info->member_srl;
|
||||
}
|
||||
|
|
@ -137,7 +148,6 @@ class ncenterliteModel extends ncenterlite
|
|||
$args = new stdClass();
|
||||
$args->member_srl = $member_srl;
|
||||
$output = executeQuery('ncenterlite.getUserConfig', $args);
|
||||
if(!$output->data) return $output->data;
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
|
@ -190,13 +200,15 @@ class ncenterliteModel extends ncenterlite
|
|||
|
||||
function getMyNotifyListTpl()
|
||||
{
|
||||
$logged_info = Context::get('logged_info');
|
||||
if(!$logged_info) return new Object(-1, 'msg_not_permitted');
|
||||
if (!Context::get('is_logged'))
|
||||
{
|
||||
return new Object(-1, 'msg_not_permitted');
|
||||
}
|
||||
|
||||
$oMemberModel = getModel('member');
|
||||
$memberConfig = $oMemberModel->getMemberConfig();
|
||||
$memberConfig = getModel('member')->getMemberConfig();
|
||||
$page = Context::get('page');
|
||||
|
||||
$logged_info = Context::get('logged_info');
|
||||
$member_srl = $logged_info->member_srl;
|
||||
$tmp = $this->getMyNotifyList($member_srl, $page);
|
||||
foreach($tmp->data as $key => $obj)
|
||||
|
|
@ -215,13 +227,15 @@ class ncenterliteModel extends ncenterlite
|
|||
{
|
||||
if(!$member_srl)
|
||||
{
|
||||
if (!Context::get('is_logged'))
|
||||
{
|
||||
return array();
|
||||
}
|
||||
$logged_info = Context::get('logged_info');
|
||||
if(!$logged_info) return array();
|
||||
|
||||
$member_srl = $logged_info->member_srl;
|
||||
}
|
||||
$flag_path = \RX_BASEDIR . 'files/cache/ncenterlite/new_notify/' . getNumberingPath($member_srl) . $member_srl . '.php';
|
||||
|
||||
$flag_path = \RX_BASEDIR . 'files/cache/ncenterlite/new_notify/' . getNumberingPath($member_srl) . $member_srl . '.php';
|
||||
if(FileHandler::exists($flag_path) && $page <= 1)
|
||||
{
|
||||
$deleteFlagPath = \RX_BASEDIR . 'files/cache/ncenterlite/new_notify/delete_date.php';
|
||||
|
|
@ -251,10 +265,16 @@ class ncenterliteModel extends ncenterlite
|
|||
$args = new stdClass();
|
||||
$args->member_srl = $member_srl;
|
||||
$args->page = $page ? $page : 1;
|
||||
if($readed) $args->readed = $readed;
|
||||
if ($readed)
|
||||
{
|
||||
$args->readed = $readed;
|
||||
}
|
||||
$output = executeQueryArray('ncenterlite.getNotifyList', $args);
|
||||
$output->flag_exists = false;
|
||||
if(!$output->data) $output->data = array();
|
||||
if (!$output->data)
|
||||
{
|
||||
$output->data = array();
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
|
@ -304,13 +324,16 @@ class ncenterliteModel extends ncenterlite
|
|||
return $member_srl;
|
||||
}
|
||||
|
||||
function _getNewCount($member_srl=null)
|
||||
function _getNewCount($member_srl = null)
|
||||
{
|
||||
if(!$member_srl)
|
||||
if($member_srl === null)
|
||||
{
|
||||
$logged_info = Context::get('logged_info');
|
||||
if(!$logged_info) return 0;
|
||||
if (!Context::get('is_logged'))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
$logged_info = Context::get('logged_info');
|
||||
$member_srl = $logged_info->member_srl;
|
||||
}
|
||||
|
||||
|
|
@ -469,19 +492,18 @@ class ncenterliteModel extends ncenterlite
|
|||
|
||||
return $str;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 주어진 시간이 얼마 전 인지 반환
|
||||
* @param string YmdHis
|
||||
* @param $datetime string YmdHis
|
||||
* @return string
|
||||
**/
|
||||
*/
|
||||
function getAgo($datetime)
|
||||
{
|
||||
global $lang;
|
||||
$lang_type = Context::getLangType();
|
||||
|
||||
$display = $lang->ncenterlite_date;
|
||||
$ago = $lang->ncenterlite_ago;
|
||||
$display = lang('ncenterlite_date');
|
||||
$ago = lang('ncenterlite_ago');
|
||||
|
||||
$date = getdate(strtotime(zdate($datetime, 'Y-m-d H:i:s')));
|
||||
|
||||
|
|
@ -544,38 +566,4 @@ class ncenterliteModel extends ncenterlite
|
|||
|
||||
return $output->data;
|
||||
}
|
||||
|
||||
public static function getSmsHandler()
|
||||
{
|
||||
static $oSmsHandler = null;
|
||||
|
||||
if($oSmsHandler === null)
|
||||
{
|
||||
$oSmsHandler = new Rhymix\Framework\SMS;
|
||||
|
||||
if($oSmsHandler::getDefaultDriver()->getName() === 'Dummy')
|
||||
{
|
||||
$oSmsHandler = false;
|
||||
return $oSmsHandler;
|
||||
}
|
||||
|
||||
$variable_name = array();
|
||||
$member_config = getModel('member')->getMemberConfig();
|
||||
foreach($member_config->signupForm as $value)
|
||||
{
|
||||
if($value->type == 'tel')
|
||||
{
|
||||
$variable_name[] = $value->name;
|
||||
}
|
||||
}
|
||||
|
||||
if(empty($variable_name))
|
||||
{
|
||||
$oSmsHandler = false;
|
||||
return $oSmsHandler;
|
||||
}
|
||||
}
|
||||
|
||||
return $oSmsHandler;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,15 +41,23 @@ 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');
|
||||
if(!$logged_info) return new Object(-1, 'ncenterlite_stop_login_required');
|
||||
if(!Context::get('is_logged')) return new Object(-1, 'ncenterlite_stop_login_required');
|
||||
|
||||
if($logged_info->is_admin == 'Y')
|
||||
{
|
||||
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
|
||||
}
|
||||
|
||||
if($logged_info->is_admin != 'Y' && $member_srl)
|
||||
{
|
||||
if($member_srl != $logged_info->member_srl)
|
||||
|
|
@ -57,12 +65,7 @@ class ncenterliteView extends ncenterlite
|
|||
return new Object(-1, 'ncenterlite_stop_no_permission_other_user');
|
||||
}
|
||||
}
|
||||
$oNcenterliteModel = getModel('ncenterlite');
|
||||
if(!$member_srl)
|
||||
{
|
||||
$member_srl = $logged_info->member_srl;
|
||||
}
|
||||
$output = $oNcenterliteModel->getMemberConfig($member_srl);
|
||||
$output = $oNcenterliteModel->getUserConfig($member_srl);
|
||||
|
||||
Context::set('member_info', $member_info);
|
||||
Context::set('user_config', $output->data);
|
||||
|
|
|
|||
12
modules/ncenterlite/queries/deleteNotifyByTargetType.xml
Normal file
12
modules/ncenterlite/queries/deleteNotifyByTargetType.xml
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<query id="deleteNotifyByTargetType" action="delete">
|
||||
<tables>
|
||||
<table name="ncenterlite_notify" />
|
||||
</tables>
|
||||
|
||||
<conditions>
|
||||
<condition operation="equal" column="srl" var="srl" filter="number" notnull="notnull" />
|
||||
<condition operation="equal" column="target_srl" var="target_srl" filter="number" notnull="notnull" pipe="and" />
|
||||
<condition operation="equal" column="type" var="type" notnull="notnull" pipe="and" />
|
||||
<condition operation="equal" column="target_type" var="target_type" notnull="notnull" pipe="and" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
@ -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