diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index 272043fd2..f0aa823e4 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -190,10 +190,20 @@ class memberController extends member throw new Rhymix\Framework\Exception('msg_alreay_scrapped'); } + // Call trigger (before) + $trigger_output = ModuleHandler::triggerCall('member.procMemberScrapDocument', 'before', $args); + if (!$trigger_output->toBool()) + { + return $trigger_output; + } + // Insert $output = executeQuery('member.addScrapDocument', $args); if(!$output->toBool()) return $output; + // Call trigger (after) + ModuleHandler::triggerCall('member.procMemberScrapDocument', 'after', $args); + $this->setError(-1); $this->setMessage('success_registed'); } diff --git a/modules/ncenterlite/lang/en.php b/modules/ncenterlite/lang/en.php index 237989925..891a003af 100644 --- a/modules/ncenterlite/lang/en.php +++ b/modules/ncenterlite/lang/en.php @@ -4,6 +4,11 @@ $lang->ncenterlite_install_version = 'Installed version'; $lang->ncenterlite_advenced_config = 'Advenced Setting'; $lang->ncenterlite_document = 'document'; $lang->ncenterlite_comment = 'comment'; +$lang->ncenterlite_mention = 'Mention'; +$lang->ncenterlite_cmd_vote = 'Vote'; +$lang->ncenterlite_cmd_scrap = 'Scrap'; +$lang->ncenterlite_comment_comment = 'Reply to Comment'; +$lang->ncenterlite_admin_content = 'Admin Notification'; $lang->ncenterlite_type_message = 'message'; $lang->ncenterlite_sender = 'Sender'; $lang->ncenterlite_addressee = 'Recipient'; @@ -38,7 +43,9 @@ $lang->ncenterlite_message_string_plural = 'You have %d unread $lang->ncenterlite_message_mention = '%1$s sent you a message, "%2$s".'; $lang->ncenterlite_test_noti = 'Hello, %s! This is a test notification.'; $lang->ncenterlite_vote = '%1$s upvoted your %3$s, "%2$s".'; -$lang->ncenterlite_vote_anonymous = 'upvoted your %2$s, "%1$s".'; +$lang->ncenterlite_vote_anonymous = 'Your %2$s, "%1$s" was upvoted.'; +$lang->ncenterlite_vote = '%1$s scrapped your %3$s, "%2$s".'; +$lang->ncenterlite_vote_anonymous = 'Your %2$s, "%1$s" was scrapped.'; $lang->ncenterlite_admin_content_message = '%1$s wrote "%3$s" on %2$s.'; $lang->ncenterlite_insert_member_message = '%s! Welcome to the membership!!'; $lang->ncenterlite_content_image = '(Image)'; @@ -109,6 +116,8 @@ $lang->about_user_notify_setting = 'Each member can set a notify settings. Warni $lang->msg_not_use_user_setting = 'user setting\'s not use. Please contact your administrator.'; $lang->anonymous_voter = 'anonymous voter'; $lang->about_anonymous_voter = 'anonymize voter in vote notification'; +$lang->anonymous_scrap = 'anonymous scrap'; +$lang->about_anonymous_scrap = 'anonymize scrapper in scrap notification'; $lang->highlight_effect = 'highlight effect'; $lang->about_highlight_effect = 'it gives highlight effect to the comment when access the comment URL.'; -$lang->msg_denger_rhymix_user = 'Warning! Rhymix includes notification center by default.
Please remove this XE-only module and reinstall the Rhymix native version.'; \ No newline at end of file +$lang->msg_denger_rhymix_user = 'Warning! Rhymix includes notification center by default.
Please remove this XE-only module and reinstall the Rhymix native version.'; diff --git a/modules/ncenterlite/lang/ko.php b/modules/ncenterlite/lang/ko.php index 35a433cb1..8cca540da 100644 --- a/modules/ncenterlite/lang/ko.php +++ b/modules/ncenterlite/lang/ko.php @@ -6,6 +6,7 @@ $lang->ncenterlite_document = '글'; $lang->ncenterlite_comment = '댓글'; $lang->ncenterlite_mention = '멘션'; $lang->ncenterlite_cmd_vote = '추천'; +$lang->ncenterlite_cmd_scrap = '스크랩'; $lang->ncenterlite_comment_comment = '대댓글'; $lang->ncenterlite_type_message = '쪽지'; $lang->ncenterlite_type_test = '테스트'; @@ -53,6 +54,8 @@ $lang->ncenterlite_message_mention = '%s님이 "%s"ncenterlite_test_noti = '%s님! 테스트 알림입니다.'; $lang->ncenterlite_vote = '%s님이 회원님의 "%s" %s을 추천하였습니다.'; $lang->ncenterlite_vote_anonymous = '회원님의 "%s" %s이 추천되었습니다.'; +$lang->ncenterlite_scrap = '%s님이 회원님의 "%s" %s을 스크랩하였습니다.'; +$lang->ncenterlite_scrap_anonymous = '회원님의 "%s" %s이 스크랩되었습니다.'; $lang->ncenterlite_admin_content_message = '%1$s님이 "%2$s" 게시판에 "%3$s"라고 글을 남겼습니다.'; $lang->ncenterlite_insert_member_message = '%s회원가입을 환영합니다!!'; $lang->ncenterlite_content_image = '(이미지)'; @@ -143,6 +146,8 @@ $lang->member_phone_variable = '회원전화번호 변수'; $lang->member_phone_variable_about = '회원전화번호 변수를 선택합니다. 회원전화번호 변수가 1개일 경우 설치시 자동으로 설정이 저장됩니다. 이 경우 설정을 할 필요가 없어서 설정을 선택할 수 없습니다.'; $lang->anonymous_voter = '추천인 익명'; $lang->about_anonymous_voter = '추천 알림시 추천인을 익명으로 처리합니다.'; +$lang->anonymous_scrap = '스크랩 익명'; +$lang->about_anonymous_scrap = '스크랩 알림시 스크랩한 사람을 익명으로 처리합니다.'; $lang->highlight_effect = '하이라이트 효과'; $lang->about_highlight_effect = '댓글 URL로 접근시 해당 댓글에 하이라이트 효과를 줍니다.'; $lang->fail_module_install = '모듈설치에 실패하였습니다.'; diff --git a/modules/ncenterlite/ncenterlite.admin.controller.php b/modules/ncenterlite/ncenterlite.admin.controller.php index 7891bd6b7..a01ee5c04 100644 --- a/modules/ncenterlite/ncenterlite.admin.controller.php +++ b/modules/ncenterlite/ncenterlite.admin.controller.php @@ -31,6 +31,7 @@ class ncenterliteAdminController extends ncenterlite 'variable_name', 'user_notify_setting', 'anonymous_voter', + 'anonymous_scrap', 'highlight_effect', 'comment_all', 'comment_all_notify_module_srls', diff --git a/modules/ncenterlite/ncenterlite.class.php b/modules/ncenterlite/ncenterlite.class.php index a0e23e66d..4323d207f 100644 --- a/modules/ncenterlite/ncenterlite.class.php +++ b/modules/ncenterlite/ncenterlite.class.php @@ -9,6 +9,7 @@ class ncenterlite extends ModuleObject var $_TYPE_MESSAGE = 'E'; // 쪽지 mEssage var $_TYPE_DOCUMENTS = 'P'; // 글 작성 알림 var $_TYPE_VOTED = 'V'; // 추천글 안내 알림 + var $_TYPE_SCRAPPED = 'R'; // 스크랩 알림 var $_TYPE_TEST = 'T'; // Test Notify create. var $_TYPE_ADMIN_DOCUMENT = 'B'; // Admin Document Alert var $_TYPE_CUSTOM = 'U'; //Updated alert(uses type table) @@ -23,7 +24,8 @@ class ncenterlite extends ModuleObject array('moduleHandler.proc', 'ncenterlite', 'controller', 'triggerAfterModuleHandlerProc', 'after'), array('member.deleteMember', 'ncenterlite', 'controller', 'triggerAfterDeleteMember', 'after'), array('communication.sendMessage', 'ncenterlite', 'controller', 'triggerAfterSendMessage', 'after'), - array('document.updateVotedCount', 'ncenterlite', 'controller', 'triggerAfterVotedupdate', 'after'), + array('document.updateVotedCount', 'ncenterlite', 'controller', 'triggerAfterDocumentVotedUpdate', 'after'), + array('member.procMemberScrapDocument', 'ncenterlite', 'controller', 'triggerAfterScrap', 'after'), array('moduleHandler.init', 'ncenterlite', 'controller', 'triggerAddMemberMenu', 'after'), array('document.moveDocumentToTrash', 'ncenterlite', 'controller', 'triggerAfterMoveToTrash', 'after'), array('comment.updateVotedCount', 'ncenterlite', 'controller', 'triggerAfterCommentVotedCount', 'after'), diff --git a/modules/ncenterlite/ncenterlite.controller.php b/modules/ncenterlite/ncenterlite.controller.php index 07fba0249..1bcafcf99 100644 --- a/modules/ncenterlite/ncenterlite.controller.php +++ b/modules/ncenterlite/ncenterlite.controller.php @@ -399,8 +399,37 @@ class ncenterliteController extends ncenterlite return $output; } } + + function triggerAfterScrap($obj) + { + $oNcenterliteModel = getModel('ncenterlite'); + $config = $oNcenterliteModel->getConfig(); + if(!isset($config->use['scrap'])) + { + return; + } + + $args = new stdClass(); + $args->config_type = 'scrap'; + $args->target_member_srl = $obj->member_srl; + $args->member_srl = $obj->target_member_srl; + $args->srl = $obj->document_srl; + $args->target_p_srl = '1'; + $args->target_srl = $obj->document_srl; + $args->type = $this->_TYPE_DOCUMENT; + $args->target_type = $this->_TYPE_SCRAPPED; + $args->target_summary = $obj->title; + $args->regdate = date('YmdHis'); + $args->notify = $this->_getNotifyId($args); + $args->target_url = getNotEncodedUrl('', 'document_srl', $obj->document_srl); + $output = $this->_insertNotify($args); + if(!$output->toBool()) + { + return $output; + } + } - function triggerAfterVotedupdate(&$obj) + function triggerAfterDocumentVotedUpdate(&$obj) { $oNcenterliteModel = getModel('ncenterlite'); $config = $oNcenterliteModel->getConfig(); diff --git a/modules/ncenterlite/ncenterlite.model.php b/modules/ncenterlite/ncenterlite.model.php index 360c500e4..7170ce94e 100644 --- a/modules/ncenterlite/ncenterlite.model.php +++ b/modules/ncenterlite/ncenterlite.model.php @@ -563,6 +563,18 @@ class ncenterliteModel extends ncenterlite } break; + // Scrapped. + case 'R': + if($config->anonymous_scrap === 'Y') + { + $str = sprintf(lang('ncenterlite_scrap_anonymous'), $notification->target_summary, $type); + } + else + { + $str = sprintf(lang('ncenterlite_scrap'), $notification->target_nick_name, $notification->target_summary, $type); + } + break; + // Admin notification. case 'B': $str = sprintf(lang('ncenterlite_admin_content_message'), $notification->target_nick_name, $notification->target_browser, $notification->target_summary); diff --git a/modules/ncenterlite/tpl/advancedconfig.html b/modules/ncenterlite/tpl/advancedconfig.html index 311d09f0d..6e14a9da6 100644 --- a/modules/ncenterlite/tpl/advancedconfig.html +++ b/modules/ncenterlite/tpl/advancedconfig.html @@ -62,7 +62,7 @@
+
+ +
+ + +

{$lang->about_anonymous_scrap}

+
+
+ +
+ + + + +