From d641e2cc0e3be6933b1ae0d2f546854012a57733 Mon Sep 17 00:00:00 2001 From: qw5414 Date: Fri, 22 Jan 2016 19:41:51 +0900 Subject: [PATCH] =?UTF-8?q?=ED=8A=B8=EB=A6=AC=EA=B1=B0=EB=A5=BC=20?= =?UTF-8?q?=EC=82=AC=EC=9A=A9=ED=95=98=EC=97=AC=20=ED=8F=AC=EC=9D=B8?= =?UTF-8?q?=ED=8A=B8=EB=A5=BC=20=ED=9A=8C=EC=88=98=ED=95=A0=20=EC=88=98=20?= =?UTF-8?q?=EC=9E=88=EB=8F=84=EB=A1=9D=20=EA=B0=9C=EC=84=A0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/document/document.controller.php | 63 ++++++++++++++++++------ modules/point/point.class.php | 4 ++ modules/point/point.controller.php | 13 ++++- 3 files changed, 63 insertions(+), 17 deletions(-) diff --git a/modules/document/document.controller.php b/modules/document/document.controller.php index 64e9261e2..1fe270edb 100644 --- a/modules/document/document.controller.php +++ b/modules/document/document.controller.php @@ -57,18 +57,8 @@ class documentController extends document { return new Object(-1, 'msg_document_voted_cancel_not'); } - $logged_info = Context::get('logged_info'); - - $args = new stdClass(); - $d_args = new stdClass(); - $args->document_srl = $d_args->document_srl = $document_srl; - $d_args->member_srl = $logged_info->member_srl; - $args->voted_count = $oDocument->get('voted_count') - 1; - $output = executeQuery('document.updateVotedCount', $args); - $d_output = executeQuery('document.deleteDocumentVotedLog', $d_args); - - //session reset - $_SESSION['voted_document'][$document_srl] = false; + $point = 1; + $output = $this->updateVotedCountCancel($document_srl, $oDocument, $point); $output = new Object(); $output->setMessage('success_voted_canceled'); @@ -133,21 +123,62 @@ class documentController extends document { return new Object(-1, 'msg_document_voted_cancel_not'); } + $point = -1; + $output = $this->updateVotedCountCancel($document_srl, $oDocument, $point); + + $output = new Object(); + $output->setMessage('success_blamed_canceled'); + return $output; + } + + /** + * Update Document Voted Cancel + * @param stdClass $args + * @param stdClass $d_args + * @param int $point + * @return object + */ + function updateVotedCountCancel($document_srl, $oDocument, $point) + { $logged_info = Context::get('logged_info'); $args = new stdClass(); $d_args = new stdClass(); $args->document_srl = $d_args->document_srl = $document_srl; $d_args->member_srl = $logged_info->member_srl; - $args->blamed_count = $oDocument->get('blamed_count') + 1; - $output = executeQuery('document.updateBlamedCount', $args); + if($point > 0) + { + $args->voted_count = $oDocument->get('voted_count') - 1; + $output = executeQuery('document.updateVotedCount', $args); + } + else + { + $args->blamed_count = $oDocument->get('blamed_count') + 1; + $output = executeQuery('document.updateBlamedCount', $args); + } $d_output = executeQuery('document.deleteDocumentVotedLog', $d_args); + if(!$d_output->toBool()) return $d_output; //session reset $_SESSION['voted_document'][$document_srl] = false; - $output = new Object(); - $output->setMessage('success_blamed_canceled'); + $obj = new stdClass(); + $obj->member_srl = $oDocument->get('member_srl'); + $obj->module_srl = $oDocument->get('module_srl'); + $obj->document_srl = $oDocument->get('document_srl'); + $obj->update_target = ($point < 0) ? 'blamed_count' : 'voted_count'; + $obj->point = $point; + $obj->before_point = ($point < 0) ? $oDocument->get('blamed_count') : $oDocument->get('voted_count'); + $obj->after_point = ($point < 0) ? $args->blamed_count : $args->voted_count; + $obj->cancel = 1; + + $trigger_output = ModuleHandler::triggerCall('document.updateVotedCountCancel', 'after', $obj); + if(!$trigger_output->toBool()) + { + $oDB->rollback(); + return $trigger_output; + } + return $output; } diff --git a/modules/point/point.class.php b/modules/point/point.class.php index 2fbc28999..ef40999d4 100644 --- a/modules/point/point.class.php +++ b/modules/point/point.class.php @@ -93,6 +93,7 @@ class point extends ModuleObject $oModuleController->insertTrigger('document.updateDocument', 'point', 'controller', 'triggerUpdateDocument', 'before'); // Add a trigger for comment voting up and down 2014.08.30 sejin7940 $oModuleController->insertTrigger('comment.updateVotedCount', 'point', 'controller', 'triggerUpdateVotedCount', 'after'); + $oModuleController->insertTrigger('document.updateVotedCountCancel', 'point', 'controller', 'triggerUpdateVotedCount', 'after'); return new Object(); } @@ -132,6 +133,7 @@ class point extends ModuleObject // Add a trigger for comment voting up and down 2014.08.30 sejin7940 if(!$oModuleModel->getTrigger('comment.updateVotedCount', 'point', 'controller', 'triggerUpdateVotedCount', 'after')) return true; + if(!$oModuleModel->getTrigger('document.updateVotedCountCancel', 'point', 'controller', 'triggerUpdateVotedCount', 'after')) return true; } return false; } @@ -174,6 +176,8 @@ class point extends ModuleObject // Add a trigger for voting up and down 2008.05.13 haneul if(!$oModuleModel->getTrigger('document.updateVotedCount', 'point', 'controller', 'triggerUpdateVotedCount', 'after')) $oModuleController->insertTrigger('document.updateVotedCount', 'point', 'controller', 'triggerUpdateVotedCount', 'after'); + if(!$oModuleModel->getTrigger('document.updateVotedCountCancel', 'point', 'controller', 'triggerUpdateVotedCount', 'after')) + $oModuleController->insertTrigger('document.updateVotedCountCancel', 'point', 'controller', 'triggerUpdateVotedCount', 'after'); // Add a trigger for using points for permanent saving of a temporarily saved document 2009.05.19 zero if(!$oModuleModel->getTrigger('document.updateDocument', 'point', 'controller', 'triggerUpdateDocument', 'before')) $oModuleController->insertTrigger('document.updateDocument', 'point', 'controller', 'triggerUpdateDocument', 'before'); diff --git a/modules/point/point.controller.php b/modules/point/point.controller.php index 45b8d3f34..42788561a 100644 --- a/modules/point/point.controller.php +++ b/modules/point/point.controller.php @@ -492,7 +492,18 @@ class pointController extends point if(!$point) return new Object(); // Increase the point - $cur_point += $point; + if($obj->cancel > 0) + { + $cur_point -= $point; + } + else if($obj->cancel == null) + { + $cur_point += $point; + } + else + { + $cur_point += $point; + } $this->setPoint($member_srl,$cur_point); return new Object();