mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-05 09:41:40 +09:00
- 트리거 등 반환값이 필요하지 않은 곳에서 new BaseObject()를 반환하는 것 삭제 - 모듈 설치, 업데이트 후 무의미한 new BaseObject()를 반환하는 것 삭제 - 사용자에게 에러 메시지를 돌려주는 용도로 new BaseObject(-1, '에러메시지')를 사용하는 경우는 대부분 $this->setError()로 변경함. 언어 변환과 sprintf() 처리까지 한 번에 이루어지므로 이쪽이 더 편리함.
131 lines
5.2 KiB
PHP
131 lines
5.2 KiB
PHP
<?php
|
|
/* Copyright (C) NAVER <http://www.navercorp.com> */
|
|
/**
|
|
* @class poll
|
|
* @author NAVER (developers@xpressengine.com)
|
|
* @brief The parent class of the poll module
|
|
*/
|
|
class poll extends ModuleObject
|
|
{
|
|
/**
|
|
* @brief Additional tasks required to accomplish during the installation
|
|
*/
|
|
function moduleInstall()
|
|
{
|
|
// Register in the action forward (to use in administrator mode)
|
|
$oModuleController = getController('module');
|
|
// Set the default skin
|
|
$oModuleController = getController('module');
|
|
|
|
$config = new stdClass;
|
|
$config->skin = 'default';
|
|
$config->colorset = 'normal';
|
|
$oModuleController->insertModuleConfig('poll', $config);
|
|
// 2007.10.17 When deleting posts/comments delete the poll as well
|
|
$oModuleController->insertTrigger('document.insertDocument', 'poll', 'controller', 'triggerInsertDocumentPoll', 'after');
|
|
$oModuleController->insertTrigger('comment.insertComment', 'poll', 'controller', 'triggerInsertCommentPoll', 'after');
|
|
$oModuleController->insertTrigger('document.updateDocument', 'poll', 'controller', 'triggerUpdateDocumentPoll', 'after');
|
|
$oModuleController->insertTrigger('comment.updateComment', 'poll', 'controller', 'triggerUpdateCommentPoll', 'after');
|
|
$oModuleController->insertTrigger('document.deleteDocument', 'poll', 'controller', 'triggerDeleteDocumentPoll', 'after');
|
|
$oModuleController->insertTrigger('comment.deleteComment', 'poll', 'controller', 'triggerDeleteCommentPoll', 'after');
|
|
}
|
|
|
|
/**
|
|
* @brief A method to check if the installation has been successful
|
|
*/
|
|
function checkUpdate()
|
|
{
|
|
$oModuleModel = getModel('module');
|
|
$oDB = &DB::getInstance();
|
|
|
|
// 2007.10.17 When deleting posts/comments delete the poll as well
|
|
if(!$oModuleModel->getTrigger('document.insertDocument', 'poll', 'controller', 'triggerInsertDocumentPoll', 'after')) return true;
|
|
if(!$oModuleModel->getTrigger('comment.insertComment', 'poll', 'controller', 'triggerInsertCommentPoll', 'after')) return true;
|
|
if(!$oModuleModel->getTrigger('document.updateDocument', 'poll', 'controller', 'triggerUpdateDocumentPoll', 'after')) return true;
|
|
if(!$oModuleModel->getTrigger('comment.updateComment', 'poll', 'controller', 'triggerUpdateCommentPoll', 'after')) return true;
|
|
if(!$oModuleModel->getTrigger('document.deleteDocument', 'poll', 'controller', 'triggerDeleteDocumentPoll', 'after')) return true;
|
|
if(!$oModuleModel->getTrigger('comment.deleteComment', 'poll', 'controller', 'triggerDeleteCommentPoll', 'after')) return true;
|
|
|
|
if(!$oDB->isColumnExists('poll', 'poll_type'))
|
|
{
|
|
return true;
|
|
}
|
|
|
|
if(!$oDB->isColumnExists('poll_log','poll_item'))
|
|
{
|
|
return true;
|
|
}
|
|
|
|
if(!$oDB->isColumnExists('poll_item','add_user_srl'))
|
|
{
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* @brief Execute update
|
|
*/
|
|
function moduleUpdate()
|
|
{
|
|
$oModuleModel = getModel('module');
|
|
$oModuleController = getController('module');
|
|
$oDB = &DB::getInstance();
|
|
|
|
// 2007.10.17 When deleting posts/comments delete the poll as well
|
|
if(!$oModuleModel->getTrigger('document.deleteDocument', 'poll', 'controller', 'triggerDeleteDocumentPoll', 'after'))
|
|
$oModuleController->insertTrigger('document.deleteDocument', 'poll', 'controller', 'triggerDeleteDocumentPoll', 'after');
|
|
if(!$oModuleModel->getTrigger('comment.deleteComment', 'poll', 'controller', 'triggerDeleteCommentPoll', 'after'))
|
|
$oModuleController->insertTrigger('comment.deleteComment', 'poll', 'controller', 'triggerDeleteCommentPoll', 'after');
|
|
// 2008.04.22 A poll connection to add posts/comments
|
|
if(!$oModuleModel->getTrigger('document.insertDocument', 'poll', 'controller', 'triggerInsertDocumentPoll', 'after'))
|
|
$oModuleController->insertTrigger('document.insertDocument', 'poll', 'controller', 'triggerInsertDocumentPoll', 'after');
|
|
if(!$oModuleModel->getTrigger('comment.insertComment', 'poll', 'controller', 'triggerInsertCommentPoll', 'after'))
|
|
$oModuleController->insertTrigger('comment.insertComment', 'poll', 'controller', 'triggerInsertCommentPoll', 'after');
|
|
if(!$oModuleModel->getTrigger('document.updateDocument', 'poll', 'controller', 'triggerUpdateDocumentPoll', 'after'))
|
|
$oModuleController->insertTrigger('document.updateDocument', 'poll', 'controller', 'triggerUpdateDocumentPoll', 'after');
|
|
if(!$oModuleModel->getTrigger('comment.updateComment', 'poll', 'controller', 'triggerUpdateCommentPoll', 'after'))
|
|
$oModuleController->insertTrigger('comment.updateComment', 'poll', 'controller', 'triggerUpdateCommentPoll', 'after');
|
|
|
|
if(!$oDB->isColumnExists('poll','poll_type'))
|
|
{
|
|
$oDB->addColumn('poll', 'poll_type', 'number', 11, 0);
|
|
}
|
|
|
|
if(!$oDB->isColumnExists('poll_log','poll_item'))
|
|
{
|
|
$oDB->addColumn('poll_log', 'poll_item', 'varchar', 250, 0);
|
|
}
|
|
|
|
if(!$oDB->isColumnExists('poll_item','add_user_srl'))
|
|
{
|
|
$oDB->addColumn('poll_item', 'add_user_srl', 'number', 11, 0);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @brief Re-generate the cache file
|
|
*/
|
|
function recompileCache()
|
|
{
|
|
}
|
|
|
|
/**
|
|
* @brief Check if this poll could display member information
|
|
*/
|
|
function checkMemberInfo($type)
|
|
{
|
|
return ($type==1 || $type==3);
|
|
}
|
|
|
|
/**
|
|
* @brief Check if the items of this poll could be added by members.
|
|
*/
|
|
function isAbletoAddItem($type)
|
|
{
|
|
return ($type==2 || $type==3);
|
|
}
|
|
}
|
|
/* End of file poll.class.php */
|
|
/* Location: ./modules/poll/poll.class.php */
|