rhymix/modules/comment/comment.class.php
Kijin Sung 1c786d8cd5 Remove module update scripts from XE 1.7 and before
XE 1.7 이하 버전에서 테이블 스키마 조정, 인덱스 추가, 임시파일 처리 등을 위해
만들어 놓은 업데이트 스크립트를 대부분 제거하여 처리 효율을 향상시킵니다.

이 중 대부분은 XE 개발 초창기(1.2 이전) 스키마 변경이 빈번하던 시절에
하위호환성을 위해 추가된 것으로, 이미 10년 이상 불필요한 상태였습니다.

단, 앞으로는 XE 1.8 미만 버전에서 라이믹스로 업데이트하기 어려워질 수 있습니다.
XE 1.8 미만 버전을 사용하는 사이트에서는 먼저 XE 최신 버전으로 업데이트한 후
라이믹스를 덮어씌우는 방식으로 진행하여야 합니다.
2020-09-29 01:33:57 +09:00

176 lines
5.9 KiB
PHP

<?php
/* Copyright (C) NAVER <http://www.navercorp.com> */
/**
* comment
* comment module's high class
*
* @author NAVER (developers@xpressengine.com)
* @package /modules/comment
* @version 0.1
*/
class comment extends ModuleObject
{
/**
* Implemented if additional tasks are required when installing
* @return Object
*/
function moduleInstall()
{
$oDB = DB::getInstance();
// register the action forward (for using on the admin mode)
$oModuleController = getController('module');
$oDB->addIndex(
"comments", "idx_module_list_order", array("module_srl", "list_order"), TRUE
);
// 2007. 10. 17 add a trigger to delete comments together with posting deleted
$oModuleController->insertTrigger('document.deleteDocument', 'comment', 'controller', 'triggerDeleteDocumentComments', 'after');
// 2007. 10. 17 add a trigger to delete all of comments together with module deleted
$oModuleController->insertTrigger('module.deleteModule', 'comment', 'controller', 'triggerDeleteModuleComments', 'after');
// 2008. 02. 22 add comment setting when a new module added
$oModuleController->insertTrigger('module.dispAdditionSetup', 'comment', 'view', 'triggerDispCommentAdditionSetup', 'before');
}
/**
* Method to check if installation is succeeded
* @return bool
*/
function checkUpdate()
{
$oDB = DB::getInstance();
// 2007. 10. 17 add a trigger to delete comments together with posting deleted
if(!ModuleModel::getTrigger('document.deleteDocument', 'comment', 'controller', 'triggerDeleteDocumentComments', 'after'))
{
return TRUE;
}
// 2007. 10. 17 add a trigger to delete all of comments together with module deleted
if(!ModuleModel::getTrigger('module.deleteModule', 'comment', 'controller', 'triggerDeleteModuleComments', 'after'))
{
return TRUE;
}
// 2008. 02. 22 add comment setting when a new module added
if(!ModuleModel::getTrigger('module.dispAdditionSetup', 'comment', 'view', 'triggerDispCommentAdditionSetup', 'before'))
{
return TRUE;
}
if(!$oDB->isIndexExists("comments", "idx_module_list_order"))
{
return TRUE;
}
// 2012. 08. 29 Add a trigger to copy additional setting when the module is copied
if(!ModuleModel::getTrigger('module.procModuleAdminCopyModule', 'comment', 'controller', 'triggerCopyModule', 'after'))
{
return TRUE;
}
// 2016. 1. 29: Add a column(declare_message) for report
if(!$oDB->isColumnExists("comment_declared_log","declare_message"))
{
return true;
}
if(!$oDB->isIndexExists("comments", "idx_parent_srl"))
{
return true;
}
// 2017.12.21 Add an index for nick_name
if(!$oDB->isIndexExists('comments', 'idx_nick_name'))
{
return true;
}
// 2018.01.24 Improve mass file deletion
if(!ModuleModel::getTrigger('document.moveDocumentModule', 'comment', 'controller', 'triggerMoveDocument', 'after'))
{
return true;
}
if(!ModuleModel::getTrigger('document.copyDocumentModule', 'comment', 'controller', 'triggerAddCopyDocument', 'add'))
{
return true;
}
return false;
}
/**
* Execute update
* @return Object
*/
function moduleUpdate()
{
$oDB = DB::getInstance();
$oModuleController = getController('module');
// 2007. 10. 17 add a trigger to delete comments together with posting deleted
if(!ModuleModel::getTrigger('document.deleteDocument', 'comment', 'controller', 'triggerDeleteDocumentComments', 'after'))
{
$oModuleController->insertTrigger('document.deleteDocument', 'comment', 'controller', 'triggerDeleteDocumentComments', 'after');
}
// 2007. 10. 17 add a trigger to delete all of comments together with module deleted
if(!ModuleModel::getTrigger('module.deleteModule', 'comment', 'controller', 'triggerDeleteModuleComments', 'after'))
{
$oModuleController->insertTrigger('module.deleteModule', 'comment', 'controller', 'triggerDeleteModuleComments', 'after');
}
// 2008. 02. 22 add comment setting when a new module added
if(!ModuleModel::getTrigger('module.dispAdditionSetup', 'comment', 'view', 'triggerDispCommentAdditionSetup', 'before'))
{
$oModuleController->insertTrigger('module.dispAdditionSetup', 'comment', 'view', 'triggerDispCommentAdditionSetup', 'before');
}
if(!$oDB->isIndexExists("comments", "idx_module_list_order"))
{
$oDB->addIndex("comments", "idx_module_list_order", array("module_srl", "list_order"), TRUE);
}
// 2012. 08. 29 Add a trigger to copy additional setting when the module is copied
if(!ModuleModel::getTrigger('module.procModuleAdminCopyModule', 'comment', 'controller', 'triggerCopyModule', 'after'))
{
$oModuleController->insertTrigger('module.procModuleAdminCopyModule', 'comment', 'controller', 'triggerCopyModule', 'after');
}
// 2016. 1. 29: Add a column(declare_message) for report
if(!$oDB->isColumnExists("comment_declared_log","declare_message"))
{
$oDB->addColumn('comment_declared_log',"declare_message","text");
}
if(!$oDB->isIndexExists("comments", "idx_parent_srl"))
{
$oDB->addIndex('comments', 'idx_parent_srl', array('parent_srl'));
}
// 2017.12.21 Add an index for nick_name
if(!$oDB->isIndexExists('comments', 'idx_nick_name'))
{
$oDB->addIndex('comments', 'idx_nick_name', array('nick_name'));
}
// 2018.01.24 Improve mass file deletion
if(!ModuleModel::getTrigger('document.moveDocumentModule', 'comment', 'controller', 'triggerMoveDocument', 'after'))
{
$oModuleController->insertTrigger('document.moveDocumentModule', 'comment', 'controller', 'triggerMoveDocument', 'after');
}
if(!ModuleModel::getTrigger('document.copyDocumentModule', 'comment', 'controller', 'triggerAddCopyDocument', 'add'))
{
$oModuleController->insertTrigger('document.copyDocumentModule', 'comment', 'controller', 'triggerAddCopyDocument', 'add');
}
}
/**
* Regenerate cache file
* @return void
*/
function recompileCache()
{
}
}
/* End of file comment.class.php */
/* Location: ./modules/comment/comment.class.php */