From 893b08a742251c84f2d249d9021055311326820a Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Sat, 6 Sep 2025 13:31:00 +0900 Subject: [PATCH] Clarify message sending options when managing documents --- modules/document/document.controller.php | 34 ++++++++++++-------- modules/document/lang/en.php | 4 ++- modules/document/lang/ko.php | 4 ++- modules/document/tpl/checked_list.html | 41 +++++++++++++++--------- 4 files changed, 52 insertions(+), 31 deletions(-) diff --git a/modules/document/document.controller.php b/modules/document/document.controller.php index d74235425..5f390ec43 100644 --- a/modules/document/document.controller.php +++ b/modules/document/document.controller.php @@ -3402,8 +3402,12 @@ class DocumentController extends Document $obj->target_module_srl = intval(Context::get('module_srl') ?: Context::get('target_module_srl')); $obj->target_category_srl = intval(Context::get('target_category_srl')); $obj->manager_message = Context::get('message_content') ? nl2br(escape(strip_tags(Context::get('message_content')))) : ''; - $obj->send_message = $obj->manager_message || Context::get('send_default_message') == 'Y'; + $obj->send_message = Context::get('send_message') ?? 'default'; $obj->return_message = ''; + if (Context::get('send_default_message') === 'Y') + { + $obj->send_message = 'default'; + } // Check permission of target module if($obj->target_module_srl) @@ -3534,40 +3538,42 @@ class DocumentController extends Document // Send a message $actions = lang('default_message_verbs'); - if(isset($actions[$obj->type]) && $obj->send_message) + if(isset($actions[$obj->type]) && $obj->send_message !== 'none') { // Set message $title = sprintf(lang('default_message_format'), $actions[$obj->type]); - $content = <<< Content -
{$title}
-

{$obj->manager_message}

-
- -Content; - $document_item = '
  • %2$s
  • '; + $content = <<{$title} +

    {$obj->manager_message}

    +
    + + EOT; // Set recipient $recipients = array(); foreach ($obj->document_list as $document_srl => $oDocument) { - if(!($member_srl = abs($oDocument->get('member_srl'))) || $logged_info->member_srl == $member_srl) + $member_srl = abs($oDocument->get('member_srl')); + if(!$member_srl || $logged_info->member_srl == $member_srl) { continue; } - if(!isset($recipients[$member_srl])) { $recipients[$member_srl] = array(); } - - $recipients[$member_srl][] = sprintf($document_item, $oDocument->getPermanentUrl(), $oDocument->getTitleText()); + $recipients[$member_srl][] = vsprintf('
  • %2$s
  • ', [ + escape($oDocument->getPermanentUrl()), + $oDocument->getTitleText(), + ]); } // Send $oCommunicationController = CommunicationController::getInstance(); foreach ($recipients as $member_srl => $items) { - $oCommunicationController->sendMessage($this->user->member_srl, $member_srl, $title, sprintf($content, implode('', $items)), true, null, false); + $content = sprintf($content, implode('', $items)); + $oCommunicationController->sendMessage($this->user->member_srl, $member_srl, $title, $content, true, null, false); } } diff --git a/modules/document/lang/en.php b/modules/document/lang/en.php index be4e6afe2..d535400fd 100644 --- a/modules/document/lang/en.php +++ b/modules/document/lang/en.php @@ -104,7 +104,9 @@ $lang->select_module_id = 'Select a module ID.'; $lang->select_category = 'Select a category.'; $lang->category_description = 'Category Description'; $lang->no_title_document = 'No title in this document.'; -$lang->send_default_message = 'Send the default message'; +$lang->send_default_message = 'Send default message'; +$lang->send_custom_message = 'Send message with content below'; +$lang->send_no_message = 'Don\'t send message'; $lang->msg_admin_document_no_move_to_trash = 'You are not allowed to move the superadmin\'s article to the trash bin.'; $lang->default_message_format = '%1$s the document by manager.'; $lang->default_message_verbs['move'] = 'moved'; diff --git a/modules/document/lang/ko.php b/modules/document/lang/ko.php index ff141bcba..f271c30b2 100644 --- a/modules/document/lang/ko.php +++ b/modules/document/lang/ko.php @@ -96,7 +96,9 @@ $lang->select_category = '분류를 선택하세요.'; $lang->category_description = '분류 설명'; $lang->no_title_document = '제목이 없는 문서입니다.'; $lang->msg_admin_document_no_move_to_trash = '최고 관리자의 게시물을 휴지통으로 이동시킬 권한이 없습니다.'; -$lang->send_default_message = '기본 내용으로만 쪽지 보내기'; +$lang->send_default_message = '기본 내용으로 쪽지 보내기'; +$lang->send_custom_message = '아래 내용으로 쪽지 보내기'; +$lang->send_no_message = '쪽지 보내지 않음'; $lang->default_message_format = '관리자에 의해 게시물이 %1$s되었습니다.'; $lang->default_message_verbs['move'] = '다른 게시판으로 이동'; $lang->default_message_verbs['copy'] = '다른 게시판에 복사'; diff --git a/modules/document/tpl/checked_list.html b/modules/document/tpl/checked_list.html index 0e3419ae7..9cfd75554 100644 --- a/modules/document/tpl/checked_list.html +++ b/modules/document/tpl/checked_list.html @@ -41,9 +41,21 @@
    -
    - - +
    + + + +
    +
    @@ -61,20 +73,19 @@