diff --git a/modules/board/board.controller.php b/modules/board/board.controller.php index 2561a0d09..9ea8f252c 100644 --- a/modules/board/board.controller.php +++ b/modules/board/board.controller.php @@ -196,8 +196,6 @@ class boardController extends board $oMail->send(); } } - - } } diff --git a/modules/ncenterlite/lang/ko.php b/modules/ncenterlite/lang/ko.php index 2338e2200..bd9525125 100644 --- a/modules/ncenterlite/lang/ko.php +++ b/modules/ncenterlite/lang/ko.php @@ -17,7 +17,6 @@ $lang->ncenterlite_about_notify_setting = '선택한 모듈에서는 알림을 $lang->ncenterlite_notify_mid_all = '관리자 알림 페이지'; $lang->ncenterlite_about_mid_all = '선택한 모듈에서는 모든 알림이 관리자에게도 전달됩니다.'; $lang->ncenterlite_admin_content = '관리자 알림'; -$lang->about_admin_content = '관리자 알림을 받을 모듈은 "모듈별 사용 설정" 페이지에서 선택할 수 있습니다.'; $lang->ncenterlite_read = '읽음 확인'; $lang->ncenterlite_read_y = '읽음'; $lang->ncenterlite_read_n = '읽지 않음'; @@ -25,6 +24,7 @@ $lang->ncenterlite_no_target = '대상 없음'; $lang->ncenterlite_my_list = '내 알림 목록'; $lang->ncenterlite_my_settings = '내 알림 설정'; $lang->ncenterlite_user_settings = '사용자 알림 설정'; +$lang->ncenterlite_notify_settings = '알림 설정'; $lang->ncenterlite_userconfig_title = '%s님의 알림센터 설정'; $lang->ncenterlite_sms_message_use = 'SMS 문자알림'; $lang->ncenterlite_userconfig_about = '알림센터의 개인의 설정을 저장하도록 합니다.'; @@ -128,3 +128,7 @@ $lang->ncenterlite_use_sms_help = '이 옵션을 사용하게 되면 회원들 $lang->member_phone_variable = '회원전화번호 변수'; $lang->member_phone_variable_about = '회원전화번호 변수를 선택합니다. 회원전화번호 변수가 1개일 경우 설치시 자동으로 설정이 저장됩니다. 이 경우 설정을 할 필요가 없어서 설정을 선택할 수 없습니다.'; $lang->fail_module_install = '모듈설치에 실패하였습니다.'; +$lang->cmd_web_notify = '웹 알림'; +$lang->cmd_mail_notify = '메일 알림'; +$lang->cmd_sms_notify = '문자 알림'; +$lang->cmd_push_notify = '푸시 알림'; diff --git a/modules/ncenterlite/ncenterlite.admin.controller.php b/modules/ncenterlite/ncenterlite.admin.controller.php index dfb533e4c..d3ee75128 100644 --- a/modules/ncenterlite/ncenterlite.admin.controller.php +++ b/modules/ncenterlite/ncenterlite.admin.controller.php @@ -38,7 +38,7 @@ class ncenterliteAdminController extends ncenterlite } } - if ($obj->disp_act == 'dispNcenterliteAdminConfig') + if ($obj->disp_act == 'dispNcenterliteAdminNotifyConfig') { if (!$obj->use) { diff --git a/modules/ncenterlite/ncenterlite.admin.view.php b/modules/ncenterlite/ncenterlite.admin.view.php index 3b9e442c8..b142a70af 100644 --- a/modules/ncenterlite/ncenterlite.admin.view.php +++ b/modules/ncenterlite/ncenterlite.admin.view.php @@ -4,7 +4,7 @@ class ncenterliteAdminView extends ncenterlite function init() { $this->setTemplatePath($this->module_path.'tpl'); - $this->setTemplateFile(lcfirst(str_replace('dispNcenterliteAdmin', '', $this->act))); + $this->setTemplateFile(strtolower(str_replace('dispNcenterliteAdmin', '', $this->act))); } function dispNcenterliteAdminConfig() diff --git a/modules/ncenterlite/ncenterlite.controller.php b/modules/ncenterlite/ncenterlite.controller.php index b7d57e179..5ec4f42c2 100644 --- a/modules/ncenterlite/ncenterlite.controller.php +++ b/modules/ncenterlite/ncenterlite.controller.php @@ -112,6 +112,7 @@ class ncenterliteController extends ncenterlite } $args = new stdClass(); + $args->config_type = 'mention'; $args->member_srl = $mention_member_srl; $args->srl = $obj->document_srl; $args->target_p_srl = $obj->document_srl; @@ -143,6 +144,7 @@ class ncenterliteController extends ncenterlite } $args = new stdClass(); + $args->config_type = 'admin_content'; $args->member_srl = $admins; $args->srl = $obj->document_srl; $args->target_p_srl = $obj->document_srl; @@ -201,6 +203,7 @@ class ncenterliteController extends ncenterlite continue; } $args = new stdClass(); + $args->config_type = 'admin_content'; $args->member_srl = $admins; $args->target_p_srl = $obj->comment_srl; $args->srl = $obj->document_srl; @@ -243,6 +246,7 @@ class ncenterliteController extends ncenterlite } $args = new stdClass(); + $args->config_type = 'mention'; $args->member_srl = $mention_member_srl; $args->target_p_srl = $obj->comment_srl; $args->srl = $obj->document_srl; @@ -283,6 +287,7 @@ class ncenterliteController extends ncenterlite if(!in_array(abs($member_srl), $notify_member_srl) && (!$logged_info || ($member_srl != 0 && abs($member_srl) != $logged_info->member_srl)) && $parent_member_config->comment_notify != 'N') { $args = new stdClass(); + $args->config_type = 'comment_comment'; $args->member_srl = abs($member_srl); $args->srl = $obj->document_srl; $args->target_p_srl = $parent_srl; @@ -319,6 +324,7 @@ class ncenterliteController extends ncenterlite if(!in_array(abs($member_srl), $notify_member_srl) && (!$logged_info || ($member_srl != 0 && abs($member_srl) != $logged_info->member_srl)) && $document_comment_member_config->comment_notify != 'N') { $args = new stdClass(); + $args->config_type = 'comment'; $args->member_srl = abs($member_srl); $args->srl = $document_srl; $args->target_p_srl = $comment_srl; @@ -361,6 +367,7 @@ class ncenterliteController extends ncenterlite if($message_member_config->message_notify != 'N') { $args = new stdClass(); + $args->config_type = 'message'; $args->member_srl = $trigger_obj->receiver_srl; $args->srl = $trigger_obj->related_srl; $args->target_p_srl = '1'; @@ -393,6 +400,7 @@ class ncenterliteController extends ncenterlite } $args = new stdClass(); + $args->config_type = 'vote'; $args->member_srl = $obj->member_srl; $args->srl = $obj->document_srl; $args->target_p_srl = '1'; @@ -1077,6 +1085,8 @@ class ncenterliteController extends ncenterlite } $this->sendSmsMessage($args); + $this->sendMailMessage($args); + debugPrint($args); if($output->toBool()) { @@ -1213,18 +1223,24 @@ class ncenterliteController extends ncenterlite function sendSmsMessage($args) { + $oNcenterliteModel = getModel('ncenterlite'); + + $config = $oNcenterliteModel->getConfig(); + if(!isset($config->use[$args->config_type]['sms'])) + { + return false; + } + $logged_info = Context::get('logged_info'); if($logged_info->member_srl == $args->member_srl) { return false; } - $config = getModel('ncenterlite')->getConfig(); - - $content = getModel('ncenterlite')->getNotificationText($args); + $content = $oNcenterliteModel->getNotificationText($args); $content = preg_replace('/<\/?(strong|)[^>]*>/', '', $content); - $sms = getModel('ncenterlite')->getSmsHandler(); + $sms = $oNcenterliteModel->getSmsHandler(); if($sms === false) { return false; @@ -1253,4 +1269,33 @@ class ncenterliteController extends ncenterlite return $output; } + + function sendMailMessage($args) + { + $oNcenterliteModel = getModel('ncenterlite'); + $config = $oNcenterliteModel->getConfig(); + if(!isset($config->use[$args->config_type]['mail'])) + { + return false; + } + + $logged_info = Context::get('logged_info'); + if($logged_info->member_srl == $args->member_srl) + { + return false; + } + $content = $oNcenterliteModel->getNotificationText($args); + $content_cut = preg_replace('/<\/?(strong|)[^>]*>/', '', $content); + $mail_title = cut_str($content_cut, 20); + + $member_config = getModel('member')->getMemberConfig(); + $member_info = getModel('member')->getMemberInfoByMemberSrl($args->member_srl); + + $oMail = new Mail(); + $oMail->setTitle($mail_title); + $oMail->setContent($content); + $oMail->setSender($member_config->webmaster_name ?: null, $member_config->webmaster_email); + $oMail->setReceiptor($member_info->email_address, $member_info->email_address); + $oMail->send(); + } } diff --git a/modules/ncenterlite/tpl/config.html b/modules/ncenterlite/tpl/config.html index 6e407137b..2f052310d 100644 --- a/modules/ncenterlite/tpl/config.html +++ b/modules/ncenterlite/tpl/config.html @@ -9,15 +9,47 @@
- +
- - - - - - -

{$lang->about_admin_content}

+ + + + +
+ +
+ + + + +
+ +
+ + + + +
+ +
+ + + + +
+ +
+ + + + +
+ +
+ + + +