mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-09 12:02:24 +09:00
issue 2662 comment
git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@12238 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
71361410b6
commit
7eaa7bb8f9
6 changed files with 2109 additions and 1955 deletions
|
|
@ -7,13 +7,14 @@
|
||||||
* @package /modules/comment
|
* @package /modules/comment
|
||||||
* @version 0.1
|
* @version 0.1
|
||||||
*/
|
*/
|
||||||
class commentAdminController extends comment {
|
class commentAdminController extends comment
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Initialization
|
* Initialization
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function init() {
|
function init()
|
||||||
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -122,7 +123,8 @@
|
||||||
$document_author_email = $oDocument->variables['email_address'];
|
$document_author_email = $oDocument->variables['email_address'];
|
||||||
|
|
||||||
//mail to author of thread - START
|
//mail to author of thread - START
|
||||||
if($document_author_email != $comment->email_address && $logged_info->email_address != $document_author_email) {
|
if($document_author_email != $comment->email_address && $logged_info->email_address != $document_author_email)
|
||||||
|
{
|
||||||
$oMail->setReceiptor($document_author_email, $document_author_email);
|
$oMail->setReceiptor($document_author_email, $document_author_email);
|
||||||
$oMail->send();
|
$oMail->send();
|
||||||
$already_sent[] = $document_author_email;
|
$already_sent[] = $document_author_email;
|
||||||
|
|
@ -133,10 +135,12 @@
|
||||||
if($module_info->admin_mail)
|
if($module_info->admin_mail)
|
||||||
{
|
{
|
||||||
$target_mail = explode(',',$module_info->admin_mail);
|
$target_mail = explode(',',$module_info->admin_mail);
|
||||||
for($i=0;$i<count($target_mail);$i++) {
|
for($i=0;$i<count($target_mail);$i++)
|
||||||
|
{
|
||||||
$email_address = trim($target_mail[$i]);
|
$email_address = trim($target_mail[$i]);
|
||||||
if(!$email_address) continue;
|
if(!$email_address) continue;
|
||||||
if($author_email != $email_address) {
|
if($author_email != $email_address)
|
||||||
|
{
|
||||||
$oMail->setReceiptor($email_address, $email_address);
|
$oMail->setReceiptor($email_address, $email_address);
|
||||||
$oMail->send();
|
$oMail->send();
|
||||||
}
|
}
|
||||||
|
|
@ -150,14 +154,14 @@
|
||||||
// call a trigger for calling "send mail to subscribers" (for moment just for forum)
|
// call a trigger for calling "send mail to subscribers" (for moment just for forum)
|
||||||
ModuleHandler::triggerCall("comment.procCommentAdminChangeStatus","after",$comment_srl_list);
|
ModuleHandler::triggerCall("comment.procCommentAdminChangeStatus","after",$comment_srl_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete the selected comment from the administrator page
|
* Delete the selected comment from the administrator page
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function procCommentAdminDeleteChecked() {
|
function procCommentAdminDeleteChecked()
|
||||||
|
{
|
||||||
$isTrash = Context::get('is_trash');
|
$isTrash = Context::get('is_trash');
|
||||||
|
|
||||||
// Error display if none is selected
|
// Error display if none is selected
|
||||||
|
|
@ -177,7 +181,8 @@
|
||||||
$message_content = Context::get('message_content');
|
$message_content = Context::get('message_content');
|
||||||
if($message_content) $message_content = nl2br($message_content);
|
if($message_content) $message_content = nl2br($message_content);
|
||||||
|
|
||||||
if($message_content) {
|
if($message_content)
|
||||||
|
{
|
||||||
$oCommunicationController = &getController('communication');
|
$oCommunicationController = &getController('communication');
|
||||||
$oCommentModel = &getModel('comment');
|
$oCommentModel = &getModel('comment');
|
||||||
|
|
||||||
|
|
@ -186,7 +191,8 @@
|
||||||
$title = cut_str($message_content,10,'...');
|
$title = cut_str($message_content,10,'...');
|
||||||
$sender_member_srl = $logged_info->member_srl;
|
$sender_member_srl = $logged_info->member_srl;
|
||||||
|
|
||||||
for($i=0;$i<$comment_count;$i++) {
|
for($i=0;$i<$comment_count;$i++)
|
||||||
|
{
|
||||||
$comment_srl = $comment_srl_list[$i];
|
$comment_srl = $comment_srl_list[$i];
|
||||||
$oComment = $oCommentModel->getComment($comment_srl, true);
|
$oComment = $oCommentModel->getComment($comment_srl, true);
|
||||||
|
|
||||||
|
|
@ -204,7 +210,8 @@
|
||||||
|
|
||||||
$deleted_count = 0;
|
$deleted_count = 0;
|
||||||
// Delete the comment posting
|
// Delete the comment posting
|
||||||
for($i=0;$i<$comment_count;$i++) {
|
for($i=0;$i<$comment_count;$i++)
|
||||||
|
{
|
||||||
$comment_srl = trim($comment_srl_list[$i]);
|
$comment_srl = trim($comment_srl_list[$i]);
|
||||||
if(!$comment_srl) continue;
|
if(!$comment_srl) continue;
|
||||||
|
|
||||||
|
|
@ -259,7 +266,8 @@
|
||||||
$oTrashVO->setSerializedObject(serialize($oComment->variables));
|
$oTrashVO->setSerializedObject(serialize($oComment->variables));
|
||||||
|
|
||||||
$output = $oTrashAdminController->insertTrash($oTrashVO);
|
$output = $oTrashAdminController->insertTrash($oTrashVO);
|
||||||
if (!$output->toBool()) {
|
if(!$output->toBool())
|
||||||
|
{
|
||||||
$oDB->rollback();
|
$oDB->rollback();
|
||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
|
|
@ -271,10 +279,12 @@
|
||||||
* Cancel the blacklist of abused comments reported by other users
|
* Cancel the blacklist of abused comments reported by other users
|
||||||
* @return void|object
|
* @return void|object
|
||||||
*/
|
*/
|
||||||
function procCommentAdminCancelDeclare() {
|
function procCommentAdminCancelDeclare()
|
||||||
|
{
|
||||||
$comment_srl = trim(Context::get('comment_srl'));
|
$comment_srl = trim(Context::get('comment_srl'));
|
||||||
|
|
||||||
if($comment_srl) {
|
if($comment_srl)
|
||||||
|
{
|
||||||
$args->comment_srl = $comment_srl;
|
$args->comment_srl = $comment_srl;
|
||||||
$output = executeQuery('comment.deleteDeclaredComments', $args);
|
$output = executeQuery('comment.deleteDeclaredComments', $args);
|
||||||
if(!$output->toBool()) return $output;
|
if(!$output->toBool()) return $output;
|
||||||
|
|
@ -309,7 +319,8 @@
|
||||||
* Delete all comments of the specific module
|
* Delete all comments of the specific module
|
||||||
* @return object
|
* @return object
|
||||||
*/
|
*/
|
||||||
function deleteModuleComments($module_srl) {
|
function deleteModuleComments($module_srl)
|
||||||
|
{
|
||||||
$args->module_srl = $module_srl;
|
$args->module_srl = $module_srl;
|
||||||
$output = executeQuery('comment.deleteModuleComments', $args);
|
$output = executeQuery('comment.deleteModuleComments', $args);
|
||||||
if(!$output->toBool()) return $output;
|
if(!$output->toBool()) return $output;
|
||||||
|
|
@ -373,4 +384,5 @@
|
||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
/* End of file comment.admin.controller.php */
|
||||||
|
/* Location: ./modules/comment/comment.admin.controller.php */
|
||||||
|
|
|
||||||
|
|
@ -7,19 +7,22 @@
|
||||||
* @package /modules/comment
|
* @package /modules/comment
|
||||||
* @version 0.1
|
* @version 0.1
|
||||||
*/
|
*/
|
||||||
class commentAdminView extends comment {
|
class commentAdminView extends comment
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Initialization
|
* Initialization
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function init() {
|
function init()
|
||||||
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Display the list(for administrators)
|
* Display the list(for administrators)
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function dispCommentAdminList() {
|
function dispCommentAdminList()
|
||||||
|
{
|
||||||
// option to get a list
|
// option to get a list
|
||||||
$args->page = Context::get('page'); // /< Page
|
$args->page = Context::get('page'); // /< Page
|
||||||
$args->list_count = 30; // / the number of postings to appear on a single page
|
$args->list_count = 30; // / the number of postings to appear on a single page
|
||||||
|
|
@ -68,7 +71,8 @@
|
||||||
* Show the blacklist of comments in the admin page
|
* Show the blacklist of comments in the admin page
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function dispCommentAdminDeclared() {
|
function dispCommentAdminDeclared()
|
||||||
|
{
|
||||||
// option to get a blacklist
|
// option to get a blacklist
|
||||||
$args->page = Context::get('page'); // /< Page
|
$args->page = Context::get('page'); // /< Page
|
||||||
$args->list_count = 30; // /< the number of comment postings to appear on a single page
|
$args->list_count = 30; // /< the number of comment postings to appear on a single page
|
||||||
|
|
@ -81,10 +85,12 @@
|
||||||
$declared_output = executeQuery('comment.getDeclaredList', $args);
|
$declared_output = executeQuery('comment.getDeclaredList', $args);
|
||||||
$oCommentModel = &getModel('comment');
|
$oCommentModel = &getModel('comment');
|
||||||
|
|
||||||
if($declared_output->data && count($declared_output->data)) {
|
if($declared_output->data && count($declared_output->data))
|
||||||
|
{
|
||||||
$comment_list = array();
|
$comment_list = array();
|
||||||
|
|
||||||
foreach($declared_output->data as $key => $comment) {
|
foreach($declared_output->data as $key => $comment)
|
||||||
|
{
|
||||||
$comment_list[$key] = new commentItem();
|
$comment_list[$key] = new commentItem();
|
||||||
$comment_list[$key]->setAttribute($comment);
|
$comment_list[$key]->setAttribute($comment);
|
||||||
}
|
}
|
||||||
|
|
@ -105,4 +111,5 @@
|
||||||
$this->setTemplateFile('declared_list');
|
$this->setTemplateFile('declared_list');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
/* End of file comment.admin.view.php */
|
||||||
|
/* Location: ./modules/comment/comment.admin.view.php */
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
require_once(_XE_PATH_.'modules/comment/comment.item.php');
|
require_once(_XE_PATH_.'modules/comment/comment.item.php');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* comment
|
* comment
|
||||||
* comment module's high class
|
* comment module's high class
|
||||||
|
|
@ -9,12 +8,14 @@
|
||||||
* @package /modules/comment
|
* @package /modules/comment
|
||||||
* @version 0.1
|
* @version 0.1
|
||||||
*/
|
*/
|
||||||
class comment extends ModuleObject {
|
class comment extends ModuleObject
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Implemented if additional tasks are required when installing
|
* Implemented if additional tasks are required when installing
|
||||||
* @return Object
|
* @return Object
|
||||||
*/
|
*/
|
||||||
function moduleInstall() {
|
function moduleInstall()
|
||||||
|
{
|
||||||
$oDB = &DB::getInstance();
|
$oDB = &DB::getInstance();
|
||||||
|
|
||||||
// register the action forward (for using on the admin mode)
|
// register the action forward (for using on the admin mode)
|
||||||
|
|
@ -42,7 +43,8 @@
|
||||||
* Method to check if installation is succeeded
|
* Method to check if installation is succeeded
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
function checkUpdate() {
|
function checkUpdate()
|
||||||
|
{
|
||||||
$oDB = &DB::getInstance();
|
$oDB = &DB::getInstance();
|
||||||
$oModuleModel = &getModel('module');
|
$oModuleModel = &getModel('module');
|
||||||
// 2007. 10. 17 add a trigger to delete comments together with posting deleted
|
// 2007. 10. 17 add a trigger to delete comments together with posting deleted
|
||||||
|
|
@ -80,7 +82,8 @@
|
||||||
* Execute update
|
* Execute update
|
||||||
* @return Object
|
* @return Object
|
||||||
*/
|
*/
|
||||||
function moduleUpdate() {
|
function moduleUpdate()
|
||||||
|
{
|
||||||
$oDB = &DB::getInstance();
|
$oDB = &DB::getInstance();
|
||||||
$oModuleModel = &getModel('module');
|
$oModuleModel = &getModel('module');
|
||||||
$oModuleController = &getController('module');
|
$oModuleController = &getController('module');
|
||||||
|
|
@ -91,19 +94,22 @@
|
||||||
if(!$oModuleModel->getTrigger('module.deleteModule', 'comment', 'controller', 'triggerDeleteModuleComments', 'after'))
|
if(!$oModuleModel->getTrigger('module.deleteModule', 'comment', 'controller', 'triggerDeleteModuleComments', 'after'))
|
||||||
$oModuleController->insertTrigger('module.deleteModule', 'comment', 'controller', 'triggerDeleteModuleComments', 'after');
|
$oModuleController->insertTrigger('module.deleteModule', 'comment', 'controller', 'triggerDeleteModuleComments', 'after');
|
||||||
// 2007. 10. 23 add a column for recommendation votes or notification of the comments
|
// 2007. 10. 23 add a column for recommendation votes or notification of the comments
|
||||||
if(!$oDB->isColumnExists("comments","voted_count")) {
|
if(!$oDB->isColumnExists("comments","voted_count"))
|
||||||
|
{
|
||||||
$oDB->addColumn("comments","voted_count", "number","11");
|
$oDB->addColumn("comments","voted_count", "number","11");
|
||||||
$oDB->addIndex("comments","idx_voted_count", array("voted_count"));
|
$oDB->addIndex("comments","idx_voted_count", array("voted_count"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$oDB->isColumnExists("comments","notify_message")) {
|
if(!$oDB->isColumnExists("comments","notify_message"))
|
||||||
|
{
|
||||||
$oDB->addColumn("comments","notify_message", "char","1");
|
$oDB->addColumn("comments","notify_message", "char","1");
|
||||||
}
|
}
|
||||||
// 2008. 02. 22 add comment setting when a new module added
|
// 2008. 02. 22 add comment setting when a new module added
|
||||||
if(!$oModuleModel->getTrigger('module.dispAdditionSetup', 'comment', 'view', 'triggerDispCommentAdditionSetup', 'before'))
|
if(!$oModuleModel->getTrigger('module.dispAdditionSetup', 'comment', 'view', 'triggerDispCommentAdditionSetup', 'before'))
|
||||||
$oModuleController->insertTrigger('module.dispAdditionSetup', 'comment', 'view', 'triggerDispCommentAdditionSetup', 'before');
|
$oModuleController->insertTrigger('module.dispAdditionSetup', 'comment', 'view', 'triggerDispCommentAdditionSetup', 'before');
|
||||||
// 2008. 05. 14 add a column for blamed count
|
// 2008. 05. 14 add a column for blamed count
|
||||||
if(!$oDB->isColumnExists("comments", "blamed_count")) {
|
if(!$oDB->isColumnExists("comments", "blamed_count"))
|
||||||
|
{
|
||||||
$oDB->addColumn('comments', 'blamed_count', 'number', 11, 0, true);
|
$oDB->addColumn('comments', 'blamed_count', 'number', 11, 0, true);
|
||||||
$oDB->addIndex('comments', 'idx_blamed_count', array('blamed_count'));
|
$oDB->addIndex('comments', 'idx_blamed_count', array('blamed_count'));
|
||||||
}
|
}
|
||||||
|
|
@ -111,6 +117,7 @@
|
||||||
$oDB->addColumn('comment_voted_log', 'point', 'number', 11, 0, true);
|
$oDB->addColumn('comment_voted_log', 'point', 'number', 11, 0, true);
|
||||||
|
|
||||||
if(!$oDB->isIndexExists("comments", "idx_module_list_order"))
|
if(!$oDB->isIndexExists("comments", "idx_module_list_order"))
|
||||||
|
{
|
||||||
$oDB->addIndex
|
$oDB->addIndex
|
||||||
(
|
(
|
||||||
"comments",
|
"comments",
|
||||||
|
|
@ -118,12 +125,15 @@
|
||||||
array("module_srl", "list_order"),
|
array("module_srl", "list_order"),
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
//2012. 02. 24 add comment published status column and index
|
//2012. 02. 24 add comment published status column and index
|
||||||
if(!$oDB->isColumnExists("comments", "status")) {
|
if(!$oDB->isColumnExists("comments", "status"))
|
||||||
|
{
|
||||||
$oDB->addColumn("comments", "status", "number", 1, 1, true);
|
$oDB->addColumn("comments", "status", "number", 1, 1, true);
|
||||||
}
|
}
|
||||||
if(!$oDB->isIndexExists("comments", "idx_status"))
|
if(!$oDB->isIndexExists("comments", "idx_status"))
|
||||||
|
{
|
||||||
$oDB->addIndex
|
$oDB->addIndex
|
||||||
(
|
(
|
||||||
"comments",
|
"comments",
|
||||||
|
|
@ -131,6 +141,7 @@
|
||||||
array("status", "comment_srl", "module_srl", "document_srl"),
|
array("status", "comment_srl", "module_srl", "document_srl"),
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
// 2012. 08. 29 Add a trigger to copy additional setting when the module is copied
|
// 2012. 08. 29 Add a trigger to copy additional setting when the module is copied
|
||||||
if(!$oModuleModel->getTrigger('module.procModuleAdminCopyModule', 'comment', 'controller', 'triggerCopyModule', 'after'))
|
if(!$oModuleModel->getTrigger('module.procModuleAdminCopyModule', 'comment', 'controller', 'triggerCopyModule', 'after'))
|
||||||
|
|
@ -145,7 +156,9 @@
|
||||||
* Regenerate cache file
|
* Regenerate cache file
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function recompileCache() {
|
function recompileCache()
|
||||||
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
/* End of file comment.class.php */
|
||||||
|
/* Location: ./modules/comment/comment.class.php */
|
||||||
|
|
|
||||||
|
|
@ -7,19 +7,22 @@
|
||||||
* @package /modules/comment
|
* @package /modules/comment
|
||||||
* @version 0.1
|
* @version 0.1
|
||||||
*/
|
*/
|
||||||
class commentController extends comment {
|
class commentController extends comment
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Initialization
|
* Initialization
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function init() {
|
function init()
|
||||||
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Action to handle recommendation votes on comments (Up)
|
* Action to handle recommendation votes on comments (Up)
|
||||||
* @return Object
|
* @return Object
|
||||||
*/
|
*/
|
||||||
function procCommentVoteUp() {
|
function procCommentVoteUp()
|
||||||
|
{
|
||||||
if(!Context::get('is_logged')) return new Object(-1, 'msg_invalid_request');
|
if(!Context::get('is_logged')) return new Object(-1, 'msg_invalid_request');
|
||||||
|
|
||||||
$comment_srl = Context::get('target_srl');
|
$comment_srl = Context::get('target_srl');
|
||||||
|
|
@ -42,7 +45,8 @@
|
||||||
* Action to handle recommendation votes on comments (Down)
|
* Action to handle recommendation votes on comments (Down)
|
||||||
* @return Object
|
* @return Object
|
||||||
*/
|
*/
|
||||||
function procCommentVoteDown() {
|
function procCommentVoteDown()
|
||||||
|
{
|
||||||
if(!Context::get('is_logged')) return new Object(-1, 'msg_invalid_request');
|
if(!Context::get('is_logged')) return new Object(-1, 'msg_invalid_request');
|
||||||
|
|
||||||
$comment_srl = Context::get('target_srl');
|
$comment_srl = Context::get('target_srl');
|
||||||
|
|
@ -65,7 +69,8 @@
|
||||||
* Action to be called when a comment posting is reported
|
* Action to be called when a comment posting is reported
|
||||||
* @return void|Object
|
* @return void|Object
|
||||||
*/
|
*/
|
||||||
function procCommentDeclare() {
|
function procCommentDeclare()
|
||||||
|
{
|
||||||
if(!Context::get('is_logged')) return new Object(-1, 'msg_invalid_request');
|
if(!Context::get('is_logged')) return new Object(-1, 'msg_invalid_request');
|
||||||
|
|
||||||
$comment_srl = Context::get('target_srl');
|
$comment_srl = Context::get('target_srl');
|
||||||
|
|
@ -78,7 +83,8 @@
|
||||||
* Trigger to delete its comments together with document deleted
|
* Trigger to delete its comments together with document deleted
|
||||||
* @return Object
|
* @return Object
|
||||||
*/
|
*/
|
||||||
function triggerDeleteDocumentComments(&$obj) {
|
function triggerDeleteDocumentComments(&$obj)
|
||||||
|
{
|
||||||
$document_srl = $obj->document_srl;
|
$document_srl = $obj->document_srl;
|
||||||
if(!$document_srl) return new Object();
|
if(!$document_srl) return new Object();
|
||||||
|
|
||||||
|
|
@ -89,7 +95,8 @@
|
||||||
* Trigger to delete corresponding comments when deleting a module
|
* Trigger to delete corresponding comments when deleting a module
|
||||||
* @return object
|
* @return object
|
||||||
*/
|
*/
|
||||||
function triggerDeleteModuleComments(&$obj) {
|
function triggerDeleteModuleComments(&$obj)
|
||||||
|
{
|
||||||
$module_srl = $obj->module_srl;
|
$module_srl = $obj->module_srl;
|
||||||
if(!$module_srl) return new Object();
|
if(!$module_srl) return new Object();
|
||||||
|
|
||||||
|
|
@ -102,7 +109,8 @@
|
||||||
* available only in the current connection of the session value
|
* available only in the current connection of the session value
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function addGrant($comment_srl) {
|
function addGrant($comment_srl)
|
||||||
|
{
|
||||||
$_SESSION['own_comment'][$comment_srl] = true;
|
$_SESSION['own_comment'][$comment_srl] = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -136,8 +144,8 @@
|
||||||
* @param bool $manual_inserted
|
* @param bool $manual_inserted
|
||||||
* @return object
|
* @return object
|
||||||
*/
|
*/
|
||||||
function insertComment($obj, $manual_inserted = false) {
|
function insertComment($obj, $manual_inserted = false)
|
||||||
|
{
|
||||||
// check if comment's module is using comment validation and set the publish status to 0 (false)
|
// check if comment's module is using comment validation and set the publish status to 0 (false)
|
||||||
// for inserting query, otherwise default is 1 (true - means comment is published)
|
// for inserting query, otherwise default is 1 (true - means comment is published)
|
||||||
$using_validation = $this->isModuleUsingPublishValidation($obj->module_srl);
|
$using_validation = $this->isModuleUsingPublishValidation($obj->module_srl);
|
||||||
|
|
@ -183,7 +191,8 @@
|
||||||
// even for manual_inserted if password exists, md5 it.
|
// even for manual_inserted if password exists, md5 it.
|
||||||
if($obj->password) $obj->password = md5($obj->password);
|
if($obj->password) $obj->password = md5($obj->password);
|
||||||
// get the original posting
|
// get the original posting
|
||||||
if(!$manual_inserted) {
|
if(!$manual_inserted)
|
||||||
|
{
|
||||||
$oDocument = $oDocumentModel->getDocument($document_srl);
|
$oDocument = $oDocumentModel->getDocument($document_srl);
|
||||||
|
|
||||||
if($document_srl != $oDocument->document_srl) return new Object(-1,'msg_invalid_document');
|
if($document_srl != $oDocument->document_srl) return new Object(-1,'msg_invalid_document');
|
||||||
|
|
@ -191,7 +200,8 @@
|
||||||
|
|
||||||
if($obj->homepage && !preg_match('/^[a-z]+:\/\//i',$obj->homepage)) $obj->homepage = 'http://'.$obj->homepage;
|
if($obj->homepage && !preg_match('/^[a-z]+:\/\//i',$obj->homepage)) $obj->homepage = 'http://'.$obj->homepage;
|
||||||
// input the member's information if logged-in
|
// input the member's information if logged-in
|
||||||
if(Context::get('is_logged')) {
|
if(Context::get('is_logged'))
|
||||||
|
{
|
||||||
$logged_info = Context::get('logged_info');
|
$logged_info = Context::get('logged_info');
|
||||||
$obj->member_srl = $logged_info->member_srl;
|
$obj->member_srl = $logged_info->member_srl;
|
||||||
$obj->user_id = $logged_info->user_id;
|
$obj->user_id = $logged_info->user_id;
|
||||||
|
|
@ -233,11 +243,14 @@
|
||||||
$list_args->module_srl = $obj->module_srl;
|
$list_args->module_srl = $obj->module_srl;
|
||||||
$list_args->regdate = $obj->regdate;
|
$list_args->regdate = $obj->regdate;
|
||||||
// If parent comment doesn't exist, set data directly
|
// If parent comment doesn't exist, set data directly
|
||||||
if(!$obj->parent_srl) {
|
if(!$obj->parent_srl)
|
||||||
|
{
|
||||||
$list_args->head = $list_args->arrange = $obj->comment_srl;
|
$list_args->head = $list_args->arrange = $obj->comment_srl;
|
||||||
$list_args->depth = 0;
|
$list_args->depth = 0;
|
||||||
// If parent comment exists, get information of the parent comment
|
// If parent comment exists, get information of the parent comment
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
// get information of the parent comment posting
|
// get information of the parent comment posting
|
||||||
$parent_args->comment_srl = $obj->parent_srl;
|
$parent_args->comment_srl = $obj->parent_srl;
|
||||||
$parent_output = executeQuery('comment.getCommentListItem', $parent_args);
|
$parent_output = executeQuery('comment.getCommentListItem', $parent_args);
|
||||||
|
|
@ -248,20 +261,26 @@
|
||||||
$list_args->head = $parent->head;
|
$list_args->head = $parent->head;
|
||||||
$list_args->depth = $parent->depth+1;
|
$list_args->depth = $parent->depth+1;
|
||||||
// if the depth of comments is less than 2, execute insert.
|
// if the depth of comments is less than 2, execute insert.
|
||||||
if($list_args->depth<2) {
|
if($list_args->depth<2)
|
||||||
|
{
|
||||||
$list_args->arrange = $obj->comment_srl;
|
$list_args->arrange = $obj->comment_srl;
|
||||||
// if the depth of comments is greater than 2, execute update.
|
// if the depth of comments is greater than 2, execute update.
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
// get the top listed comment among those in lower depth and same head with parent's.
|
// get the top listed comment among those in lower depth and same head with parent's.
|
||||||
$p_args->head = $parent->head;
|
$p_args->head = $parent->head;
|
||||||
$p_args->arrange = $parent->arrange;
|
$p_args->arrange = $parent->arrange;
|
||||||
$p_args->depth = $parent->depth;
|
$p_args->depth = $parent->depth;
|
||||||
$output = executeQuery('comment.getCommentParentNextSibling', $p_args);
|
$output = executeQuery('comment.getCommentParentNextSibling', $p_args);
|
||||||
|
|
||||||
if($output->data->arrange) {
|
if($output->data->arrange)
|
||||||
|
{
|
||||||
$list_args->arrange = $output->data->arrange;
|
$list_args->arrange = $output->data->arrange;
|
||||||
$output = executeQuery('comment.updateCommentListArrange', $list_args);
|
$output = executeQuery('comment.updateCommentListArrange', $list_args);
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
$list_args->arrange = $obj->comment_srl;
|
$list_args->arrange = $obj->comment_srl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -272,7 +291,8 @@
|
||||||
if(!$output->toBool()) return $output;
|
if(!$output->toBool()) return $output;
|
||||||
// insert comment
|
// insert comment
|
||||||
$output = executeQuery('comment.insertComment', $obj);
|
$output = executeQuery('comment.insertComment', $obj);
|
||||||
if(!$output->toBool()) {
|
if(!$output->toBool())
|
||||||
|
{
|
||||||
$oDB->rollback();
|
$oDB->rollback();
|
||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
|
|
@ -297,7 +317,8 @@
|
||||||
// grant autority of the comment
|
// grant autority of the comment
|
||||||
$this->addGrant($obj->comment_srl);
|
$this->addGrant($obj->comment_srl);
|
||||||
// call a trigger(after)
|
// call a trigger(after)
|
||||||
if($output->toBool()) {
|
if($output->toBool())
|
||||||
|
{
|
||||||
$trigger_output = ModuleHandler::triggerCall('comment.insertComment', 'after', $obj);
|
$trigger_output = ModuleHandler::triggerCall('comment.insertComment', 'after', $obj);
|
||||||
if(!$trigger_output->toBool()) {
|
if(!$trigger_output->toBool()) {
|
||||||
$oDB->rollback();
|
$oDB->rollback();
|
||||||
|
|
@ -308,13 +329,16 @@
|
||||||
// commit
|
// commit
|
||||||
$oDB->commit();
|
$oDB->commit();
|
||||||
|
|
||||||
if(!$manual_inserted) {
|
if(!$manual_inserted)
|
||||||
|
{
|
||||||
// send a message if notify_message option in enabled in the original article
|
// send a message if notify_message option in enabled in the original article
|
||||||
$oDocument->notify(Context::getLang('comment'), $obj->content);
|
$oDocument->notify(Context::getLang('comment'), $obj->content);
|
||||||
// send a message if notify_message option in enabled in the original comment
|
// send a message if notify_message option in enabled in the original comment
|
||||||
if($obj->parent_srl) {
|
if($obj->parent_srl)
|
||||||
|
{
|
||||||
$oParent = $oCommentModel->getComment($obj->parent_srl);
|
$oParent = $oCommentModel->getComment($obj->parent_srl);
|
||||||
if ($oParent->get('member_srl') != $oDocument->get('member_srl')) {
|
if($oParent->get('member_srl') != $oDocument->get('member_srl'))
|
||||||
|
{
|
||||||
$oParent->notify(Context::getLang('comment'), $obj->content);
|
$oParent->notify(Context::getLang('comment'), $obj->content);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -322,7 +346,6 @@
|
||||||
|
|
||||||
$this->sendEmailToAdminAfterInsertComment($obj);
|
$this->sendEmailToAdminAfterInsertComment($obj);
|
||||||
|
|
||||||
|
|
||||||
$output->add('comment_srl', $obj->comment_srl);
|
$output->add('comment_srl', $obj->comment_srl);
|
||||||
//remove from cache
|
//remove from cache
|
||||||
$oCacheHandler = &CacheHandler::getInstance('object');
|
$oCacheHandler = &CacheHandler::getInstance('object');
|
||||||
|
|
@ -455,14 +478,14 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fix the comment
|
* Fix the comment
|
||||||
* @param object $obj
|
* @param object $obj
|
||||||
* @param bool $is_admin
|
* @param bool $is_admin
|
||||||
* @return object
|
* @return object
|
||||||
*/
|
*/
|
||||||
function updateComment($obj, $is_admin = false) {
|
function updateComment($obj, $is_admin = false)
|
||||||
|
{
|
||||||
$obj->__isupdate = true;
|
$obj->__isupdate = true;
|
||||||
// call a trigger (before)
|
// call a trigger (before)
|
||||||
$output = ModuleHandler::triggerCall('comment.updateComment', 'before', $obj);
|
$output = ModuleHandler::triggerCall('comment.updateComment', 'before', $obj);
|
||||||
|
|
@ -471,7 +494,8 @@
|
||||||
$oCommentModel = &getModel('comment');
|
$oCommentModel = &getModel('comment');
|
||||||
// get the original data
|
// get the original data
|
||||||
$source_obj = $oCommentModel->getComment($obj->comment_srl);
|
$source_obj = $oCommentModel->getComment($obj->comment_srl);
|
||||||
if(!$source_obj->getMemberSrl()) {
|
if(!$source_obj->getMemberSrl())
|
||||||
|
{
|
||||||
$obj->member_srl = $source_obj->get('member_srl');
|
$obj->member_srl = $source_obj->get('member_srl');
|
||||||
$obj->user_name = $source_obj->get('user_name');
|
$obj->user_name = $source_obj->get('user_name');
|
||||||
$obj->nick_name = $source_obj->get('nick_name');
|
$obj->nick_name = $source_obj->get('nick_name');
|
||||||
|
|
@ -484,9 +508,11 @@
|
||||||
if($obj->password) $obj->password = md5($obj->password);
|
if($obj->password) $obj->password = md5($obj->password);
|
||||||
if($obj->homepage && !preg_match('/^[a-z]+:\/\//i',$obj->homepage)) $obj->homepage = 'http://'.$obj->homepage;
|
if($obj->homepage && !preg_match('/^[a-z]+:\/\//i',$obj->homepage)) $obj->homepage = 'http://'.$obj->homepage;
|
||||||
// set modifier's information if logged-in and posting author and modifier are matched.
|
// set modifier's information if logged-in and posting author and modifier are matched.
|
||||||
if(Context::get('is_logged')) {
|
if(Context::get('is_logged'))
|
||||||
|
{
|
||||||
$logged_info = Context::get('logged_info');
|
$logged_info = Context::get('logged_info');
|
||||||
if($source_obj->member_srl == $logged_info->member_srl) {
|
if($source_obj->member_srl == $logged_info->member_srl)
|
||||||
|
{
|
||||||
$obj->member_srl = $logged_info->member_srl;
|
$obj->member_srl = $logged_info->member_srl;
|
||||||
$obj->user_name = $logged_info->user_name;
|
$obj->user_name = $logged_info->user_name;
|
||||||
$obj->nick_name = $logged_info->nick_name;
|
$obj->nick_name = $logged_info->nick_name;
|
||||||
|
|
@ -495,7 +521,8 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// if nick_name of the logged-in author doesn't exist
|
// if nick_name of the logged-in author doesn't exist
|
||||||
if($source_obj->get('member_srl')&& !$obj->nick_name) {
|
if($source_obj->get('member_srl')&& !$obj->nick_name)
|
||||||
|
{
|
||||||
$obj->member_srl = $source_obj->get('member_srl');
|
$obj->member_srl = $source_obj->get('member_srl');
|
||||||
$obj->user_name = $source_obj->get('user_name');
|
$obj->user_name = $source_obj->get('user_name');
|
||||||
$obj->nick_name = $source_obj->get('nick_name');
|
$obj->nick_name = $source_obj->get('nick_name');
|
||||||
|
|
@ -503,7 +530,6 @@
|
||||||
$obj->homepage = $source_obj->get('homepage');
|
$obj->homepage = $source_obj->get('homepage');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if(!$obj->content) $obj->content = $source_obj->get('content');
|
if(!$obj->content) $obj->content = $source_obj->get('content');
|
||||||
// remove XE's wn tags from contents
|
// remove XE's wn tags from contents
|
||||||
$obj->content = preg_replace('!<\!--(Before|After)(Document|Comment)\(([0-9]+),([0-9]+)\)-->!is', '', $obj->content);
|
$obj->content = preg_replace('!<\!--(Before|After)(Document|Comment)\(([0-9]+),([0-9]+)\)-->!is', '', $obj->content);
|
||||||
|
|
@ -515,14 +541,17 @@
|
||||||
$oDB->begin();
|
$oDB->begin();
|
||||||
// Update
|
// Update
|
||||||
$output = executeQuery('comment.updateComment', $obj);
|
$output = executeQuery('comment.updateComment', $obj);
|
||||||
if(!$output->toBool()) {
|
if(!$output->toBool())
|
||||||
|
{
|
||||||
$oDB->rollback();
|
$oDB->rollback();
|
||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
// call a trigger (after)
|
// call a trigger (after)
|
||||||
if($output->toBool()) {
|
if($output->toBool())
|
||||||
|
{
|
||||||
$trigger_output = ModuleHandler::triggerCall('comment.updateComment', 'after', $obj);
|
$trigger_output = ModuleHandler::triggerCall('comment.updateComment', 'after', $obj);
|
||||||
if(!$trigger_output->toBool()) {
|
if(!$trigger_output->toBool())
|
||||||
|
{
|
||||||
$oDB->rollback();
|
$oDB->rollback();
|
||||||
return $trigger_output;
|
return $trigger_output;
|
||||||
}
|
}
|
||||||
|
|
@ -549,7 +578,8 @@
|
||||||
* @param bool $isMoveToTrash
|
* @param bool $isMoveToTrash
|
||||||
* @return object
|
* @return object
|
||||||
*/
|
*/
|
||||||
function deleteComment($comment_srl, $is_admin = false, $isMoveToTrash = false) {
|
function deleteComment($comment_srl, $is_admin = false, $isMoveToTrash = false)
|
||||||
|
{
|
||||||
// create the comment model object
|
// create the comment model object
|
||||||
$oCommentModel = &getModel('comment');
|
$oCommentModel = &getModel('comment');
|
||||||
// check if comment already exists
|
// check if comment already exists
|
||||||
|
|
@ -610,7 +640,8 @@
|
||||||
// Delete
|
// Delete
|
||||||
$args->comment_srl = $comment_srl;
|
$args->comment_srl = $comment_srl;
|
||||||
$output = executeQuery('comment.deleteComment', $args);
|
$output = executeQuery('comment.deleteComment', $args);
|
||||||
if(!$output->toBool()) {
|
if(!$output->toBool())
|
||||||
|
{
|
||||||
$oDB->rollback();
|
$oDB->rollback();
|
||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
|
|
@ -622,14 +653,17 @@
|
||||||
$oDocumentController = &getController('document');
|
$oDocumentController = &getController('document');
|
||||||
// update comment count of the article posting
|
// update comment count of the article posting
|
||||||
$output = $oDocumentController->updateCommentCount($document_srl, $comment_count, null, false);
|
$output = $oDocumentController->updateCommentCount($document_srl, $comment_count, null, false);
|
||||||
if(!$output->toBool()) {
|
if(!$output->toBool())
|
||||||
|
{
|
||||||
$oDB->rollback();
|
$oDB->rollback();
|
||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
// call a trigger (after)
|
// call a trigger (after)
|
||||||
if($output->toBool()) {
|
if($output->toBool())
|
||||||
|
{
|
||||||
$trigger_output = ModuleHandler::triggerCall('comment.deleteComment', 'after', $comment);
|
$trigger_output = ModuleHandler::triggerCall('comment.deleteComment', 'after', $comment);
|
||||||
if(!$trigger_output->toBool()) {
|
if(!$trigger_output->toBool())
|
||||||
|
{
|
||||||
$oDB->rollback();
|
$oDB->rollback();
|
||||||
return $trigger_output;
|
return $trigger_output;
|
||||||
}
|
}
|
||||||
|
|
@ -671,7 +705,8 @@
|
||||||
* @param int $document_srl
|
* @param int $document_srl
|
||||||
* @return object
|
* @return object
|
||||||
*/
|
*/
|
||||||
function deleteComments($document_srl, $obj = NULL) {
|
function deleteComments($document_srl, $obj = NULL)
|
||||||
|
{
|
||||||
// create the document model object
|
// create the document model object
|
||||||
$oDocumentModel = &getModel('document');
|
$oDocumentModel = &getModel('document');
|
||||||
$oCommentModel = &getModel('comment');
|
$oCommentModel = &getModel('comment');
|
||||||
|
|
@ -690,9 +725,11 @@
|
||||||
// get a list of comments and then execute a trigger(way to reduce the processing cost for delete all)
|
// get a list of comments and then execute a trigger(way to reduce the processing cost for delete all)
|
||||||
$args->document_srl = $document_srl;
|
$args->document_srl = $document_srl;
|
||||||
$comments = executeQueryArray('comment.getAllComments',$args);
|
$comments = executeQueryArray('comment.getAllComments',$args);
|
||||||
if($comments->data) {
|
if($comments->data)
|
||||||
|
{
|
||||||
$commentSrlList = array();
|
$commentSrlList = array();
|
||||||
foreach($comments->data as $key => $comment) {
|
foreach($comments->data as $key => $comment)
|
||||||
|
{
|
||||||
array_push($commentSrlList, $comment->comment_srl);
|
array_push($commentSrlList, $comment->comment_srl);
|
||||||
// call a trigger (before)
|
// call a trigger (before)
|
||||||
$output = ModuleHandler::triggerCall('comment.deleteComment', 'before', $comment);
|
$output = ModuleHandler::triggerCall('comment.deleteComment', 'before', $comment);
|
||||||
|
|
@ -755,11 +792,15 @@
|
||||||
* @param int $point
|
* @param int $point
|
||||||
* @return Object
|
* @return Object
|
||||||
*/
|
*/
|
||||||
function updateVotedCount($comment_srl, $point = 1) {
|
function updateVotedCount($comment_srl, $point = 1)
|
||||||
if($point > 0) {
|
{
|
||||||
|
if($point > 0)
|
||||||
|
{
|
||||||
$failed_voted = 'failed_voted';
|
$failed_voted = 'failed_voted';
|
||||||
$success_message = 'success_voted';
|
$success_message = 'success_voted';
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
$failed_voted = 'failed_blamed';
|
$failed_voted = 'failed_blamed';
|
||||||
$success_message = 'success_blamed';
|
$success_message = 'success_blamed';
|
||||||
}
|
}
|
||||||
|
|
@ -770,31 +811,38 @@
|
||||||
$oCommentModel = &getModel('comment');
|
$oCommentModel = &getModel('comment');
|
||||||
$oComment = $oCommentModel->getComment($comment_srl, false, false);
|
$oComment = $oCommentModel->getComment($comment_srl, false, false);
|
||||||
// invalid vote if both ip addresses between author's and the current user are same.
|
// invalid vote if both ip addresses between author's and the current user are same.
|
||||||
if($oComment->get('ipaddress') == $_SERVER['REMOTE_ADDR']) {
|
if($oComment->get('ipaddress') == $_SERVER['REMOTE_ADDR'])
|
||||||
|
{
|
||||||
$_SESSION['voted_comment'][$comment_srl] = true;
|
$_SESSION['voted_comment'][$comment_srl] = true;
|
||||||
return new Object(-1, $failed_voted);
|
return new Object(-1, $failed_voted);
|
||||||
}
|
}
|
||||||
// if the comment author is a member
|
// if the comment author is a member
|
||||||
if($oComment->get('member_srl')) {
|
if($oComment->get('member_srl'))
|
||||||
|
{
|
||||||
// create the member model object
|
// create the member model object
|
||||||
$oMemberModel = &getModel('member');
|
$oMemberModel = &getModel('member');
|
||||||
$member_srl = $oMemberModel->getLoggedMemberSrl();
|
$member_srl = $oMemberModel->getLoggedMemberSrl();
|
||||||
// session registered if the author information matches to the current logged-in user's.
|
// session registered if the author information matches to the current logged-in user's.
|
||||||
if($member_srl && $member_srl == $oComment->get('member_srl')) {
|
if($member_srl && $member_srl == $oComment->get('member_srl'))
|
||||||
|
{
|
||||||
$_SESSION['voted_comment'][$comment_srl] = true;
|
$_SESSION['voted_comment'][$comment_srl] = true;
|
||||||
return new Object(-1, $failed_voted);
|
return new Object(-1, $failed_voted);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// If logged-in, use the member_srl. otherwise use the ipaddress.
|
// If logged-in, use the member_srl. otherwise use the ipaddress.
|
||||||
if($member_srl) {
|
if($member_srl)
|
||||||
|
{
|
||||||
$args->member_srl = $member_srl;
|
$args->member_srl = $member_srl;
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
|
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
|
||||||
}
|
}
|
||||||
$args->comment_srl = $comment_srl;
|
$args->comment_srl = $comment_srl;
|
||||||
$output = executeQuery('comment.getCommentVotedLogInfo', $args);
|
$output = executeQuery('comment.getCommentVotedLogInfo', $args);
|
||||||
// session registered if log info contains recommendation vote log.
|
// session registered if log info contains recommendation vote log.
|
||||||
if($output->data->count) {
|
if($output->data->count)
|
||||||
|
{
|
||||||
$_SESSION['voted_comment'][$comment_srl] = true;
|
$_SESSION['voted_comment'][$comment_srl] = true;
|
||||||
return new Object(-1, $failed_voted);
|
return new Object(-1, $failed_voted);
|
||||||
}
|
}
|
||||||
|
|
@ -804,10 +852,13 @@
|
||||||
$oDB->begin();
|
$oDB->begin();
|
||||||
|
|
||||||
// update the number of votes
|
// update the number of votes
|
||||||
if($point < 0) {
|
if($point < 0)
|
||||||
|
{
|
||||||
$args->blamed_count = $oComment->get('blamed_count') + $point;
|
$args->blamed_count = $oComment->get('blamed_count') + $point;
|
||||||
$output = executeQuery('comment.updateBlamedCount', $args);
|
$output = executeQuery('comment.updateBlamedCount', $args);
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
$args->voted_count = $oComment->get('voted_count') + $point;
|
$args->voted_count = $oComment->get('voted_count') + $point;
|
||||||
$output = executeQuery('comment.updateVotedCount', $args);
|
$output = executeQuery('comment.updateVotedCount', $args);
|
||||||
}
|
}
|
||||||
|
|
@ -843,7 +894,8 @@
|
||||||
* @param $comment_srl
|
* @param $comment_srl
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function declaredComment($comment_srl) {
|
function declaredComment($comment_srl)
|
||||||
|
{
|
||||||
// Fail if session information already has a reported document
|
// Fail if session information already has a reported document
|
||||||
if($_SESSION['declared_comment'][$comment_srl]) return new Object(-1, 'failed_declared');
|
if($_SESSION['declared_comment'][$comment_srl]) return new Object(-1, 'failed_declared');
|
||||||
// check if already reported
|
// check if already reported
|
||||||
|
|
@ -854,31 +906,38 @@
|
||||||
$oCommentModel = &getModel('comment');
|
$oCommentModel = &getModel('comment');
|
||||||
$oComment = $oCommentModel->getComment($comment_srl, false, false);
|
$oComment = $oCommentModel->getComment($comment_srl, false, false);
|
||||||
// failed if both ip addresses between author's and the current user are same.
|
// failed if both ip addresses between author's and the current user are same.
|
||||||
if($oComment->get('ipaddress') == $_SERVER['REMOTE_ADDR']) {
|
if($oComment->get('ipaddress') == $_SERVER['REMOTE_ADDR'])
|
||||||
|
{
|
||||||
$_SESSION['declared_comment'][$comment_srl] = true;
|
$_SESSION['declared_comment'][$comment_srl] = true;
|
||||||
return new Object(-1, 'failed_declared');
|
return new Object(-1, 'failed_declared');
|
||||||
}
|
}
|
||||||
// if the comment author is a member
|
// if the comment author is a member
|
||||||
if($oComment->get('member_srl')) {
|
if($oComment->get('member_srl'))
|
||||||
|
{
|
||||||
// create the member model object
|
// create the member model object
|
||||||
$oMemberModel = &getModel('member');
|
$oMemberModel = &getModel('member');
|
||||||
$member_srl = $oMemberModel->getLoggedMemberSrl();
|
$member_srl = $oMemberModel->getLoggedMemberSrl();
|
||||||
// session registered if the author information matches to the current logged-in user's.
|
// session registered if the author information matches to the current logged-in user's.
|
||||||
if($member_srl && $member_srl == $oComment->get('member_srl')) {
|
if($member_srl && $member_srl == $oComment->get('member_srl'))
|
||||||
|
{
|
||||||
$_SESSION['declared_comment'][$comment_srl] = true;
|
$_SESSION['declared_comment'][$comment_srl] = true;
|
||||||
return new Object(-1, 'failed_declared');
|
return new Object(-1, 'failed_declared');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// If logged-in, use the member_srl. otherwise use the ipaddress.
|
// If logged-in, use the member_srl. otherwise use the ipaddress.
|
||||||
if($member_srl) {
|
if($member_srl)
|
||||||
|
{
|
||||||
$args->member_srl = $member_srl;
|
$args->member_srl = $member_srl;
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
|
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
|
||||||
}
|
}
|
||||||
$args->comment_srl = $comment_srl;
|
$args->comment_srl = $comment_srl;
|
||||||
$log_output = executeQuery('comment.getCommentDeclaredLogInfo', $args);
|
$log_output = executeQuery('comment.getCommentDeclaredLogInfo', $args);
|
||||||
// session registered if log info contains report log.
|
// session registered if log info contains report log.
|
||||||
if($log_output->data->count) {
|
if($log_output->data->count)
|
||||||
|
{
|
||||||
$_SESSION['declared_comment'][$comment_srl] = true;
|
$_SESSION['declared_comment'][$comment_srl] = true;
|
||||||
return new Object(-1, 'failed_declared');
|
return new Object(-1, 'failed_declared');
|
||||||
}
|
}
|
||||||
|
|
@ -902,7 +961,8 @@
|
||||||
* @param strgin $target
|
* @param strgin $target
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function addCommentPopupMenu($url, $str, $icon = '', $target = 'self') {
|
function addCommentPopupMenu($url, $str, $icon = '', $target = 'self')
|
||||||
|
{
|
||||||
$comment_popup_menu_list = Context::get('comment_popup_menu_list');
|
$comment_popup_menu_list = Context::get('comment_popup_menu_list');
|
||||||
if(!is_array($comment_popup_menu_list)) $comment_popup_menu_list = array();
|
if(!is_array($comment_popup_menu_list)) $comment_popup_menu_list = array();
|
||||||
|
|
||||||
|
|
@ -919,7 +979,8 @@
|
||||||
* Save the comment extension form for each module
|
* Save the comment extension form for each module
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function procCommentInsertModuleConfig() {
|
function procCommentInsertModuleConfig()
|
||||||
|
{
|
||||||
$module_srl = Context::get('target_module_srl');
|
$module_srl = Context::get('target_module_srl');
|
||||||
if(preg_match('/^([0-9,]+)$/',$module_srl)) $module_srl = explode(',',$module_srl);
|
if(preg_match('/^([0-9,]+)$/',$module_srl)) $module_srl = explode(',',$module_srl);
|
||||||
else $module_srl = array($module_srl);
|
else $module_srl = array($module_srl);
|
||||||
|
|
@ -936,7 +997,8 @@
|
||||||
$comment_config->use_comment_validation = Context::get('use_comment_validation');
|
$comment_config->use_comment_validation = Context::get('use_comment_validation');
|
||||||
if(!$comment_config->use_comment_validation) $comment_config->use_comment_validation = 'N';
|
if(!$comment_config->use_comment_validation) $comment_config->use_comment_validation = 'N';
|
||||||
|
|
||||||
for($i=0;$i<count($module_srl);$i++) {
|
for($i=0;$i<count($module_srl);$i++)
|
||||||
|
{
|
||||||
$srl = trim($module_srl[$i]);
|
$srl = trim($module_srl[$i]);
|
||||||
if(!$srl) continue;
|
if(!$srl) continue;
|
||||||
$output = $this->setCommentModuleConfig($srl,$comment_config);
|
$output = $this->setCommentModuleConfig($srl,$comment_config);
|
||||||
|
|
@ -955,7 +1017,8 @@
|
||||||
* @param object $comment_config
|
* @param object $comment_config
|
||||||
* @return Object
|
* @return Object
|
||||||
*/
|
*/
|
||||||
function setCommentModuleConfig($srl, $comment_config){
|
function setCommentModuleConfig($srl, $comment_config)
|
||||||
|
{
|
||||||
$oModuleController = &getController('module');
|
$oModuleController = &getController('module');
|
||||||
$oModuleController->insertModulePartConfig('comment',$srl,$comment_config);
|
$oModuleController->insertModulePartConfig('comment',$srl,$comment_config);
|
||||||
return new Object();
|
return new Object();
|
||||||
|
|
@ -971,7 +1034,8 @@
|
||||||
$commentSrls = Context::get('comment_srls');
|
$commentSrls = Context::get('comment_srls');
|
||||||
if($commentSrls) $commentSrlList = explode(',', $commentSrls);
|
if($commentSrls) $commentSrlList = explode(',', $commentSrls);
|
||||||
|
|
||||||
if(count($commentSrlList) > 0) {
|
if(count($commentSrlList) > 0)
|
||||||
|
{
|
||||||
$oCommentModel = &getModel('comment');
|
$oCommentModel = &getModel('comment');
|
||||||
$commentList = $oCommentModel->getComments($commentSrlList);
|
$commentList = $oCommentModel->getComments($commentSrlList);
|
||||||
|
|
||||||
|
|
@ -1008,4 +1072,5 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
/* End of file comment.controller.php */
|
||||||
|
/* Location: ./modules/comment/comment.controller.php */
|
||||||
|
|
|
||||||
|
|
@ -7,12 +7,14 @@
|
||||||
* @package /modules/comment
|
* @package /modules/comment
|
||||||
* @version 0.1
|
* @version 0.1
|
||||||
*/
|
*/
|
||||||
class commentModel extends comment {
|
class commentModel extends comment
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Initialization
|
* Initialization
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function init() {
|
function init()
|
||||||
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -20,7 +22,8 @@
|
||||||
* Print, scrap, vote-up(recommen), vote-down(non-recommend), report features added
|
* Print, scrap, vote-up(recommen), vote-down(non-recommend), report features added
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function getCommentMenu() {
|
function getCommentMenu()
|
||||||
|
{
|
||||||
// get the post's id number and the current login information
|
// get the post's id number and the current login information
|
||||||
$comment_srl = Context::get('target_srl');
|
$comment_srl = Context::get('target_srl');
|
||||||
$mid = Context::get('cur_mid');
|
$mid = Context::get('cur_mid');
|
||||||
|
|
@ -34,8 +37,8 @@
|
||||||
|
|
||||||
$oCommentController = &getController('comment');
|
$oCommentController = &getController('comment');
|
||||||
// feature that only member can do
|
// feature that only member can do
|
||||||
if($logged_info->member_srl) {
|
if($logged_info->member_srl)
|
||||||
|
{
|
||||||
$oCommentModel = &getModel('comment');
|
$oCommentModel = &getModel('comment');
|
||||||
$columnList = array('comment_srl', 'module_srl', 'member_srl', 'ipaddress');
|
$columnList = array('comment_srl', 'module_srl', 'member_srl', 'ipaddress');
|
||||||
$oComment = $oCommentModel->getComment($comment_srl, false, $columnList);
|
$oComment = $oCommentModel->getComment($comment_srl, false, $columnList);
|
||||||
|
|
@ -44,12 +47,14 @@
|
||||||
|
|
||||||
$oModuleModel = &getModel('module');
|
$oModuleModel = &getModel('module');
|
||||||
$comment_config = $oModuleModel->getModulePartConfig('document',$module_srl);
|
$comment_config = $oModuleModel->getModulePartConfig('document',$module_srl);
|
||||||
if($comment_config->use_vote_up!='N' && $member_srl!=$logged_info->member_srl){
|
if($comment_config->use_vote_up!='N' && $member_srl!=$logged_info->member_srl)
|
||||||
|
{
|
||||||
// Add a vote-up button for positive feedback
|
// Add a vote-up button for positive feedback
|
||||||
$url = sprintf("doCallModuleAction('comment','procCommentVoteUp','%s')", $comment_srl);
|
$url = sprintf("doCallModuleAction('comment','procCommentVoteUp','%s')", $comment_srl);
|
||||||
$oCommentController->addCommentPopupMenu($url,'cmd_vote','','javascript');
|
$oCommentController->addCommentPopupMenu($url,'cmd_vote','','javascript');
|
||||||
}
|
}
|
||||||
if($comment_config->use_vote_down!='N' && $member_srl!=$logged_info->member_srl){
|
if($comment_config->use_vote_down!='N' && $member_srl!=$logged_info->member_srl)
|
||||||
|
{
|
||||||
// Add a vote-down button for negative feedback
|
// Add a vote-down button for negative feedback
|
||||||
$url = sprintf("doCallModuleAction('comment','procCommentVoteDown','%s')", $comment_srl);
|
$url = sprintf("doCallModuleAction('comment','procCommentVoteDown','%s')", $comment_srl);
|
||||||
$oCommentController->addCommentPopupMenu($url,'cmd_vote_down','','javascript');
|
$oCommentController->addCommentPopupMenu($url,'cmd_vote_down','','javascript');
|
||||||
|
|
@ -62,11 +67,13 @@
|
||||||
// call a trigger (after)
|
// call a trigger (after)
|
||||||
ModuleHandler::triggerCall('comment.getCommentMenu', 'after', $menu_list);
|
ModuleHandler::triggerCall('comment.getCommentMenu', 'after', $menu_list);
|
||||||
// find a comment by IP matching if an administrator.
|
// find a comment by IP matching if an administrator.
|
||||||
if($logged_info->is_admin == 'Y') {
|
if($logged_info->is_admin == 'Y')
|
||||||
|
{
|
||||||
$oCommentModel = &getModel('comment');
|
$oCommentModel = &getModel('comment');
|
||||||
$oComment = $oCommentModel->getComment($comment_srl);
|
$oComment = $oCommentModel->getComment($comment_srl);
|
||||||
|
|
||||||
if($oComment->isExists()) {
|
if($oComment->isExists())
|
||||||
|
{
|
||||||
// Find a post of the corresponding ip address
|
// Find a post of the corresponding ip address
|
||||||
$url = getUrl('','module','admin','act','dispCommentAdminList','search_target','ipaddress','search_keyword',$oComment->getIpAddress());
|
$url = getUrl('','module','admin','act','dispCommentAdminList','search_target','ipaddress','search_keyword',$oComment->getIpAddress());
|
||||||
$oCommentController->addCommentPopupMenu($url,'cmd_search_by_ipaddress',$icon_path,'TraceByIpaddress');
|
$oCommentController->addCommentPopupMenu($url,'cmd_search_by_ipaddress',$icon_path,'TraceByIpaddress');
|
||||||
|
|
@ -78,21 +85,22 @@
|
||||||
// Changing a language of pop-up menu
|
// Changing a language of pop-up menu
|
||||||
$menus = Context::get('comment_popup_menu_list');
|
$menus = Context::get('comment_popup_menu_list');
|
||||||
$menus_count = count($menus);
|
$menus_count = count($menus);
|
||||||
for($i=0;$i<$menus_count;$i++) {
|
for($i=0;$i<$menus_count;$i++)
|
||||||
|
{
|
||||||
$menus[$i]->str = Context::getLang($menus[$i]->str);
|
$menus[$i]->str = Context::getLang($menus[$i]->str);
|
||||||
}
|
}
|
||||||
// get a list of final organized pop-up menus
|
// get a list of final organized pop-up menus
|
||||||
$this->add('menus', $menus);
|
$this->add('menus', $menus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if you have a permission to comment_srl
|
* Check if you have a permission to comment_srl
|
||||||
* use only session information
|
* use only session information
|
||||||
* @param int $comment_srl
|
* @param int $comment_srl
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
function isGranted($comment_srl) {
|
function isGranted($comment_srl)
|
||||||
|
{
|
||||||
return $_SESSION['own_comment'][$comment_srl];
|
return $_SESSION['own_comment'][$comment_srl];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -101,7 +109,8 @@
|
||||||
* @param int $comment_srl
|
* @param int $comment_srl
|
||||||
* @return int
|
* @return int
|
||||||
*/
|
*/
|
||||||
function getChildCommentCount($comment_srl) {
|
function getChildCommentCount($comment_srl)
|
||||||
|
{
|
||||||
$args->comment_srl = $comment_srl;
|
$args->comment_srl = $comment_srl;
|
||||||
$output = executeQuery('comment.getChildCommentCount', $args);
|
$output = executeQuery('comment.getChildCommentCount', $args);
|
||||||
return (int)$output->data->count;
|
return (int)$output->data->count;
|
||||||
|
|
@ -112,7 +121,8 @@
|
||||||
* @param int $comment_srl
|
* @param int $comment_srl
|
||||||
* @return int
|
* @return int
|
||||||
*/
|
*/
|
||||||
function getChildComments($comment_srl) {
|
function getChildComments($comment_srl)
|
||||||
|
{
|
||||||
$args->comment_srl = $comment_srl;
|
$args->comment_srl = $comment_srl;
|
||||||
$output = executeQueryArray('comment.getChildComments', $args);
|
$output = executeQueryArray('comment.getChildComments', $args);
|
||||||
return $output->data;
|
return $output->data;
|
||||||
|
|
@ -125,7 +135,8 @@
|
||||||
* @param array $columnList
|
* @param array $columnList
|
||||||
* @return commentItem
|
* @return commentItem
|
||||||
*/
|
*/
|
||||||
function getComment($comment_srl=0, $is_admin = false, $columnList = array()) {
|
function getComment($comment_srl=0, $is_admin = false, $columnList = array())
|
||||||
|
{
|
||||||
$oComment = new commentItem($comment_srl, $columnList);
|
$oComment = new commentItem($comment_srl, $columnList);
|
||||||
if($is_admin) $oComment->setGrant();
|
if($is_admin) $oComment->setGrant();
|
||||||
|
|
||||||
|
|
@ -138,7 +149,8 @@
|
||||||
* @param array $columnList
|
* @param array $columnList
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
function getComments($comment_srl_list, $columnList = array()) {
|
function getComments($comment_srl_list, $columnList = array())
|
||||||
|
{
|
||||||
if(is_array($comment_srl_list)) $comment_srls = implode(',',$comment_srl_list);
|
if(is_array($comment_srl_list)) $comment_srls = implode(',',$comment_srl_list);
|
||||||
// fetch from a database
|
// fetch from a database
|
||||||
$args->comment_srls = $comment_srls;
|
$args->comment_srls = $comment_srls;
|
||||||
|
|
@ -149,7 +161,8 @@
|
||||||
if(!is_array($comment_list)) $comment_list = array($comment_list);
|
if(!is_array($comment_list)) $comment_list = array($comment_list);
|
||||||
|
|
||||||
$comment_count = count($comment_list);
|
$comment_count = count($comment_list);
|
||||||
foreach($comment_list as $key => $attribute) {
|
foreach($comment_list as $key => $attribute)
|
||||||
|
{
|
||||||
if(!$attribute->comment_srl) continue;
|
if(!$attribute->comment_srl) continue;
|
||||||
$oComment = null;
|
$oComment = null;
|
||||||
$oComment = new commentItem();
|
$oComment = new commentItem();
|
||||||
|
|
@ -166,7 +179,8 @@
|
||||||
* @param int $document_srl
|
* @param int $document_srl
|
||||||
* @return int
|
* @return int
|
||||||
*/
|
*/
|
||||||
function getCommentCount($document_srl) {
|
function getCommentCount($document_srl)
|
||||||
|
{
|
||||||
$args->document_srl = $document_srl;
|
$args->document_srl = $document_srl;
|
||||||
|
|
||||||
// get the number of comments on the document module
|
// get the number of comments on the document module
|
||||||
|
|
@ -196,7 +210,8 @@
|
||||||
* @param array $moduleSrlList
|
* @param array $moduleSrlList
|
||||||
* @return int
|
* @return int
|
||||||
*/
|
*/
|
||||||
function getCommentCountByDate($date = '', $moduleSrlList = array()) {
|
function getCommentCountByDate($date = '', $moduleSrlList = array())
|
||||||
|
{
|
||||||
if($date) $args->regDate = date('Ymd', strtotime($date));
|
if($date) $args->regDate = date('Ymd', strtotime($date));
|
||||||
if(count($moduleSrlList)>0) $args->module_srl = $moduleSrlList;
|
if(count($moduleSrlList)>0) $args->module_srl = $moduleSrlList;
|
||||||
|
|
||||||
|
|
@ -212,7 +227,8 @@
|
||||||
* @param bool $published
|
* @param bool $published
|
||||||
* @return int
|
* @return int
|
||||||
*/
|
*/
|
||||||
function getCommentAllCount($module_srl,$published=null) {
|
function getCommentAllCount($module_srl,$published=null)
|
||||||
|
{
|
||||||
$args->module_srl = $module_srl;
|
$args->module_srl = $module_srl;
|
||||||
|
|
||||||
if(is_null($published))
|
if(is_null($published))
|
||||||
|
|
@ -270,8 +286,10 @@
|
||||||
* @param array $columnList
|
* @param array $columnList
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
function getNewestCommentList($obj, $columnList = array()) {
|
function getNewestCommentList($obj, $columnList = array())
|
||||||
if($obj->mid) {
|
{
|
||||||
|
if($obj->mid)
|
||||||
|
{
|
||||||
$oModuleModel = &getModel('module');
|
$oModuleModel = &getModel('module');
|
||||||
$obj->module_srl = $oModuleModel->getModuleSrlByMid($obj->mid);
|
$obj->module_srl = $oModuleModel->getModuleSrlByMid($obj->mid);
|
||||||
unset($obj->mid);
|
unset($obj->mid);
|
||||||
|
|
@ -282,7 +300,8 @@
|
||||||
$args->list_count = $obj->list_count;
|
$args->list_count = $obj->list_count;
|
||||||
// cache controll
|
// cache controll
|
||||||
$oCacheHandler = &CacheHandler::getInstance('object');
|
$oCacheHandler = &CacheHandler::getInstance('object');
|
||||||
if($oCacheHandler->isSupport()){
|
if($oCacheHandler->isSupport())
|
||||||
|
{
|
||||||
$object_key = 'object_newest_comment_list:'.$obj->module_srl;
|
$object_key = 'object_newest_comment_list:'.$obj->module_srl;
|
||||||
$cache_key = $oCacheHandler->getGroupKey('newestCommentsList', $object_key);
|
$cache_key = $oCacheHandler->getGroupKey('newestCommentsList', $object_key);
|
||||||
$output = $oCacheHandler->get($cache_key);
|
$output = $oCacheHandler->get($cache_key);
|
||||||
|
|
@ -308,10 +327,12 @@
|
||||||
if(!$output->toBool()) return $output;
|
if(!$output->toBool()) return $output;
|
||||||
|
|
||||||
$comment_list = $output->data;
|
$comment_list = $output->data;
|
||||||
if($comment_list) {
|
if($comment_list)
|
||||||
|
{
|
||||||
if(!is_array($comment_list)) $comment_list = array($comment_list);
|
if(!is_array($comment_list)) $comment_list = array($comment_list);
|
||||||
$comment_count = count($comment_list);
|
$comment_count = count($comment_list);
|
||||||
foreach($comment_list as $key => $attribute) {
|
foreach($comment_list as $key => $attribute)
|
||||||
|
{
|
||||||
if(!$attribute->comment_srl) continue;
|
if(!$attribute->comment_srl) continue;
|
||||||
$oComment = null;
|
$oComment = null;
|
||||||
$oComment = new commentItem();
|
$oComment = new commentItem();
|
||||||
|
|
@ -332,16 +353,19 @@
|
||||||
* @param int $count
|
* @param int $count
|
||||||
* @return object
|
* @return object
|
||||||
*/
|
*/
|
||||||
function getCommentList($document_srl, $page = 0, $is_admin = false, $count = 0) {
|
function getCommentList($document_srl, $page = 0, $is_admin = false, $count = 0)
|
||||||
|
{
|
||||||
if(!isset($document_srl)) return;
|
if(!isset($document_srl)) return;
|
||||||
// cache controll
|
// cache controll
|
||||||
$oCacheHandler = &CacheHandler::getInstance('object');
|
$oCacheHandler = &CacheHandler::getInstance('object');
|
||||||
if($oCacheHandler->isSupport()){
|
if($oCacheHandler->isSupport())
|
||||||
|
{
|
||||||
$object_key = 'object:'.$document_srl.'_'.$page.'_'.($is_admin ? 'Y' : 'N') .'_' . $count;
|
$object_key = 'object:'.$document_srl.'_'.$page.'_'.($is_admin ? 'Y' : 'N') .'_' . $count;
|
||||||
$cache_key = $oCacheHandler->getGroupKey('commentList_' . $document_srl, $object_key);
|
$cache_key = $oCacheHandler->getGroupKey('commentList_' . $document_srl, $object_key);
|
||||||
$output = $oCacheHandler->get($cache_key);
|
$output = $oCacheHandler->get($cache_key);
|
||||||
}
|
}
|
||||||
if(!$output){
|
if(!$output)
|
||||||
|
{
|
||||||
// get the number of comments on the document module
|
// get the number of comments on the document module
|
||||||
$oDocumentModel = &getModel('document');
|
$oDocumentModel = &getModel('document');
|
||||||
$columnList = array('document_srl', 'module_srl', 'comment_count');
|
$columnList = array('document_srl', 'module_srl', 'comment_count');
|
||||||
|
|
@ -353,11 +377,14 @@
|
||||||
// get a list of comments
|
// get a list of comments
|
||||||
$module_srl = $oDocument->get('module_srl');
|
$module_srl = $oDocument->get('module_srl');
|
||||||
|
|
||||||
if(!$count) {
|
if(!$count)
|
||||||
|
{
|
||||||
$comment_config = $this->getCommentConfig($module_srl);
|
$comment_config = $this->getCommentConfig($module_srl);
|
||||||
$comment_count = $comment_config->comment_count;
|
$comment_count = $comment_config->comment_count;
|
||||||
if(!$comment_count) $comment_count = 50;
|
if(!$comment_count) $comment_count = 50;
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
$comment_count = $count;
|
$comment_count = $count;
|
||||||
}
|
}
|
||||||
// get a very last page if no page exists
|
// get a very last page if no page exists
|
||||||
|
|
@ -381,14 +408,14 @@
|
||||||
// return if an error occurs in the query results
|
// return if an error occurs in the query results
|
||||||
if(!$output->toBool()) return;
|
if(!$output->toBool()) return;
|
||||||
// insert data into CommentPageList table if the number of results is different from stored comments
|
// insert data into CommentPageList table if the number of results is different from stored comments
|
||||||
if(!$output->data) {
|
if(!$output->data)
|
||||||
|
{
|
||||||
$this->fixCommentList($oDocument->get('module_srl'), $document_srl);
|
$this->fixCommentList($oDocument->get('module_srl'), $document_srl);
|
||||||
$output = executeQueryArray('comment.getCommentPageList', $args);
|
$output = executeQueryArray('comment.getCommentPageList', $args);
|
||||||
if(!$output->toBool()) return;
|
if(!$output->toBool()) return;
|
||||||
}
|
}
|
||||||
//insert in cache
|
//insert in cache
|
||||||
if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key,$output);
|
if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key,$output);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $output;
|
return $output;
|
||||||
|
|
@ -401,7 +428,8 @@
|
||||||
* @param int $document_srl
|
* @param int $document_srl
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function fixCommentList($module_srl, $document_srl) {
|
function fixCommentList($module_srl, $document_srl)
|
||||||
|
{
|
||||||
// create a lock file to prevent repeated work when performing a batch job
|
// create a lock file to prevent repeated work when performing a batch job
|
||||||
$lock_file = "./files/cache/tmp/lock.".$document_srl;
|
$lock_file = "./files/cache/tmp/lock.".$document_srl;
|
||||||
if(file_exists($lock_file) && filemtime($lock_file)+60*60*10<time()) return;
|
if(file_exists($lock_file) && filemtime($lock_file)+60*60*10<time()) return;
|
||||||
|
|
@ -423,23 +451,29 @@
|
||||||
// get the log-in information for logged-in users
|
// get the log-in information for logged-in users
|
||||||
$logged_info = Context::get('logged_info');
|
$logged_info = Context::get('logged_info');
|
||||||
// generate a hierarchical structure of comments for loop
|
// generate a hierarchical structure of comments for loop
|
||||||
for($i=$comment_count-1;$i>=0;$i--) {
|
for($i=$comment_count-1;$i>=0;$i--)
|
||||||
|
{
|
||||||
$comment_srl = $source_list[$i]->comment_srl;
|
$comment_srl = $source_list[$i]->comment_srl;
|
||||||
$parent_srl = $source_list[$i]->parent_srl;
|
$parent_srl = $source_list[$i]->parent_srl;
|
||||||
if(!$comment_srl) continue;
|
if(!$comment_srl) continue;
|
||||||
// generate a list
|
// generate a list
|
||||||
$list[$comment_srl] = $source_list[$i];
|
$list[$comment_srl] = $source_list[$i];
|
||||||
|
|
||||||
if($parent_srl) {
|
if($parent_srl)
|
||||||
|
{
|
||||||
$list[$parent_srl]->child[] = &$list[$comment_srl];
|
$list[$parent_srl]->child[] = &$list[$comment_srl];
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
$root->child[] = &$list[$comment_srl];
|
$root->child[] = &$list[$comment_srl];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$this->_arrangeComment($comment_list, $root->child, 0, null);
|
$this->_arrangeComment($comment_list, $root->child, 0, null);
|
||||||
// insert values to the database
|
// insert values to the database
|
||||||
if(count($comment_list)) {
|
if(count($comment_list))
|
||||||
foreach($comment_list as $comment_srl => $item) {
|
{
|
||||||
|
foreach($comment_list as $comment_srl => $item)
|
||||||
|
{
|
||||||
$comment_args = null;
|
$comment_args = null;
|
||||||
$comment_args->comment_srl = $comment_srl;
|
$comment_args->comment_srl = $comment_srl;
|
||||||
$comment_args->document_srl = $document_srl;
|
$comment_args->document_srl = $document_srl;
|
||||||
|
|
@ -464,20 +498,24 @@
|
||||||
* @param object $parent
|
* @param object $parent
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function _arrangeComment(&$comment_list, $list, $depth, $parent = null) {
|
function _arrangeComment(&$comment_list, $list, $depth, $parent = null)
|
||||||
|
{
|
||||||
if(!count($list)) return;
|
if(!count($list)) return;
|
||||||
foreach($list as $key => $val) {
|
foreach($list as $key => $val)
|
||||||
|
{
|
||||||
if($parent) $val->head = $parent->head;
|
if($parent) $val->head = $parent->head;
|
||||||
else $val->head = $val->comment_srl;
|
else $val->head = $val->comment_srl;
|
||||||
$val->arrange = count($comment_list)+1;
|
$val->arrange = count($comment_list)+1;
|
||||||
|
|
||||||
if($val->child) {
|
if($val->child)
|
||||||
|
{
|
||||||
$val->depth = $depth;
|
$val->depth = $depth;
|
||||||
$comment_list[$val->comment_srl] = $val;
|
$comment_list[$val->comment_srl] = $val;
|
||||||
$this->_arrangeComment($comment_list,$val->child,$depth+1, $val);
|
$this->_arrangeComment($comment_list,$val->child,$depth+1, $val);
|
||||||
unset($val->child);
|
unset($val->child);
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
$val->depth = $depth;
|
$val->depth = $depth;
|
||||||
$comment_list[$val->comment_srl] = $val;
|
$comment_list[$val->comment_srl] = $val;
|
||||||
}
|
}
|
||||||
|
|
@ -490,7 +528,8 @@
|
||||||
* @param array $columnList
|
* @param array $columnList
|
||||||
* @return object
|
* @return object
|
||||||
*/
|
*/
|
||||||
function getTotalCommentList($obj, $columnList = array()) {
|
function getTotalCommentList($obj, $columnList = array())
|
||||||
|
{
|
||||||
$query_id = 'comment.getTotalCommentList';
|
$query_id = 'comment.getTotalCommentList';
|
||||||
// Variables
|
// Variables
|
||||||
$args->sort_index = 'list_order';
|
$args->sort_index = 'list_order';
|
||||||
|
|
@ -511,8 +550,10 @@
|
||||||
// Search options
|
// Search options
|
||||||
$search_target = $obj->search_target?$obj->search_target:trim(Context::get('search_target'));
|
$search_target = $obj->search_target?$obj->search_target:trim(Context::get('search_target'));
|
||||||
$search_keyword = $obj->search_keyword?$obj->search_keyword:trim(Context::get('search_keyword'));
|
$search_keyword = $obj->search_keyword?$obj->search_keyword:trim(Context::get('search_keyword'));
|
||||||
if($search_target && $search_keyword) {
|
if($search_target && $search_keyword)
|
||||||
switch($search_target) {
|
{
|
||||||
|
switch($search_target)
|
||||||
|
{
|
||||||
case 'content' :
|
case 'content' :
|
||||||
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
|
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
|
||||||
$args->s_content = $search_keyword;
|
$args->s_content = $search_keyword;
|
||||||
|
|
@ -573,7 +614,8 @@
|
||||||
$output = executeQueryArray($query_id, $args, $columnList);
|
$output = executeQueryArray($query_id, $args, $columnList);
|
||||||
// return when no result or error occurance
|
// return when no result or error occurance
|
||||||
if(!$output->toBool()||!count($output->data)) return $output;
|
if(!$output->toBool()||!count($output->data)) return $output;
|
||||||
foreach($output->data as $key => $val) {
|
foreach($output->data as $key => $val)
|
||||||
|
{
|
||||||
unset($_oComment);
|
unset($_oComment);
|
||||||
$_oComment = new CommentItem(0);
|
$_oComment = new CommentItem(0);
|
||||||
$_oComment->setAttribute($val);
|
$_oComment->setAttribute($val);
|
||||||
|
|
@ -588,7 +630,8 @@
|
||||||
* @param object $obj
|
* @param object $obj
|
||||||
* @return int
|
* @return int
|
||||||
*/
|
*/
|
||||||
function getTotalCommentCount($obj) {
|
function getTotalCommentCount($obj)
|
||||||
|
{
|
||||||
$query_id = 'comment.getTotalCommentCountByGroupStatus';
|
$query_id = 'comment.getTotalCommentCountByGroupStatus';
|
||||||
// Variables
|
// Variables
|
||||||
$args->s_module_srl = $obj->module_srl;
|
$args->s_module_srl = $obj->module_srl;
|
||||||
|
|
@ -596,8 +639,10 @@
|
||||||
// Search options
|
// Search options
|
||||||
$search_target = $obj->search_target?$obj->search_target:trim(Context::get('search_target'));
|
$search_target = $obj->search_target?$obj->search_target:trim(Context::get('search_target'));
|
||||||
$search_keyword = $obj->search_keyword?$obj->search_keyword:trim(Context::get('search_keyword'));
|
$search_keyword = $obj->search_keyword?$obj->search_keyword:trim(Context::get('search_keyword'));
|
||||||
if($search_target && $search_keyword) {
|
if($search_target && $search_keyword)
|
||||||
switch($search_target) {
|
{
|
||||||
|
switch($search_target)
|
||||||
|
{
|
||||||
case 'content' :
|
case 'content' :
|
||||||
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
|
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
|
||||||
$args->s_content = $search_keyword;
|
$args->s_content = $search_keyword;
|
||||||
|
|
@ -652,7 +697,8 @@
|
||||||
* @param int $module_srl
|
* @param int $module_srl
|
||||||
* @return object
|
* @return object
|
||||||
*/
|
*/
|
||||||
function getCommentConfig($module_srl) {
|
function getCommentConfig($module_srl)
|
||||||
|
{
|
||||||
$oModuleModel = &getModel('module');
|
$oModuleModel = &getModel('module');
|
||||||
$comment_config = $oModuleModel->getModulePartConfig('comment', $module_srl);
|
$comment_config = $oModuleModel->getModulePartConfig('comment', $module_srl);
|
||||||
if(!isset($comment_config->comment_count)) $comment_config->comment_count = 50;
|
if(!isset($comment_config->comment_count)) $comment_config->comment_count = 50;
|
||||||
|
|
@ -678,10 +724,13 @@
|
||||||
|
|
||||||
$oModuleModel = &getModel('module');
|
$oModuleModel = &getModel('module');
|
||||||
$comment_config = $oModuleModel->getModulePartConfig('comment',$module_srl);
|
$comment_config = $oModuleModel->getModulePartConfig('comment',$module_srl);
|
||||||
if($point == -1){
|
if($point == -1)
|
||||||
|
{
|
||||||
if($comment_config->use_vote_down!='S') return new Object(-1, 'msg_invalid_request');
|
if($comment_config->use_vote_down!='S') return new Object(-1, 'msg_invalid_request');
|
||||||
$args->below_point = 0;
|
$args->below_point = 0;
|
||||||
}else{
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
if($comment_config->use_vote_up!='S') return new Object(-1, 'msg_invalid_request');
|
if($comment_config->use_vote_up!='S') return new Object(-1, 'msg_invalid_request');
|
||||||
$args->more_point = 0;
|
$args->more_point = 0;
|
||||||
}
|
}
|
||||||
|
|
@ -691,8 +740,10 @@
|
||||||
if(!$output->toBool()) return $output;
|
if(!$output->toBool()) return $output;
|
||||||
|
|
||||||
$oMemberModel = &getModel('member');
|
$oMemberModel = &getModel('member');
|
||||||
if($output->data){
|
if($output->data)
|
||||||
foreach($output->data as $k => $d){
|
{
|
||||||
|
foreach($output->data as $k => $d)
|
||||||
|
{
|
||||||
$profile_image = $oMemberModel->getProfileImage($d->member_srl);
|
$profile_image = $oMemberModel->getProfileImage($d->member_srl);
|
||||||
$output->data[$k]->src = $profile_image->src;
|
$output->data[$k]->src = $profile_image->src;
|
||||||
}
|
}
|
||||||
|
|
@ -713,4 +764,5 @@
|
||||||
else return $lang->secret_name_list;
|
else return $lang->secret_name_list;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
/* End of file comment.model.php */
|
||||||
|
/* Location: ./modules/comment/comment.model.php */
|
||||||
|
|
|
||||||
|
|
@ -7,12 +7,14 @@
|
||||||
* @package /modules/comment
|
* @package /modules/comment
|
||||||
* @version 0.1
|
* @version 0.1
|
||||||
*/
|
*/
|
||||||
class commentView extends comment {
|
class commentView extends comment
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Initialization
|
* Initialization
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function init() {
|
function init()
|
||||||
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -20,11 +22,13 @@
|
||||||
* @param string $obj
|
* @param string $obj
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
function triggerDispCommentAdditionSetup(&$obj) {
|
function triggerDispCommentAdditionSetup(&$obj)
|
||||||
|
{
|
||||||
$current_module_srl = Context::get('module_srl');
|
$current_module_srl = Context::get('module_srl');
|
||||||
$current_module_srls = Context::get('module_srls');
|
$current_module_srls = Context::get('module_srls');
|
||||||
|
|
||||||
if(!$current_module_srl && !$current_module_srls) {
|
if(!$current_module_srl && !$current_module_srls)
|
||||||
|
{
|
||||||
// get information of the selected module
|
// get information of the selected module
|
||||||
$current_module_info = Context::get('current_module_info');
|
$current_module_info = Context::get('current_module_info');
|
||||||
$current_module_srl = $current_module_info->module_srl;
|
$current_module_srl = $current_module_info->module_srl;
|
||||||
|
|
@ -46,4 +50,5 @@
|
||||||
return new Object();
|
return new Object();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
/* End of file comment.view.php */
|
||||||
|
/* Location: ./modules/comment/comment.view.php */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue