Merge pull request #453 from bjrambo/pr/ncenterlite-fixed-error

알림센터 전반적인 에러 및 개선 작업을 합니다.
This commit is contained in:
BJRambo 2016-04-22 22:52:21 +09:00
commit 1cb94980c6
11 changed files with 110 additions and 97 deletions

View file

@ -7,6 +7,7 @@
<action name="dispNcenterliteAdminSeletedmid" type="view" />
<action name="dispNcenterliteAdminTest" type="view" />
<action name="dispNcenterliteAdminSkinsetting" type="view" />
<action name="dispNcenterliteAdminAdvancedconfig" type="view" />
<action name="dispNcenterliteNotifyList" type="view" />
<action name="dispNcenterliteAdminList" type="view" />
<action name="dispNcenterliteUserConfig" type="view" />

View file

@ -1,6 +1,7 @@
<?php
$lang->ncenterlite = 'Notification Center Lite';
$lang->ncenterlite_install_version = 'Installed version';
$lang->ncenterlite_advenced_config = 'Advenced Setting';
$lang->ncenterlite_document = 'document';
$lang->ncenterlite_comment = 'comment';
$lang->ncenterlite_type_message = 'message';
@ -26,14 +27,15 @@ $lang->ncenterlite_activate = 'Activate';
$lang->ncenterlite_inactivate = 'Inactivate';
$lang->ncenterlite_userconfig_about_warning = 'Watch out! You are controlling other user\'s settings via this page.';
$lang->ncenterlite_article = '<strong>%1$s</strong> wrote an article as "%2$s".';
$lang->ncenterlite_board = '<strong>%1$s</strong> wrote an article as "%3$s" on the board %2$s.';
$lang->ncenterlite_board = '<strong>%1$s</strong> wrote "%3$s" on %2$s.';
$lang->ncenterlite_commented = '<strong>%1$s</strong> commented as "%3$s" on your %2$s.';
$lang->ncenterlite_commented_board = '<strong>%1$s</strong> commented as "%3$s" on the board %2$s.';
$lang->ncenterlite_mentioned = '<strong>%s</strong> mentioned you on <strong>"%s" %s</strong>.';
$lang->ncenterlite_mentioned = '<strong>%s</strong> mentioned you on <strong>"%s"board</strong> to <strong>"%s"</strong> .';
$lang->ncenterlite_message_string = 'You have <strong>%d</strong> new <strong>message(s)</strong>.';
$lang->ncenterlite_message_mention = '<strong>%1$s</strong> sent a message as <strong>"%2$s"</strong>.';
$lang->ncenterlite_test_noti = '<strong>%s</strong>! Skin test notification has been done.';
$lang->ncenterlite_vote = '<strong>%1$s</strong> marked the article "%2$s" with a recommendation.';
$lang->ncenterlite_admin_content_message = '<strong>%1$s</strong> wrote "%3$s" on %2$s.';
$lang->ncenterlite_ago = 'ago';
$lang->ncenterlite_date['0'] = 'Year';
$lang->ncenterlite_date['1'] = 'Month';

View file

@ -1,6 +1,7 @@
<?php
$lang->ncenterlite = '알림센터 Lite';
$lang->ncenterlite_install_version = '설치된 버전';
$lang->ncenterlite_advenced_config = '고급설정';
$lang->ncenterlite_document = '글';
$lang->ncenterlite_comment = '댓글';
$lang->ncenterlite_mention = '멘션';
@ -38,7 +39,7 @@ $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>라고 댓글을 남겼습니다.';
$lang->ncenterlite_commented_board = '<strong>%1$s</strong>님이 <strong>"%2$s"</strong>게시판에 <strong>"%3$s"</strong>라고 댓글을 남겼습니다.';
$lang->ncenterlite_mentioned = '<strong>%s</strong>님이 <strong>"%s" %s</strong>에서 회원님을 언급하였습니다.';
$lang->ncenterlite_mentioned = '<strong>%s</strong>님이 <strong>"%s"</strong>게시판에서 <strong>"%s" </strong>게시글을 작성하며 회원님을 언급하였습니다.';
$lang->ncenterlite_message_string = '<strong>%d</strong>개의 읽지 않은 <strong>메시지</strong>가 있습니다.';
$lang->ncenterlite_message_mention = '<strong>%s</strong>님께서 <strong>"%s"</strong>라고 메시지를 보내셨습니다.';
$lang->ncenterlite_test_noti = '<strong>%s</strong>님! 스킨 테스트 알림을 완료했습니다.';

View file

@ -14,7 +14,6 @@ class ncenterliteAdminController extends ncenterlite
'mention_names',
'mention_suffixes',
'mention_suffix_always_cut',
'document_notify',
'hide_module_srls',
'admin_notify_module_srls',
'skin',
@ -26,7 +25,6 @@ class ncenterliteAdminController extends ncenterlite
'document_read',
'layout_srl',
'mlayout_srl',
'document_notify'
);
foreach($config_vars as $val)

View file

@ -60,6 +60,14 @@ class ncenterliteAdminView extends ncenterlite
$security->encodeHTML('colorset_list..name','colorset_list..title');
}
function dispNcenterliteAdminAdvancedconfig()
{
$oNcenterliteModel = getModel('ncenterlite');
$config = $oNcenterliteModel->getConfig();
Context::set('config', $config);
}
function dispNcenterliteAdminList()
{
$oNcenterliteAdminModel = getAdminModel('ncenterlite');

View file

@ -88,48 +88,14 @@ class ncenterliteController extends ncenterlite
$logged_info = Context::get('logged_info');
$admin_list = $oNcenterliteModel->getMemberAdmins();
$admin_document_notify = false;
if(isset($config->use['admin_content']) && is_array($config->admin_notify_module_srls) && in_array($module_info->module_srl, $config->admin_notify_module_srls))
{
foreach($admin_list as $admins)
{
if($logged_info->member_srl == $admins)
{
continue;
}
$args = new stdClass();
$args->member_srl = $admins->member_srl;
$args->srl = $obj->document_srl;
$args->target_p_srl = $obj->document_srl;
$args->target_srl = $obj->document_srl;
$args->type = $this->_TYPE_DOCUMENT;
$args->target_type = $this->_TYPE_ADMIN_DOCUMENT;
$args->target_url = getNotEncodedFullUrl('', 'document_srl', $obj->document_srl);
$args->target_summary = cut_str(strip_tags($obj->title), 50);
$args->regdate = date('YmdHis');
$args->target_browser = $module_info->browser_title;
$args->notify = $this->_getNotifyId($args);
$output = $this->_insertNotify($args, $is_anonymous);
if(!$output->toBool())
{
return $output;
}
else
{
$admin_document_notify = true;
}
}
}
if(!$mention_targets || !count($mention_targets) || !isset($config->use['mention']))
{
return new Object();
}
// 맨션 알림일경우 맨션알림 시작.
if($mention_targets)
if(!empty($mention_targets))
{
if(!$mention_targets && !count($mention_targets) || !isset($config->use['mention']))
{
return new Object();
}
// !TODO 공용 메소드로 분리
foreach($mention_targets as $mention_member_srl)
{
@ -141,11 +107,6 @@ class ncenterliteController extends ncenterlite
continue;
}
if(is_array($admin_list) && in_array($mention_member_srl, $admin_list) && isset($config->use['admin_content']) && $admin_document_notify == true)
{
continue;
}
$args = new stdClass();
$args->member_srl = $mention_member_srl;
$args->srl = $obj->document_srl;
@ -168,6 +129,35 @@ class ncenterliteController extends ncenterlite
}
}
if(isset($config->use['admin_content']) && is_array($config->admin_notify_module_srls) && in_array($module_info->module_srl, $config->admin_notify_module_srls) && empty($mention_targets))
{
foreach($admin_list as $admins)
{
if($logged_info->member_srl == $admins)
{
continue;
}
$args = new stdClass();
$args->member_srl = $admins;
$args->srl = $obj->document_srl;
$args->target_p_srl = $obj->document_srl;
$args->target_srl = $obj->document_srl;
$args->type = $this->_TYPE_DOCUMENT;
$args->target_type = $this->_TYPE_ADMIN_DOCUMENT;
$args->target_url = getNotEncodedFullUrl('', 'document_srl', $obj->document_srl);
$args->target_summary = cut_str(strip_tags($obj->title), 50);
$args->regdate = date('YmdHis');
$args->target_browser = $module_info->browser_title;
$args->notify = $this->_getNotifyId($args);
$output = $this->_insertNotify($args, $is_anonymous);
if(!$output->toBool())
{
return $output;
}
}
}
return new Object();
}
@ -232,8 +222,7 @@ class ncenterliteController extends ncenterlite
if(isset($config->use['mention']))
{
$mention_targets = $this->_getMentionTarget($content);
debugPrint($mention_targets);
// !TODO 공용 메소드로 분리
foreach($mention_targets as $mention_member_srl)
{

View file

@ -28,11 +28,9 @@ class ncenterliteModel extends ncenterlite
$config->mention_suffixes = array('님', '様', 'さん', 'ちゃん');
}
unset($config->mention_format);
if(!$config->document_notify) $config->document_notify = 'direct-comment';
if(!$config->hide_module_srls) $config->hide_module_srls = array();
if(!is_array($config->hide_module_srls)) $config->hide_module_srls = explode('|@|', $config->hide_module_srls);
if(!$config->document_read) $config->document_read = 'N';
if(!$config->voted_format) $config->voted_format = 'N';
if(!$config->document_read) $config->document_read = 'Y';
if(!$config->skin) $config->skin = 'default';
if(!$config->colorset) $config->colorset = 'black';
if(!$config->zindex) $config->zindex = '9999';
@ -168,7 +166,7 @@ class ncenterliteModel extends ncenterlite
//$str = sprintf('<strong>%1$s</strong>님이 게시판 <strong>"%2$s"</strong>에 <strong>"%3$s"</strong>라고 댓글을 남겼습니다.', $target_member, $type, $v->target_summary);
break;
case 'M':
$str = sprintf($lang->ncenterlite_mentioned, $target_member, $v->target_summary, $type);
$str = sprintf($lang->ncenterlite_mentioned, $target_member, $v->target_browser, $v->target_summary);
//$str = sprintf('<strong>%s</strong>님이 <strong>"%s" %s</strong>에서 회원님을 언급하였습니다.', $target_member, $v->target_summary, $type);
break;
// 메시지. 쪽지

View file

@ -7,7 +7,6 @@
<field name="display_use" />
<field name="mention_suffixes" />
<field name="mention_names" />
<field name="document_notify" />
<field name="skin" />
<field name="colorset" />
<field name="zindex" />

View file

@ -0,0 +1,56 @@
<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="dispNcenterliteAdminAdvancedconfig" />
<input type="hidden" name="act" value="procNcenterliteAdminInsertConfig" />
<section class="section">
<div class="x_control-group">
<label class="x_control-label">{$lang->ncenterlite_mention_target}</label>
<div class="x_controls">
<label class="x_inline">
<input type="radio" id="mention_names_id" name="mention_names" value="id" checked="checked"|cond="$config->mention_names == 'id'" /> {$lang->user_id}
</label>
<label class="x_inline">
<input type="radio" id="mention_names_nick_name" name="mention_names" value="nick_name" checked="checked"|cond="$config->mention_names == 'nick_name'" /> {$lang->nick_name}
</label>
<p class="x_help-block">{$lang->ncenterlite_mention_target_about}</p>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->mention_suffixes}</label>
<div class="x_controls">
<label class="x_inline">
<input type="text" name="mention_suffixes" value="{escape(implode(', ', $config->mention_suffixes), false)}" />
</label>
<p class="x_help-block">{$lang->about_mention_suffixes}</p>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->mention_suffix_always_cut}</label>
<div class="x_controls">
<label class="x_inline">
<input type="radio" id="mention_suffix_always_cut_y" name="mention_suffix_always_cut" value="Y" checked="checked"|cond="$config->mention_suffix_always_cut == 'Y'" /> {$lang->mention_suffix_always_cut_y}
</label>
<label class="x_inline">
<input type="radio" id="mention_suffix_always_cut_n" name="mention_suffix_always_cut" value="N" checked="checked"|cond="$config->mention_suffix_always_cut != 'Y'" /> {$lang->mention_suffix_always_cut_n}
</label>
<p class="x_help-block">{$lang->about_mention_suffix_always_cut}</p>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->anonymous_nick_name_setting}</label>
<div class="x_controls">
<input type="text" name="anonymous_name" value="{escape($config->anonymous_name, false)}" />
<p class="x_help-block">{$lang->about_anonymous_nick_name}</p>
</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>

View file

@ -44,39 +44,6 @@
<p class="x_help-block">{$lang->about_member_menu_view}</p>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->ncenterlite_mention_target}</label>
<div class="x_controls">
<label class="x_inline">
<input type="radio" id="mention_names_id" name="mention_names" value="id" checked="checked"|cond="$config->mention_names == 'id'" /> {$lang->user_id}
</label>
<label class="x_inline">
<input type="radio" id="mention_names_nick_name" name="mention_names" value="nick_name" checked="checked"|cond="$config->mention_names == 'nick_name'" /> {$lang->nick_name}
</label>
<p class="x_help-block">{$lang->ncenterlite_mention_target_about}</p>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->mention_suffixes}</label>
<div class="x_controls">
<label class="x_inline">
<input type="text" name="mention_suffixes" value="{escape(implode(', ', $config->mention_suffixes), false)}" />
</label>
<p class="x_help-block">{$lang->about_mention_suffixes}</p>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->mention_suffix_always_cut}</label>
<div class="x_controls">
<label class="x_inline">
<input type="radio" id="mention_suffix_always_cut_y" name="mention_suffix_always_cut" value="Y" checked="checked"|cond="$config->mention_suffix_always_cut == 'Y'" /> {$lang->mention_suffix_always_cut_y}
</label>
<label class="x_inline">
<input type="radio" id="mention_suffix_always_cut_n" name="mention_suffix_always_cut" value="N" checked="checked"|cond="$config->mention_suffix_always_cut != 'Y'" /> {$lang->mention_suffix_always_cut_n}
</label>
<p class="x_help-block">{$lang->about_mention_suffix_always_cut}</p>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->ncenterlite_document_event_read}</label>
<div class="x_controls">
@ -85,13 +52,6 @@
<p class="x_help-block">{$lang->ncenterlite_document_event_read_about}</p>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->anonymous_nick_name_setting}</label>
<div class="x_controls">
<input type="text" name="anonymous_name" value="{escape($config->anonymous_name, false)}" />
<p class="x_help-block">{$lang->about_anonymous_nick_name}</p>
</div>
</div>
</section>
<div class="x_clearfix btnArea">
<div class="x_pull-right">

View file

@ -5,6 +5,7 @@
<div class="header4">
<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=='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>