From cd0ded1c469dc20faeb47ad2017d97384948687d Mon Sep 17 00:00:00 2001 From: conory Date: Sat, 4 Apr 2020 01:15:31 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B2=8C=EC=8B=9C=EA=B8=80=20=EC=B6=94?= =?UTF-8?q?=EC=B2=9C=20=EC=B7=A8=EC=86=8C=EC=8B=9C=20=EC=B6=94=EC=B2=9C=20?= =?UTF-8?q?=EC=95=8C=EB=A6=BC=EC=9D=B4=20=EC=82=AD=EC=A0=9C=EB=90=98?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EB=8A=94=20=EB=AC=B8=EC=A0=9C=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 또한 댓글 추천 취소시 해당 댓글의 모든 추천 알림이 삭제되는 문제 수정 * 비회원은 IP기반의 추천이라 비회원이 추천 취소를 할 경우에는 알림을 특정할 수 없어 알림 삭제가 되지 않음 --- modules/ncenterlite/ncenterlite.class.php | 1 + .../ncenterlite/ncenterlite.controller.php | 81 +++++++++++++------ .../queries/deleteNotifyByTargetType.xml | 7 +- 3 files changed, 61 insertions(+), 28 deletions(-) diff --git a/modules/ncenterlite/ncenterlite.class.php b/modules/ncenterlite/ncenterlite.class.php index bfa0f5eea..ee9d433d9 100644 --- a/modules/ncenterlite/ncenterlite.class.php +++ b/modules/ncenterlite/ncenterlite.class.php @@ -25,6 +25,7 @@ class ncenterlite extends ModuleObject array('member.deleteMember', 'ncenterlite', 'controller', 'triggerAfterDeleteMember', 'after'), array('communication.sendMessage', 'ncenterlite', 'controller', 'triggerAfterSendMessage', 'after'), array('document.updateVotedCount', 'ncenterlite', 'controller', 'triggerAfterDocumentVotedUpdate', 'after'), + array('document.updateVotedCountCancel', 'ncenterlite', 'controller', 'triggerAfterDocumentVotedCancel', 'after'), array('member.procMemberScrapDocument', 'ncenterlite', 'controller', 'triggerAfterScrap', 'after'), array('moduleHandler.init', 'ncenterlite', 'controller', 'triggerAddMemberMenu', 'after'), array('document.moveDocumentToTrash', 'ncenterlite', 'controller', 'triggerAfterMoveToTrash', 'after'), diff --git a/modules/ncenterlite/ncenterlite.controller.php b/modules/ncenterlite/ncenterlite.controller.php index 6a372186a..9136c28a6 100644 --- a/modules/ncenterlite/ncenterlite.controller.php +++ b/modules/ncenterlite/ncenterlite.controller.php @@ -570,7 +570,6 @@ class ncenterliteController extends ncenterlite { return; } - if($config->user_notify_setting == 'Y' && $oNcenterliteModel->getUserConfig($obj->member_srl)->data->vote_notify == 'N') { return; @@ -591,13 +590,41 @@ class ncenterliteController extends ncenterlite $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()) + $this->_insertNotify($args); + } + + function triggerAfterDocumentVotedCancel($obj) + { + $oNcenterliteModel = getModel('ncenterlite'); + $config = $oNcenterliteModel->getConfig(); + if(!isset($config->use['vote'])) { - return $output; + return; + } + if($obj->point < 0) + { + return; + } + if($config->user_notify_setting == 'Y' && $oNcenterliteModel->getUserConfig($obj->member_srl)->data->vote_notify == 'N') + { + return; + } + if(!$this->user->member_srl) + { + return; + } + $args = new stdClass(); + $args->type = $this->_TYPE_DOCUMENT; + $args->target_type = $this->_TYPE_VOTED; + $args->target_srl = $obj->document_srl; + $args->target_member_srl = $this->user->member_srl; + $output = executeQuery('ncenterlite.deleteNotifyByTargetType', $args); + if($output->toBool()) + { + $this->removeFlagFile($obj->member_srl); } } - + function triggerAfterCommentVotedCount($obj) { $oNcenterliteModel = getModel('ncenterlite'); @@ -610,18 +637,17 @@ class ncenterliteController extends ncenterlite { return; } - if($config->user_notify_setting == 'Y' && $oNcenterliteModel->getUserConfig($obj->member_srl)->data->vote_notify == 'N') { return; } - - $oCommentModel = new commentModel(); + + $oCommentModel = getModel('comment'); $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; @@ -634,34 +660,39 @@ class ncenterliteController extends ncenterlite $args->regdate = date('YmdHis'); $args->notify = $this->_getNotifyId($args); $args->target_url = getNotEncodedUrl('', 'document_srl', $document_srl, 'comment_srl', $obj->comment_srl) . '#comment_' . $obj->comment_srl; - $output = $this->_insertNotify($args); - if(!$output->toBool()) - { - return $output; - } + $this->_insertNotify($args); } function triggerAfterCommentVotedCancel($obj) { - $oCommentModel = new commentModel(); - $oComment = $oCommentModel->getComment($obj->comment_srl); - - $document_srl = $oComment->get('document_srl'); - + $oNcenterliteModel = getModel('ncenterlite'); + $config = $oNcenterliteModel->getConfig(); + if(!isset($config->use['vote'])) + { + return; + } + if($obj->point < 0) + { + return; + } + if($config->user_notify_setting == 'Y' && $oNcenterliteModel->getUserConfig($obj->member_srl)->data->vote_notify == 'N') + { + return; + } + if(!$this->user->member_srl) + { + return; + } $args = new stdClass(); $args->type = $this->_TYPE_COMMENT; $args->target_type = $this->_TYPE_VOTED; $args->target_srl = $obj->comment_srl; - $args->srl = $document_srl; + $args->target_member_srl = $this->user->member_srl; $output = executeQuery('ncenterlite.deleteNotifyByTargetType', $args); if($output->toBool()) { $this->removeFlagFile($obj->member_srl); } - else - { - return $output; - } } function triggerAfterDeleteComment(&$obj) diff --git a/modules/ncenterlite/queries/deleteNotifyByTargetType.xml b/modules/ncenterlite/queries/deleteNotifyByTargetType.xml index 911d9741a..65945fa71 100644 --- a/modules/ncenterlite/queries/deleteNotifyByTargetType.xml +++ b/modules/ncenterlite/queries/deleteNotifyByTargetType.xml @@ -4,9 +4,10 @@ - - - + + + +