From 09585428264ce153e1c17a57c7859dfdce16da05 Mon Sep 17 00:00:00 2001 From: haneul Date: Wed, 23 Apr 2008 15:34:26 +0000 Subject: [PATCH] =?UTF-8?q?ticket:456=20Vote/Blame=20=EA=B5=AC=EB=B6=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://xe-core.googlecode.com/svn/sandbox@4140 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/document/document.class.php | 20 +++++++++++++++++++ modules/document/document.controller.php | 18 ++++++++++++++--- .../queries/insertDocumentVotedLog.xml | 1 + .../document/queries/updateBlamedCount.xml | 11 ++++++++++ .../document/schemas/document_voted_log.xml | 1 + modules/document/schemas/documents.xml | 1 + modules/document/tpl/document_list.html | 2 +- 7 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 modules/document/queries/updateBlamedCount.xml diff --git a/modules/document/document.class.php b/modules/document/document.class.php index 548badba3..6339c4632 100644 --- a/modules/document/document.class.php +++ b/modules/document/document.class.php @@ -31,6 +31,7 @@ $oDB->addIndex("documents","idx_module_voted_count", array("module_srl","voted_count")); $oDB->addIndex("documents","idx_module_notice", array("module_srl","is_notice")); $oDB->addIndex("documents","idx_module_document_srl", array("module_srl","document_srl")); + $oDB->addIndex("documents","idx_module_blamed_count", array("module_srl","blamed_count")); // 2007. 10. 17 모듈이 삭제될때 등록된 글도 모두 삭제하는 트리거 추가 $oModuleController->insertTrigger('module.deleteModule', 'document', 'controller', 'triggerDeleteModuleDocuments', 'after'); @@ -93,6 +94,10 @@ **/ if(!$oDB->isColumnExists("documents","extra_vars")) return true; + // 2008. 04. 23 blamed count 컬럼 추가 + if(!$oDB->isColumnExists("documents", "blamed_count")) return true; + if(!$oDB->isIndexExists("documents","idx_module_blamed_count")) return true; + if(!$oDB->isColumnExists("document_voted_log", "point")) return true; return false; } @@ -177,6 +182,21 @@ **/ if(!$oDB->isIndexExists("documents","idx_module_document_srl")) $oDB->addIndex("documents","idx_module_document_srl", array("module_srl","document_srl")); + // 2008. 04. 23 blamed count 컬럼 추가 + if(!$oDB->isColumnExists("documents", "blamed_count")) + { + $oDB->addColumn('documents', 'blamed_count', 'number', 11, 0, true); + $oDB->addIndex('documents', 'idx_blamed_count', array('blamed_count')); + } + + if(!$oDB->isIndexExists("documents","idx_module_blamed_count")) + { + $oDB->addIndex('documents', 'idx_module_blamed_count', array('module_srl', 'blamed_count')); + } + + if(!$oDB->isColumnExists("document_voted_log", "point")) + $oDB->addColumn('document_voted_log', 'point', 'number', 11, 0, true); + return new Object(0,'success_updated'); } diff --git a/modules/document/document.controller.php b/modules/document/document.controller.php index 05f0a13d1..349aa4a73 100644 --- a/modules/document/document.controller.php +++ b/modules/document/document.controller.php @@ -402,17 +402,29 @@ } // 추천수 업데이트 - $args->voted_count = $oDocument->get('voted_count') + $point; - $output = executeQuery('document.updateVotedCount', $args); + if($point < 0) + { + $args->blamed_count = $oDocument->get('blamed_count') + $point; + $output = executeQuery('document.updateBlamedCount', $args); + } + else + { + $args->voted_count = $oDocument->get('voted_count') + $point; + $output = executeQuery('document.updateVotedCount', $args); + } // 로그 남기기 + $args->point = $point; $output = executeQuery('document.insertDocumentVotedLog', $args); // 세션 정보에 남김 $_SESSION['voted_document'][$document_srl] = true; // 결과 리턴 - return new Object(0, 'success_voted'); + if($point > 0) + return new Object(0, 'success_voted'); + else + return new Object(0, 'success_blamed'); } /** diff --git a/modules/document/queries/insertDocumentVotedLog.xml b/modules/document/queries/insertDocumentVotedLog.xml index 5211b144f..3cd661462 100644 --- a/modules/document/queries/insertDocumentVotedLog.xml +++ b/modules/document/queries/insertDocumentVotedLog.xml @@ -7,5 +7,6 @@ + diff --git a/modules/document/queries/updateBlamedCount.xml b/modules/document/queries/updateBlamedCount.xml new file mode 100644 index 000000000..5f14f6c7a --- /dev/null +++ b/modules/document/queries/updateBlamedCount.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/modules/document/schemas/document_voted_log.xml b/modules/document/schemas/document_voted_log.xml index 3d324fe4a..6bd23e7b9 100644 --- a/modules/document/schemas/document_voted_log.xml +++ b/modules/document/schemas/document_voted_log.xml @@ -3,4 +3,5 @@ +
diff --git a/modules/document/schemas/documents.xml b/modules/document/schemas/documents.xml index ec6eaf273..290e3b5f1 100644 --- a/modules/document/schemas/documents.xml +++ b/modules/document/schemas/documents.xml @@ -10,6 +10,7 @@ + diff --git a/modules/document/tpl/document_list.html b/modules/document/tpl/document_list.html index dc560e808..6f13c3678 100644 --- a/modules/document/tpl/document_list.html +++ b/modules/document/tpl/document_list.html @@ -58,7 +58,7 @@ {htmlspecialchars($module_list[$oDocument->get('module_srl')]->browser_title)}-
{$oDocument->getNickName()}
{$oDocument->get('readed_count')} - {$oDocument->get('voted_count')} + {$oDocument->get('voted_count')} / {$oDocument->get('blamed_count')} {$oDocument->getRegdate("Y-m-d")} {$oDocument->getRegdate("H:i:s")}