mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-04 01:01:41 +09:00
문서 및 댓글 신고시 간단한 관리자 알림 기능 #588
This commit is contained in:
parent
1a3cbb7ae0
commit
89abb2ef8e
7 changed files with 104 additions and 1 deletions
|
|
@ -1566,6 +1566,38 @@ class commentController extends comment
|
|||
|
||||
$this->add('declared_count', $declared_count + 1);
|
||||
|
||||
// Send message to admin
|
||||
$message_targets = array();
|
||||
$module_srl = $oComment->get('module_srl');
|
||||
$oModuleModel = getModel('module');
|
||||
$comment_config = $oModuleModel->getModulePartConfig('comment', $module_srl);
|
||||
if ($comment_config->declared_message && in_array('admin', $comment_config->declared_message))
|
||||
{
|
||||
$output = executeQueryArray('member.getAdmins', new stdClass);
|
||||
foreach ($output->data as $admin)
|
||||
{
|
||||
$message_targets[$admin->member_srl] = true;
|
||||
}
|
||||
}
|
||||
if ($comment_config->declared_message && in_array('manager', $comment_config->declared_message))
|
||||
{
|
||||
$output = executeQueryArray('module.getModuleAdmin', (object)['module_srl' => $module_srl]);
|
||||
foreach ($output->data as $manager)
|
||||
{
|
||||
$message_targets[$manager->member_srl] = true;
|
||||
}
|
||||
}
|
||||
if ($message_targets)
|
||||
{
|
||||
$oCommunicationController = getController('communication');
|
||||
$message_title = lang('document.declared_message_title');
|
||||
$message_content = sprintf('<p><a href="%s">%s</a></p><p>%s</p>', $oComment->getPermanentUrl(), $oComment->getContentText(50), $declare_message);
|
||||
foreach ($message_targets as $target_member_srl => $val)
|
||||
{
|
||||
$oCommunicationController->sendMessage($this->user->member_srl, $target_member_srl, $message_title, $message_content, false);
|
||||
}
|
||||
}
|
||||
|
||||
// Call a trigger (after)
|
||||
$trigger_obj->declared_count = $declared_count + 1;
|
||||
ModuleHandler::triggerCall('comment.declaredComment', 'after', $trigger_obj);
|
||||
|
|
@ -1654,6 +1686,10 @@ class commentController extends comment
|
|||
$comment_config->use_vote_down = 'Y';
|
||||
}
|
||||
|
||||
$comment_config->declared_message = Context::get('declared_message');
|
||||
if(!is_array($comment_config->declared_message)) $comment_config->declared_message = array();
|
||||
$comment_config->declared_message = array_values($comment_config->declared_message);
|
||||
|
||||
$comment_config->use_comment_validation = Context::get('use_comment_validation');
|
||||
if(!$comment_config->use_comment_validation)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -42,6 +42,13 @@
|
|||
<p class="x_help-inline">{$lang->about_comment_validation}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{lang('document.cmd_declared_message')}</label>
|
||||
<div class="x_controls">
|
||||
<label class="x_inline" for="declared_message_admin"><input type="checkbox" name="declared_message[]" id="declared_message_admin" value="admin" checked="checked"|cond="in_array('admin', $comment_config->declared_message)" /> {$lang->cmd_declared_message_admin}</label>
|
||||
<label class="x_inline" for="declared_message_manager"><input type="checkbox" name="declared_message[]" id="declared_message_manager" value="manager" checked="checked"|cond="in_array('manager', $comment_config->declared_message)" /> {$lang->cmd_declared_message_manager}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_clearfix btnArea">
|
||||
<button type="submit" class="x_btn x_btn-primary">{$lang->cmd_save}</button>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1608,6 +1608,38 @@ class documentController extends document
|
|||
}
|
||||
|
||||
$this->add('declared_count', $declared_count + 1);
|
||||
|
||||
// Send message to admin
|
||||
$message_targets = array();
|
||||
$module_srl = $oDocument->get('module_srl');
|
||||
$oModuleModel = getModel('module');
|
||||
$document_config = $oModuleModel->getModulePartConfig('document', $module_srl);
|
||||
if ($document_config->declared_message && in_array('admin', $document_config->declared_message))
|
||||
{
|
||||
$output = executeQueryArray('member.getAdmins', new stdClass);
|
||||
foreach ($output->data as $admin)
|
||||
{
|
||||
$message_targets[$admin->member_srl] = true;
|
||||
}
|
||||
}
|
||||
if ($document_config->declared_message && in_array('manager', $document_config->declared_message))
|
||||
{
|
||||
$output = executeQueryArray('module.getModuleAdmin', (object)['module_srl' => $module_srl]);
|
||||
foreach ($output->data as $manager)
|
||||
{
|
||||
$message_targets[$manager->member_srl] = true;
|
||||
}
|
||||
}
|
||||
if ($message_targets)
|
||||
{
|
||||
$oCommunicationController = getController('communication');
|
||||
$message_title = lang('document.declared_message_title');
|
||||
$message_content = sprintf('<p><a href="%s">%s</a></p><p>%s</p>', $oDocument->getPermanentUrl(), $oDocument->getTitleText(), $declare_message);
|
||||
foreach ($message_targets as $target_member_srl => $val)
|
||||
{
|
||||
$oCommunicationController->sendMessage($this->user->member_srl, $target_member_srl, $message_title, $message_content, false);
|
||||
}
|
||||
}
|
||||
|
||||
// Call a trigger (after)
|
||||
$trigger_obj->declared_count = $declared_count + 1;
|
||||
|
|
@ -2754,7 +2786,9 @@ Content;
|
|||
$document_config->use_vote_down = Context::get('use_vote_down');
|
||||
if(!$document_config->use_vote_down) $document_config->use_vote_down = 'Y';
|
||||
|
||||
$document_config->use_status = Context::get('use_status');
|
||||
$document_config->declared_message = Context::get('declared_message');
|
||||
if(!is_array($document_config->declared_message)) $document_config->declared_message = array();
|
||||
$document_config->declared_message = array_values($document_config->declared_message);
|
||||
|
||||
$oModuleController = getController('module');
|
||||
foreach ($module_srl as $srl)
|
||||
|
|
|
|||
|
|
@ -52,6 +52,9 @@ $lang->alias = 'Alias';
|
|||
$lang->history = 'History';
|
||||
$lang->about_use_history = 'You can set whether to use History which allows you to restore an updated article to the previous version.';
|
||||
$lang->trace_only = 'Trace only';
|
||||
$lang->cmd_declared_message = 'Report notification';
|
||||
$lang->cmd_declared_message_admin = 'To administrator';
|
||||
$lang->cmd_declared_message_manager = 'To module moderators';
|
||||
$lang->cmd_trash = 'Recycle Bin';
|
||||
$lang->cmd_restore = 'Restore';
|
||||
$lang->cmd_restore_all = 'Restore All';
|
||||
|
|
@ -94,6 +97,7 @@ $lang->improper_document_declare = 'Report an improper document';
|
|||
$lang->original_date = 'Original date';
|
||||
$lang->declared_count = 'Report count';
|
||||
$lang->latest_declared_date = 'Last reported date';
|
||||
$lang->declared_message_title = 'A post has been reported.';
|
||||
$lang->declaring_user = 'Reporter';
|
||||
$lang->improper_document_declare_reason = 'Reason';
|
||||
$lang->improper_document_reasons['advertisement'] = 'Advertisements that do not fit the topics or themes.';
|
||||
|
|
|
|||
|
|
@ -61,6 +61,9 @@ $lang->alias = '별칭(Alias)';
|
|||
$lang->history = '히스토리';
|
||||
$lang->about_use_history = '히스토리 기능의 사용여부를 지정합니다. 히스토리 기능을 사용할 경우, 문서 수정 후 이전 수정판으로 복원할 수 있습니다.';
|
||||
$lang->trace_only = '흔적만 남김';
|
||||
$lang->cmd_declared_message = '신고 알림 쪽지';
|
||||
$lang->cmd_declared_message_admin = '최고관리자';
|
||||
$lang->cmd_declared_message_manager = '게시판 관리자';
|
||||
$lang->cmd_trash = '휴지통';
|
||||
$lang->cmd_restore = '복원';
|
||||
$lang->cmd_restore_all = '모두 복원';
|
||||
|
|
@ -94,6 +97,7 @@ $lang->improper_document_declare = '불량 게시글 신고';
|
|||
$lang->original_date = '작성 날짜';
|
||||
$lang->declared_count = '신고 수';
|
||||
$lang->latest_declared_date = '최근 신고 날짜';
|
||||
$lang->declared_message_title = '신고가 접수되었습니다.';
|
||||
$lang->declaring_user = '신고자';
|
||||
$lang->improper_document_declare_reason = '신고 이유';
|
||||
$lang->improper_document_reasons['advertisement'] = '주제나 흐름에 맞지 않는 광고 글입니다.';
|
||||
|
|
|
|||
|
|
@ -37,6 +37,13 @@
|
|||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->cmd_declared_message}</label>
|
||||
<div class="x_controls">
|
||||
<label class="x_inline" for="declared_message_admin"><input type="checkbox" name="declared_message[]" id="declared_message_admin" value="admin" checked="checked"|cond="in_array('admin', $document_config->declared_message)" /> {$lang->cmd_declared_message_admin}</label>
|
||||
<label class="x_inline" for="declared_message_manager"><input type="checkbox" name="declared_message[]" id="declared_message_manager" value="manager" checked="checked"|cond="in_array('manager', $document_config->declared_message)" /> {$lang->cmd_declared_message_manager}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btnArea">
|
||||
<button type="submit" class="x_btn x_btn-primary">{$lang->cmd_save}</button>
|
||||
</div>
|
||||
|
|
|
|||
11
modules/member/queries/getAdmins.xml
Normal file
11
modules/member/queries/getAdmins.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<query id="getAdmins" action="select">
|
||||
<tables>
|
||||
<table name="member" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="member_srl" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="is_admin" default="Y" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
Loading…
Add table
Add a link
Reference in a new issue