mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-04-02 01:52:10 +09:00
메일 알림기능 추가 및 설정 세분화 나누고 환경설정창 직관적으로 개선.
This commit is contained in:
parent
381f6db98e
commit
62ba40fc26
6 changed files with 96 additions and 17 deletions
|
|
@ -196,8 +196,6 @@ class boardController extends board
|
|||
$oMail->send();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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 = '푸시 알림';
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ class ncenterliteAdminController extends ncenterlite
|
|||
}
|
||||
}
|
||||
|
||||
if ($obj->disp_act == 'dispNcenterliteAdminConfig')
|
||||
if ($obj->disp_act == 'dispNcenterliteAdminNotifyConfig')
|
||||
{
|
||||
if (!$obj->use)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,15 +9,47 @@
|
|||
|
||||
<section class="section">
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->ncenterlite_io}</label>
|
||||
<label class="x_control-label">{$lang->ncenterlite_mention}</label>
|
||||
<div class="x_controls">
|
||||
<label for="notify_mention" class="x_inline"><input type="checkbox" name="use[mention]" id="notify_mention" value="1" checked="checked"|cond="isset($config->use['mention'])" /> {$lang->ncenterlite_mention}</label>
|
||||
<label for="notify_comment" class="x_inline"><input type="checkbox" name="use[comment]" id="notify_comment" value="1" checked="checked"|cond="isset($config->use['comment'])" /> {$lang->ncenterlite_comment}</label>
|
||||
<label for="notify_comment_comment" class="x_inline"><input type="checkbox" name="use[comment_comment]" id="notify_comment_comment" value="1" checked="checked"|cond="isset($config->use['comment_comment'])" /> {$lang->ncenterlite_comment_comment}</label>
|
||||
<label for="notify_vote" class="x_inline"><input type="checkbox" name="use[vote]" id="notify_vote" value="1" checked="checked"|cond="isset($config->use['vote'])" /> {$lang->ncenterlite_cmd_vote}</label>
|
||||
<label for="notify_message" class="x_inline"><input type="checkbox" name="use[message]" id="notify_message" value="1" checked="checked"|cond="isset($config->use['message'])" /> {$lang->ncenterlite_type_message}</label>
|
||||
<label for="notify_admin_content" class="x_inline"><input type="checkbox" name="use[admin_content]" id="notify_admin_content" value="1" checked="checked"|cond="isset($config->use['admin_content'])" /> {$lang->ncenterlite_admin_content}</label>
|
||||
<p class="x_help-block">{$lang->about_admin_content}</p>
|
||||
<label for="mention_web" class="x_inline"><input type="checkbox" name="use[mention][web]" id="mention_web" value="1" checked="checked"|cond="isset($config->use['mention']['web'])" /> {$lang->cmd_web_notify}</label>
|
||||
<label for="mention_mail" class="x_inline"><input type="checkbox" name="use[mention][mail]" id="mention_mail" value="1" checked="checked"|cond="isset($config->use['mention']['mail'])" /> {$lang->cmd_mail_notify}</label>
|
||||
<label for="mention_sms" class="x_inline"><input type="checkbox" name="use[mention][sms]" id="mention_sms" value="1" checked="checked"|cond="isset($config->use['mention']['sms'])" /> {$lang->cmd_sms_notify}</label>
|
||||
<label for="mention_push" class="x_inline"><input type="checkbox" name="use[mention][push]" id="mention_push" value="1" checked="checked"|cond="isset($config->use['mention']['push'])" /> {$lang->cmd_push_notify}</label>
|
||||
</div>
|
||||
<label class="x_control-label">{$lang->ncenterlite_comment}</label>
|
||||
<div class="x_controls">
|
||||
<label for="comment_web" class="x_inline"><input type="checkbox" name="use[comment][web]" id="comment_web" value="1" checked="checked"|cond="isset($config->use['comment']['web'])" /> {$lang->cmd_web_notify}</label>
|
||||
<label for="comment_mail" class="x_inline"><input type="checkbox" name="use[comment][mail]" id="comment_mail" value="1" checked="checked"|cond="isset($config->use['comment']['mail'])" /> {$lang->cmd_mail_notify}</label>
|
||||
<label for="comment_sms" class="x_inline"><input type="checkbox" name="use[comment][sms]" id="comment_sms" value="1" checked="checked"|cond="isset($config->use['comment']['sms'])" /> {$lang->cmd_sms_notify}</label>
|
||||
<label for="comment_push" class="x_inline"><input type="checkbox" name="use[comment][push]" id="comment_push" value="1" checked="checked"|cond="isset($config->use['comment']['push'])" /> {$lang->cmd_push_notify}</label>
|
||||
</div>
|
||||
<label class="x_control-label">{$lang->ncenterlite_comment_comment}</label>
|
||||
<div class="x_controls">
|
||||
<label for="comment_comment_web" class="x_inline"><input type="checkbox" name="use[comment_comment][web]" id="comment_comment_web" value="1" checked="checked"|cond="isset($config->use['comment_comment']['web'])" /> {$lang->cmd_web_notify}</label>
|
||||
<label for="comment_comment_mail" class="x_inline"><input type="checkbox" name="use[comment_comment][mail]" id="comment_comment_mail" value="1" checked="checked"|cond="isset($config->use['comment_comment']['mail'])" /> {$lang->cmd_mail_notify}</label>
|
||||
<label for="comment_comment_sms" class="x_inline"><input type="checkbox" name="use[comment_comment][sms]" id="comment_comment_sms" value="1" checked="checked"|cond="isset($config->use['comment_comment']['sms'])" /> {$lang->cmd_sms_notify}</label>
|
||||
<label for="comment_comment_push" class="x_inline"><input type="checkbox" name="use[comment_comment][push]" id="comment_comment_push" value="1" checked="checked"|cond="isset($config->use['comment_comment']['push'])" /> {$lang->cmd_push_notify}</label>
|
||||
</div>
|
||||
<label class="x_control-label">{$lang->ncenterlite_cmd_vote}</label>
|
||||
<div class="x_controls">
|
||||
<label for="vote_web" class="x_inline"><input type="checkbox" name="use[vote][web]" id="vote_web" value="1" checked="checked"|cond="isset($config->use['vote']['web'])" /> {$lang->cmd_web_notify}</label>
|
||||
<label for="vote_mail" class="x_inline"><input type="checkbox" name="use[vote][mail]" id="vote_mail" value="1" checked="checked"|cond="isset($config->use['vote']['mail'])" /> {$lang->cmd_mail_notify}</label>
|
||||
<label for="vote_sms" class="x_inline"><input type="checkbox" name="use[vote][sms]" id="vote_sms" value="1" checked="checked"|cond="isset($config->use['vote']['sms'])" /> {$lang->cmd_sms_notify}</label>
|
||||
<label for="vote_push" class="x_inline"><input type="checkbox" name="use[vote][push]" id="vote_push" value="1" checked="checked"|cond="isset($config->use['vote']['push'])" /> {$lang->cmd_push_notify}</label>
|
||||
</div>
|
||||
<label class="x_control-label">{$lang->ncenterlite_message_noti}</label>
|
||||
<div class="x_controls">
|
||||
<label for="message_web" class="x_inline"><input type="checkbox" name="use[message][web]" id="message_web" value="1" checked="checked"|cond="isset($config->use['message']['web'])" /> {$lang->cmd_web_notify}</label>
|
||||
<label for="message_mail" class="x_inline"><input type="checkbox" name="use[message][mail]" id="message_mail" value="1" checked="checked"|cond="isset($config->use['message']['mail'])" /> {$lang->cmd_mail_notify}</label>
|
||||
<label for="message_sms" class="x_inline"><input type="checkbox" name="use[message][sms]" id="message_sms" value="1" checked="checked"|cond="isset($config->use['message']['sms'])" /> {$lang->cmd_sms_notify}</label>
|
||||
<label for="message_push" class="x_inline"><input type="checkbox" name="use[message][push]" id="message_push" value="1" checked="checked"|cond="isset($config->use['message']['push'])" /> {$lang->cmd_push_notify}</label>
|
||||
</div>
|
||||
<label class="x_control-label">{$lang->ncenterlite_admin_content}</label>
|
||||
<div class="x_controls">
|
||||
<label for="admin_content_web" class="x_inline"><input type="checkbox" name="use[admin_content][web]" id="admin_content_web" value="1" checked="checked"|cond="isset($config->use['admin_content']['web'])" /> {$lang->cmd_web_notify}</label>
|
||||
<label for="admin_content_mail" class="x_inline"><input type="checkbox" name="use[admin_content][mail]" id="admin_content_mail" value="1" checked="checked"|cond="isset($config->use['admin_content']['mail'])" /> {$lang->cmd_mail_notify}</label>
|
||||
<label for="admin_content_sms" class="x_inline"><input type="checkbox" name="use[admin_content][sms]" id="admin_content_sms" value="1" checked="checked"|cond="isset($config->use['admin_content']['sms'])" /> {$lang->cmd_sms_notify}</label>
|
||||
<label for="admin_content_push" class="x_inline"><input type="checkbox" name="use[admin_content][push]" id="admin_content_push" value="1" checked="checked"|cond="isset($config->use['admin_content']['push'])" /> {$lang->cmd_push_notify}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue