댓글 작성자 알림 설정페이지 만들고 모듈별로 선택하여 사용

This commit is contained in:
BJRambo 2019-03-22 12:08:17 +09:00
parent d0ba49b233
commit f0b1f785c1
9 changed files with 76 additions and 10 deletions

View file

@ -19,6 +19,7 @@
<action name="dispNcenterliteAdminTest" type="view" menu_name="ncenterlite" />
<action name="dispNcenterliteAdminList" type="view" menu_name="ncenterlite" />
<action name="dispNcenterliteAdminCustomList" type="view" menu_name="ncenterlite" />
<action name="dispNcenterliteAdminOtherComment" type="view" menu_name="ncenterlite" />
<action name="procNcenterliteAdminInsertConfig" type="controller" ruleset="insertConfig" />
<action name="procNcenterliteAdminInsertDummyData" type="controller" />

View file

@ -39,6 +39,9 @@ $lang->ncenterlite_activate = '사용';
$lang->ncenterlite_inactivate = '사용 안함';
$lang->ncenterlite_userconfig_about_warning = '주의! 당신은 관리자 권한으로 다른 사용자의 설정창에 접속하였습니다.';
$lang->ncenterlite_comment_all = '모든 댓글 작성자에게 알림';
$lang->ncenterlite_comment_all_setting = '댓글 작성자 알림 설정';
$lang->ncenterlite_comment_all_select_mid = '댓글 작성자 알림 사용 모듈';
$lang->ncenterlite_about_comment_all_select_mid = '댓글 작성자 알림을 사용하실 모듈을 선택하세요. 모두 선택 해제시 기능이 작동하지 않습니다.';
$lang->ncenterlite_article = '<strong>%1$s</strong>님이 <strong>"%2$s"</strong>라고 글을 남겼습니다.';
$lang->ncenterlite_board = '<strong>%1$s</strong>님이 <strong>"%2$s"</strong> 게시판에 <strong>"%3$s"</strong>라고 글을 남겼습니다.';
$lang->ncenterlite_commented = '<strong>%1$s</strong>님이 회원님의 %2$s에 <strong>"%3$s"</strong>라고 댓글을 남겼습니다.';
@ -52,7 +55,6 @@ $lang->ncenterlite_vote = '<strong>%s</strong>님이 회원님의 <strong>"%s"</
$lang->ncenterlite_vote_anonymous = '회원님의 <strong>"%s"</strong> %s이 추천되었습니다.';
$lang->ncenterlite_admin_content_message = '<strong>%1$s</strong>님이 <strong>"%2$s"</strong> 게시판에 <strong>"%3$s"</strong>라고 글을 남겼습니다.';
$lang->ncenterlite_insert_member_message = '<strong>%s</strong>님 <strong>회원가입</strong>을 환영합니다!!';
$lang->ncenterlite_insert_comment_all_message = '게시글 작성자 <strong>%s</strong>님이 <strong>"%2$s"</strong>게시글에 댓글을 남겼습니다.';
$lang->ncenterlite_content_image = '(이미지)';
$lang->ncenterlite_content_empty = '(내용 없음)';
$lang->ncenterlite_ago = '전';

View file

@ -31,6 +31,8 @@ class ncenterliteAdminController extends ncenterlite
'variable_name',
'user_notify_setting',
'anonymous_voter',
'comment_all',
'comment_all_notify_module_srls',
);
foreach($config_vars as $val)
@ -77,6 +79,19 @@ class ncenterliteAdminController extends ncenterlite
$config->admin_notify_module_srls = array();
}
}
if($obj->disp_act == 'dispNcenterliteAdminOtherComment')
{
if(!$obj->comment_all)
{
$config->comment_all = 'N';
}
if(!$obj->comment_all_notify_module_srls)
{
$config->comment_all_notify_module_srls = array();
}
}
$output = $oModuleController->insertModuleConfig('ncenterlite', $config);
if(!$output->toBool())
{

View file

@ -41,6 +41,18 @@ class ncenterliteAdminView extends ncenterlite
Context::set('mid_list', $mid_list);
Context::set('config', $config);
}
function dispNcenterliteAdminOtherComment()
{
$oModuleModel = getModel('module');
$oNcenterliteModel = getModel('ncenterlite');
$config = $oNcenterliteModel->getConfig();
$mid_list = $oModuleModel->getMidList(null, array('module_srl', 'mid', 'browser_title', 'module'));
Context::set('mid_list', $mid_list);
Context::set('config', $config);
}
function dispNcenterliteAdminSkinsetting()
{

View file

@ -175,7 +175,7 @@ class ncenterliteController extends ncenterlite
$oDocumentModel = getModel('document');
$oDocument = $oDocumentModel->getDocument($document_srl);
if(isset($config->use['comment_all']) && $obj->member_srl == $oDocument->get('member_srl') && !$obj->parent_srl)
if($config->comment_all == 'Y' && $obj->member_srl == $oDocument->get('member_srl') && !$obj->parent_srl && (is_array($config->comment_all_notify_module_srls) && in_array($module_info->module_srl, $config->comment_all_notify_module_srls)))
{
$comment_args = new stdClass();
$comment_args->member_srl = $obj->member_srl;

View file

@ -569,7 +569,7 @@ class ncenterliteModel extends ncenterlite
break;
case 'G':
$str = sprintf(lang('ncenterlite_insert_comment_all_message'), $notification->target_nick_name, $notification->target_summary);
$str = sprintf(lang('ncenterlite_commented'), $notification->target_nick_name, $type, $notification->target_summary);
break;
// Other.

View file

@ -30,13 +30,6 @@
<label for="comment_comment_sms" class="x_inline" disabled="disabled"|cond="!$sms_available"><input type="checkbox" name="use[comment_comment][sms]" id="comment_comment_sms" value="1" disabled="disabled"|cond="!$sms_available" checked="checked"|cond="isset($config->use['comment_comment']['sms'])" /> {$lang->cmd_sms_notify}</label>
<label for="comment_comment_push" class="x_inline" disabled="disabled"|cond="!$push_available"><input type="checkbox" name="use[comment_comment][push]" id="comment_comment_push" value="1" disabled="disabled"|cond="!$push_available" checked="checked"|cond="isset($config->use['comment_comment']['push'])" /> {$lang->cmd_push_notify}</label>
</div>
<label class="x_control-label">{$lang->ncenterlite_comment_all}</label>
<div class="x_controls">
<label for="comment_all_web" class="x_inline"><input type="checkbox" name="use[comment_all][web]" id="comment_all_web" value="1" checked="checked"|cond="isset($config->use['comment_all']['web'])" /> {$lang->cmd_web_notify}</label>
<label for="comment_all_mail" class="x_inline"><input type="checkbox" name="use[comment_all][mail]" id="comment_all_mail" value="1" checked="checked"|cond="isset($config->use['comment_all']['mail'])" /> {$lang->cmd_mail_notify}</label>
<label for="comment_all_sms" class="x_inline" disabled="disabled"|cond="!$sms_available"><input type="checkbox" name="use[comment_all][sms]" id="comment_all_sms" value="1" disabled="disabled"|cond="!$sms_available" checked="checked"|cond="isset($config->use['comment_all']['sms'])" /> {$lang->cmd_sms_notify}</label>
<label for="comment_all_push" class="x_inline" disabled="disabled"|cond="!$push_available"><input type="checkbox" name="use[comment_all][push]" id="comment_all_push" value="1" disabled="disabled"|cond="!$push_available" checked="checked"|cond="isset($config->use['comment_all']['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>

View file

@ -6,6 +6,7 @@
<ul class="x_nav x_nav-tabs">
<li class="x_active"|cond="$act=='dispNcenterliteAdminConfig'"><a href="{getUrl('act','dispNcenterliteAdminConfig')}">{$lang->ncenterlite_basic_settings}</a></li>
<li class="x_active"|cond="$act=='dispNcenterliteAdminAdvancedconfig'"><a href="{getUrl('act', 'dispNcenterliteAdminAdvancedconfig')}">{$lang->ncenterlite_advenced_config}</a></li>
<li class="x_active"|cond="$act=='dispNcenterliteAdminOtherComment'"><a href="{getUrl('act','dispNcenterliteAdminOtherComment')}">{$lang->ncenterlite_comment_all_setting}</a></li>
<li class="x_active"|cond="$act=='dispNcenterliteAdminSeletedmid'"><a href="{getUrl('act','dispNcenterliteAdminSeletedmid')}">{$lang->ncenterlite_mid_use}</a></li>
<li class="x_active"|cond="$act=='dispNcenterliteAdminSkinsetting'"><a href="{getUrl('act','dispNcenterliteAdminSkinsetting')}">{$lang->ncenterlite_skin_settings}</a></li>
<li class="x_active"|cond="$act=='dispNcenterliteAdminTest'"><a href="{getUrl('act','dispNcenterliteAdminTest')}">{$lang->ncenterlite_test}</a></li>

View file

@ -0,0 +1,42 @@
<load target="js/ncenter_admin.js" />
<load target="css/ncenter_admin.css" />
<include target="header.html" />
<form ruleset="insertConfig" action="./" method="post" class="x_form-horizontal" id="fo_ncenterlite">
<input type="hidden" name="module" value="ncenterlite" />
<input type="hidden" name="disp_act" value="dispNcenterliteAdminOtherComment" />
<input type="hidden" name="act" value="procNcenterliteAdminInsertConfig" />
<section class="section">
<div class="x_control-group">
<label class="x_control-label">{$lang->ncenterlite_comment_all}</label>
<div class="x_controls">
<label class="x_inline">
<input type="radio" id="comment_all_y" name="comment_all" value="Y" checked="checked"|cond="$config->comment_all == 'Y'" /> {$lang->use}
</label>
<label class="x_inline">
<input type="radio" id="comment_all_n" name="comment_all" value="N" checked="checked"|cond="$config->comment_all != 'Y'" /> {$lang->notuse}
</label>
<p class="x_help-block">{$lang->ncenterlite_use_help}</p>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->ncenterlite_comment_all_select_mid}</label>
<div class="x_controls">
<p class="x_help-block">{$lang->ncenterlite_about_comment_all_select_mid}</p>
<div loop="$mid_list => $mid, $item">
<label>
<input type="checkbox" value="{$item->module_srl}" name="comment_all_notify_module_srls[]" checked="checked"|cond="is_array($config->comment_all_notify_module_srls) && in_array($item->module_srl, $config->comment_all_notify_module_srls)" />
<strong>{$item->browser_title}</strong> ({$item->mid} / {strtoupper($item->module)})
</label>
</div>
</div>
</div>
</section>
<div class="x_clearfix btnArea">
<div class="x_pull-right">
<button class="x_btn x_btn-primary" type="submit">{$lang->cmd_registration}</button>
</div>
</div>
</form>