mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-04-26 13:52:24 +09:00
Merge pull request #396 from bjrambo/pr/ncenterlite-option
알림센터에 필요한 모든 내용을 고치겠습니다.
This commit is contained in:
commit
146acae1e8
14 changed files with 463 additions and 452 deletions
|
|
@ -4,6 +4,9 @@
|
|||
<permissions />
|
||||
<actions>
|
||||
<action name="dispNcenterliteAdminConfig" type="view" admin_index="true" menu_name="ncenterlite" menu_index="true" />
|
||||
<action name="dispNcenterliteAdminSeletedmid" type="view" />
|
||||
<action name="dispNcenterliteAdminTest" type="view" />
|
||||
<action name="dispNcenterliteAdminSkinsetting" type="view" />
|
||||
<action name="dispNcenterliteNotifyList" type="view" />
|
||||
<action name="dispNcenterliteAdminList" type="view" />
|
||||
<action name="dispNcenterliteUserConfig" type="view" />
|
||||
|
|
|
|||
|
|
@ -3,10 +3,17 @@ $lang->ncenterlite = 'Rhymix 알림센터 Lite';
|
|||
$lang->ncenterlite_install_version = '설치된 알림센터 Lite 버전';
|
||||
$lang->ncenterlite_document = '글';
|
||||
$lang->ncenterlite_comment = '댓글';
|
||||
$lang->ncenterlite_mention = '맨션';
|
||||
$lang->ncenterlite_cmd_vote = '추천';
|
||||
$lang->ncenterlite_comment_comment = '대댓글';
|
||||
$lang->ncenterlite_type_message = '쪽지';
|
||||
$lang->ncenterlite_sender = '보낸 사람';
|
||||
$lang->ncenterlite_addressee = '받는 사람';
|
||||
$lang->ncenterlite_noti_contents = '내용';
|
||||
$lang->ncenterlite_notify_setting = '알림센터 사용할 페이지';
|
||||
$lang->ncenterlite_about_notify_setting = '선택한 페이지에서 알림센터를 표시하지 않습니다.';
|
||||
$lang->ncenterlite_notify_comment = '댓글 전체 알림 사용할 페이지';
|
||||
$lang->ncenterlite_about_notify_comment = '선택한 게시판에서는 댓글의 모든 알림을 관리자가 받을 수 있습니다.';
|
||||
$lang->ncenterlite_read = '읽음 확인';
|
||||
$lang->ncenterlite_read_y = '읽음';
|
||||
$lang->ncenterlite_read_n = '읽지 않음';
|
||||
|
|
@ -63,9 +70,20 @@ $lang->ncenterlite_config_environment_about = '
|
|||
<li>PHP 버전</li>
|
||||
</ul>
|
||||
';
|
||||
$lang->about_mention_preview = '
|
||||
<ul class="preview">
|
||||
<li data-mention-default="enable"><strong>@스님</strong></li>
|
||||
<li data-mention-default="enable"><strong>@선생님이다</strong></li>
|
||||
<li data-mention-default="enable"><strong>@NAME</strong> …</li>
|
||||
<li data-mention-default="enable"><strong>@NAME</strong> 님</li>
|
||||
<li><strong>@NAME</strong>님</li>
|
||||
<li><strong>@NAME</strong>님과</li>
|
||||
<li><strong>@NAME1</strong>님, <strong>@NAME2</strong>님이 …</li>
|
||||
</ul>
|
||||
<p class="x_help-block">녹색으로 표시된 예시처럼 사용할 수 있습니다.</p>
|
||||
';
|
||||
$lang->ncenterlite_config_environment_agree = '제공 동의';
|
||||
$lang->ncenterlite_config_environment_disagree = '제공 안 함';
|
||||
$lang->ncenterlite_click_to_open = '클릭하시면 기능설정을 할 수 있습니다.';
|
||||
$lang->ncenterlite_notice_list = '알림 목록';
|
||||
$lang->ncenterlite_basic_settings = '기본 기능 설정';
|
||||
$lang->ncenterlite_warning = '주의!';
|
||||
|
|
@ -101,3 +119,22 @@ $lang->ncenterlite_commnet_event_noti_all = '글쓴이에게 모든 댓글 알
|
|||
$lang->ncenterlite_commnet_event_noti_some = '대댓글은 알리지 않음';
|
||||
$lang->ncenterlite_message_event = '쪽지 알림 설정';
|
||||
$lang->ncenterlite_message_event_about = '쪽지 알림을 사용하지 않음(XE의 기본 쪽지 알림을 사용)';
|
||||
$lang->ncenterlite_mid_use = '알림센터 사용설정';
|
||||
$lang->member_menu_view = '회원정보 메뉴노출 설정';
|
||||
$lang->member_menu_on = '메뉴에 표시함';
|
||||
$lang->member_menu_off = '메뉴에 표시안함';
|
||||
$lang->about_member_menu_view = '회원정보보기에서 메뉴 목록에 회원알림센터 설정 및 회원알림목록을 접근할 수잇는 페이지를 노출하거나 노출 시키지 않을 수 있습니다.';
|
||||
$lang->ncenterlite_no_notify = '알림의 내역이 없습니다.';
|
||||
$lang->ncenterlite_all_delete = '전체 삭제';
|
||||
$lang->ncenterlite_month_before_delete = '한 달 이전의 알림 삭제';
|
||||
$lang->dont_check_notify_delete = '회원이 확인하지 않은 알림도 삭제됩니다.';
|
||||
$lang->send_member = '보낸 사람';
|
||||
$lang->resiver_member = '받는 사람';
|
||||
$lang->notify_content = '알림 내용';
|
||||
$lang->notify_read_check = '알림 읽음 여부';
|
||||
$lang->notify_readed = '읽음';
|
||||
$lang->notify_dont_readed = '읽지않음';
|
||||
$lang->anonymous_nick_name_setting = '익명의 지정 닉네임';
|
||||
$lang->about_anonymous_nick_name = '익명게시판에서 고정된 익명닉네임인 \'Anonymous\'를 사용하지 않고 표기할 이름을 지정합니다. 기본값은 \'Anonymous\'입니다.';
|
||||
$lang->mention_setting = '맨션 설정';
|
||||
$lang->mention_nim = '\'님\'을 붙여 쓸 수 있도록 허용';
|
||||
|
|
|
|||
|
|
@ -5,47 +5,69 @@ class ncenterliteAdminController extends ncenterlite
|
|||
{
|
||||
$oModuleController = getController('module');
|
||||
$obj = Context::getRequestVars();
|
||||
$config = getModel('ncenterlite')->getConfig();
|
||||
|
||||
$config = new stdClass();
|
||||
$config->use = $obj->use;
|
||||
$config->display_use = $obj->display_use;
|
||||
|
||||
$config->user_config_list = $obj->user_config_list;
|
||||
$config->mention_format = $obj->mention_format;
|
||||
$config->mention_names = $obj->mention_names;
|
||||
$config->document_notify = $obj->document_notify;
|
||||
$config->message_notify = $obj->message_notify;
|
||||
$config->hide_module_srls = $obj->hide_module_srls;
|
||||
$config->android_format = $obj->android_format;
|
||||
if(!$config->mention_format && !is_array($config->mention_format))
|
||||
$config_vars = array(
|
||||
'use',
|
||||
'display_use',
|
||||
'user_config_list',
|
||||
'mention_format',
|
||||
'mention_names',
|
||||
'document_notify',
|
||||
'hide_module_srls',
|
||||
'mention_format',
|
||||
'admin_comment_module_srls',
|
||||
'skin',
|
||||
'mskin',
|
||||
'mcolorset',
|
||||
'colorset',
|
||||
'zindex',
|
||||
'anonymous_name',
|
||||
'document_read',
|
||||
'layout_srl',
|
||||
'mlayout_srl',
|
||||
'document_notify'
|
||||
);
|
||||
if(!$obj->use && $obj->disp_act == 'dispNcenterliteAdminConfig')
|
||||
{
|
||||
$config->mention_format = array();
|
||||
$config->use = array();
|
||||
}
|
||||
$config->admin_comment_module_srls = $obj->admin_comment_module_srls;
|
||||
|
||||
$config->skin = $obj->skin;
|
||||
$config->mskin = $obj->mskin;
|
||||
$config->mcolorset = $obj->mcolorset;
|
||||
$config->colorset = $obj->colorset;
|
||||
$config->zindex = $obj->zindex;
|
||||
$config->anonymous_name = $obj->anonymous_name;
|
||||
$config->document_read = $obj->document_read;
|
||||
$config->layout_srl = $obj->layout_srl;
|
||||
$config->mlayout_srl = $obj->mlayout_srl;
|
||||
$config->voted_format = $obj->voted_format;
|
||||
|
||||
if(!$config->document_notify)
|
||||
foreach($config_vars as $val)
|
||||
{
|
||||
$config->document_notify = 'direct-comment';
|
||||
|
||||
if($obj->disp_act == 'dispNcenterliteAdminConfig' && !$obj->mention_format)
|
||||
{
|
||||
$config->mention_format = array();
|
||||
}
|
||||
if($obj->{$val})
|
||||
{
|
||||
$config->{$val} = $obj->{$val};
|
||||
}
|
||||
if($obj->{$val} == null)
|
||||
{
|
||||
$config->{$val} = null;
|
||||
}
|
||||
if($obj->disp_act == 'dispNcenterliteAdminSeletedmid' && !$obj->hide_module_srls)
|
||||
{
|
||||
$config->hide_module_srls = array();
|
||||
}
|
||||
if($obj->disp_act == 'dispNcenterliteAdminSeletedmid' && !$obj->admin_comment_module_srls)
|
||||
{
|
||||
$config->admin_comment_module_srls = array();
|
||||
}
|
||||
}
|
||||
|
||||
$output = $oModuleController->updateModuleConfig('ncenterlite', $config);
|
||||
if(!$output->toBool())
|
||||
{
|
||||
return new Object(-1, 'message');
|
||||
}
|
||||
|
||||
$this->setMessage('success_updated');
|
||||
|
||||
$oModuleController->updateModuleConfig('ncenterlite', $config);
|
||||
|
||||
if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON')))
|
||||
{
|
||||
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispNcenterliteAdminConfig');
|
||||
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', $obj->disp_act);
|
||||
header('location: ' . $returnUrl);
|
||||
return;
|
||||
}
|
||||
|
|
@ -132,21 +154,4 @@ class ncenterliteAdminController extends ncenterlite
|
|||
return;
|
||||
}
|
||||
}
|
||||
|
||||
function procNcenterliteAdminEnviromentGatheringAgreement()
|
||||
{
|
||||
$vars = Context::getRequestVars();
|
||||
$oModuleModel = getModel('module');
|
||||
$ncenterlite_module_info = $oModuleModel->getModuleInfoXml('ncenterlite');
|
||||
$agreement_file = FileHandler::getRealPath(sprintf('%s%s.txt', './files/ncenterlite/ncenterlite-', $ncenterlite_module_info->version));
|
||||
|
||||
FileHandler::writeFile($agreement_file, $vars->is_agree);
|
||||
|
||||
if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON')))
|
||||
{
|
||||
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispNcenterliteAdminConfig');
|
||||
header('location: ' . $returnUrl);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,14 +4,34 @@ class ncenterliteAdminView extends ncenterlite
|
|||
function init()
|
||||
{
|
||||
$this->setTemplatePath($this->module_path.'tpl');
|
||||
$this->setTemplateFile(str_replace('dispNcenterliteAdmin', '', $this->act));
|
||||
$this->setTemplateFile(lcfirst(str_replace('dispNcenterliteAdmin', '', $this->act)));
|
||||
}
|
||||
|
||||
function dispNcenterliteAdminConfig()
|
||||
{
|
||||
$oNcenterliteModel = getModel('ncenterlite');
|
||||
|
||||
$config = $oNcenterliteModel->getConfig();
|
||||
Context::set('config', $config);
|
||||
}
|
||||
|
||||
function dispNcenterliteAdminSeletedmid()
|
||||
{
|
||||
$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()
|
||||
{
|
||||
$oModuleModel = getModel('module');
|
||||
$oLayoutModel = getModel('layout');
|
||||
$oNcenterliteModel = getModel('ncenterlite');
|
||||
|
||||
$config = $oNcenterliteModel->getConfig();
|
||||
Context::set('config', $config);
|
||||
|
|
@ -38,38 +58,6 @@ class ncenterliteAdminView extends ncenterlite
|
|||
$security->encodeHTML('config..');
|
||||
$security->encodeHTML('skin_list..title');
|
||||
$security->encodeHTML('colorset_list..name','colorset_list..title');
|
||||
|
||||
$mid_list = $oModuleModel->getMidList(null, array('module_srl', 'mid', 'browser_title', 'module'));
|
||||
|
||||
Context::set('mid_list', $mid_list);
|
||||
|
||||
// 사용환경정보 전송 확인
|
||||
$ncenterlite_module_info = $oModuleModel->getModuleInfoXml('ncenterlite');
|
||||
$agreement_file = FileHandler::getRealPath(sprintf('%s%s.txt', './files/ncenterlite/ncenterlite-', $ncenterlite_module_info->version));
|
||||
|
||||
$agreement_ver_file = FileHandler::getRealPath(sprintf('%s%s.txt', './files/ncenterlite/ncenterlite_ver-', $ncenterlite_module_info->version));
|
||||
|
||||
if(file_exists($agreement_file))
|
||||
{
|
||||
$agreement = FileHandler::readFile($agreement_file);
|
||||
Context::set('_ncenterlite_env_agreement', $agreement);
|
||||
$agreement_ver = FileHandler::readFile($agreement_ver_file);
|
||||
if($agreement == 'Y')
|
||||
{
|
||||
$_ncenterlite_iframe_url = 'http://sosifam.com/index.php?mid=ncenterlite_iframe';
|
||||
if(!$agreement_ver)
|
||||
{
|
||||
$_host_info = urlencode($_SERVER['HTTP_HOST']) . '-NC' . $ncenterlite_module_info->version . '-PHP' . phpversion() . '-RX' . RX_VERSION;
|
||||
}
|
||||
Context::set('_ncenterlite_iframe_url', $_ncenterlite_iframe_url . '&_host='. $_host_info);
|
||||
Context::set('ncenterlite_module_info', $ncenterlite_module_info);
|
||||
}
|
||||
FileHandler::writeFile($agreement_ver_file, 'Y');
|
||||
}
|
||||
else
|
||||
{
|
||||
Context::set('_ncenterlite_env_agreement', 'NULL');
|
||||
}
|
||||
}
|
||||
|
||||
function dispNcenterliteAdminList()
|
||||
|
|
@ -87,4 +75,8 @@ class ncenterliteAdminView extends ncenterlite
|
|||
$this->setTemplateFile('ncenter_list');
|
||||
}
|
||||
|
||||
function dispNcenterliteAdminTest()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,15 +77,11 @@ class ncenterliteController extends ncenterlite
|
|||
|
||||
$oNcenterliteModel = getModel('ncenterlite');
|
||||
$config = $oNcenterliteModel->getConfig();
|
||||
if($config->use != 'Y')
|
||||
{
|
||||
return new Object();
|
||||
}
|
||||
|
||||
$content = strip_tags($obj->title . ' ' . $obj->content);
|
||||
|
||||
$mention_targets = $this->_getMentionTarget($content);
|
||||
if(!$mention_targets || !count($mention_targets))
|
||||
if(!$mention_targets || !count($mention_targets) || !isset($config->use[mention]))
|
||||
{
|
||||
return new Object();
|
||||
}
|
||||
|
|
@ -138,10 +134,6 @@ class ncenterliteController extends ncenterlite
|
|||
|
||||
$oNcenterliteModel = getModel('ncenterlite');
|
||||
$config = $oNcenterliteModel->getConfig();
|
||||
if($config->use != 'Y')
|
||||
{
|
||||
return new Object();
|
||||
}
|
||||
|
||||
$logged_info = Context::get('logged_info');
|
||||
$notify_member_srl = array();
|
||||
|
|
@ -157,34 +149,42 @@ class ncenterliteController extends ncenterlite
|
|||
// 익명 노티 체크
|
||||
$is_anonymous = $this->_isAnonymous($this->_TYPE_COMMENT, $obj);
|
||||
|
||||
// 멘션
|
||||
$mention_targets = $this->_getMentionTarget(strip_tags($obj->content));
|
||||
// !TODO 공용 메소드로 분리
|
||||
foreach($mention_targets as $mention_member_srl)
|
||||
// check use the mention option.
|
||||
if(isset($config->use[mention]))
|
||||
{
|
||||
$target_member_config = $oNcenterliteModel->getMemberConfig($mention_member_srl);
|
||||
$notify_member_config = $target_member_config->data;
|
||||
if($notify_member_config->mention_notify == 'N')
|
||||
$mention_targets = $this->_getMentionTarget(strip_tags($obj->content));
|
||||
// !TODO 공용 메소드로 분리
|
||||
foreach($mention_targets as $mention_member_srl)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
$target_member_config = $oNcenterliteModel->getMemberConfig($mention_member_srl);
|
||||
$notify_member_config = $target_member_config->data;
|
||||
if($notify_member_config->mention_notify == 'N')
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$args = new stdClass();
|
||||
$args->member_srl = $mention_member_srl;
|
||||
$args->target_p_srl = $obj->comment_srl;
|
||||
$args->srl = $obj->document_srl;
|
||||
$args->target_srl = $obj->comment_srl;
|
||||
$args->type = $this->_TYPE_COMMENT;
|
||||
$args->target_type = $this->_TYPE_MENTION;
|
||||
$args->target_url = getNotEncodedFullUrl('', 'document_srl', $document_srl, '_comment_srl', $comment_srl) . '#comment_' . $comment_srl;
|
||||
$args->target_summary = cut_str(strip_tags($content), 50);
|
||||
$args->target_nick_name = $obj->nick_name;
|
||||
$args->target_email_address = $obj->email_address;
|
||||
$args->regdate = date('YmdHis');
|
||||
$args->target_browser = $module_info->browser_title;
|
||||
$args->notify = $this->_getNotifyId($args);
|
||||
$output = $this->_insertNotify($args, $is_anonymous);
|
||||
$notify_member_srl[] = $mention_member_srl;
|
||||
$args = new stdClass();
|
||||
$args->member_srl = $mention_member_srl;
|
||||
$args->target_p_srl = $obj->comment_srl;
|
||||
$args->srl = $obj->document_srl;
|
||||
$args->target_srl = $obj->comment_srl;
|
||||
$args->type = $this->_TYPE_COMMENT;
|
||||
$args->target_type = $this->_TYPE_MENTION;
|
||||
$args->target_url = getNotEncodedFullUrl('', 'document_srl', $document_srl, '_comment_srl', $comment_srl) . '#comment_' . $comment_srl;
|
||||
$args->target_summary = cut_str(strip_tags($content), 50);
|
||||
$args->target_nick_name = $obj->nick_name;
|
||||
$args->target_email_address = $obj->email_address;
|
||||
$args->regdate = date('YmdHis');
|
||||
$args->target_browser = $module_info->browser_title;
|
||||
$args->notify = $this->_getNotifyId($args);
|
||||
$output = $this->_insertNotify($args, $is_anonymous);
|
||||
$notify_member_srl[] = $mention_member_srl;
|
||||
}
|
||||
}
|
||||
|
||||
if(!isset($config->use[comment]))
|
||||
{
|
||||
return new Object();
|
||||
}
|
||||
|
||||
$admin_list = $oNcenterliteModel->getMemberAdmins();
|
||||
|
|
@ -242,7 +242,7 @@ class ncenterliteController extends ncenterlite
|
|||
}
|
||||
}
|
||||
// 대댓글이 아니고, 게시글의 댓글을 남길 경우
|
||||
if(!$parent_srl || ($parent_srl && $config->document_notify == 'all-comment'))
|
||||
if(!$parent_srl || ($parent_srl && isset($config->use[comment_comment])))
|
||||
{
|
||||
$oDocumentModel = getModel('document');
|
||||
$oDocument = $oDocumentModel->getDocument($document_srl);
|
||||
|
|
@ -280,18 +280,17 @@ class ncenterliteController extends ncenterlite
|
|||
$oNcenterliteModel = getModel('ncenterlite');
|
||||
$config = $oNcenterliteModel->getConfig();
|
||||
$communication_config = getModel('communication')->getConfig();
|
||||
|
||||
if($communication_config->enable_message != 'Y')
|
||||
{
|
||||
return new Object();
|
||||
}
|
||||
if($config->use != 'Y' && $config->use != 'message')
|
||||
{
|
||||
return new Object();
|
||||
}
|
||||
if($config->message_notify == 'N')
|
||||
|
||||
if(!isset($config->use[message]))
|
||||
{
|
||||
return new Object();
|
||||
}
|
||||
|
||||
$messages_member_config = $oNcenterliteModel->getMemberConfig($trigger_obj->receiver_srl);
|
||||
$message_member_config = $messages_member_config->data;
|
||||
|
||||
|
|
@ -319,14 +318,11 @@ class ncenterliteController extends ncenterlite
|
|||
|
||||
$oNcenterliteModel = getModel('ncenterlite');
|
||||
$config = $oNcenterliteModel->getConfig();
|
||||
if($config->use != 'Y')
|
||||
{
|
||||
return new Object();
|
||||
}
|
||||
if($config->voted_format != 'Y')
|
||||
if(isset($config->use[vote]))
|
||||
{
|
||||
return new Object();
|
||||
}
|
||||
|
||||
if($obj->point < 0)
|
||||
{
|
||||
return new Object();
|
||||
|
|
@ -350,10 +346,6 @@ class ncenterliteController extends ncenterlite
|
|||
{
|
||||
$oNcenterliteModel = getModel('ncenterlite');
|
||||
$config = $oNcenterliteModel->getConfig();
|
||||
if($config->use != 'Y')
|
||||
{
|
||||
return new Object();
|
||||
}
|
||||
|
||||
$args = new stdClass();
|
||||
$args->srl = $obj->comment_srl;
|
||||
|
|
@ -389,11 +381,11 @@ class ncenterliteController extends ncenterlite
|
|||
|
||||
$oNcenterliteModel = getModel('ncenterlite');
|
||||
$config = $oNcenterliteModel->getConfig();
|
||||
if($config->use != 'Y')
|
||||
// if the array is empty, lets return.
|
||||
if(empty($config->use))
|
||||
{
|
||||
return new Object();
|
||||
}
|
||||
|
||||
$this->_hide_ncenterlite = false;
|
||||
if($oModule->module == 'beluxe' && Context::get('is_modal'))
|
||||
{
|
||||
|
|
@ -629,11 +621,12 @@ class ncenterliteController extends ncenterlite
|
|||
$oNcenterliteModel = getModel('ncenterlite');
|
||||
$config = $oNcenterliteModel->getConfig();
|
||||
|
||||
// 알림센터가 비활성화 되어 있으면 중지
|
||||
if($config->use != 'Y' && $config->use != 'message')
|
||||
// if the array is empty, dose not output the notification.
|
||||
if(empty($config->use))
|
||||
{
|
||||
return new Object();
|
||||
}
|
||||
|
||||
if($config->display_use == 'N')
|
||||
{
|
||||
return new Object();
|
||||
|
|
@ -738,11 +731,9 @@ class ncenterliteController extends ncenterlite
|
|||
|
||||
function _addFile()
|
||||
{
|
||||
$oModuleModel = getModel('module');
|
||||
$module_info = $oModuleModel->getModuleInfoXml('ncenterlite');
|
||||
if(file_exists(FileHandler::getRealPath($this->template_path . 'ncenterlite.css')))
|
||||
{
|
||||
Context::addCssFile($this->template_path . 'ncenterlite.css', true, 'all', '', 100);
|
||||
Context::loadFile(array($this->template_path . 'ncenterlite.css', '', '', 100), true);
|
||||
}
|
||||
|
||||
$oNcenterliteModel = getModel('ncenterlite');
|
||||
|
|
@ -751,19 +742,19 @@ class ncenterliteController extends ncenterlite
|
|||
{
|
||||
if($config->colorset && file_exists(FileHandler::getRealPath($this->template_path . 'ncenterlite.' . $config->colorset . '.css')))
|
||||
{
|
||||
Context::addCssFile($this->template_path . 'ncenterlite.' . $config->colorset . '.css', true, 'all', '', 100);
|
||||
Context::loadFile(array($this->template_path . 'ncenterlite.' . $config->colorset . '.css', '', '', 100), true);
|
||||
}
|
||||
}
|
||||
elseif(Mobile::isFromMobilePhone())
|
||||
{
|
||||
if($config->mcolorset && file_exists(FileHandler::getRealPath($this->template_path . 'ncenterlite.' . $config->mcolorset . '.css')))
|
||||
{
|
||||
Context::addCssFile($this->template_path . 'ncenterlite.' . $config->mcolorset . '.css', true, 'all', '', 100);
|
||||
Context::loadFile(array($this->template_path . 'ncenterlite.' . $config->mcolorset . '.css', '', '', 100), true);
|
||||
}
|
||||
|
||||
Context::loadFile(array('./common/js/jquery.min.js', 'head', '', -100000), true);
|
||||
Context::loadFile(array('./common/js/xe.min.js', 'head', '', -100000), true);
|
||||
Context::addCssFile($this->template_path . 'ncenterlite.mobile.css', true, 'all', '', 100);
|
||||
Context::loadFile(array($this->template_path . 'ncenterlite.mobile.css', '', '', 100), true);
|
||||
}
|
||||
if($config->zindex)
|
||||
{
|
||||
|
|
@ -1031,6 +1022,19 @@ class ncenterliteController extends ncenterlite
|
|||
// '님'문자 이후 제거
|
||||
if(in_array('respect', $config->mention_format))
|
||||
{
|
||||
$nick_name = array_unique($matches[2]);
|
||||
foreach($nick_name as $nick)
|
||||
{
|
||||
$nick_member_srl = getModel('member')->getMemberSrlByNickName($nick);
|
||||
if($nick_member_srl)
|
||||
{
|
||||
$list[] = $nick_member_srl;
|
||||
}
|
||||
}
|
||||
if(!empty($list))
|
||||
{
|
||||
return $list;
|
||||
}
|
||||
foreach($matches[2] as $idx => $item)
|
||||
{
|
||||
$pos = strpos($item, '님');
|
||||
|
|
@ -1044,7 +1048,6 @@ class ncenterliteController extends ncenterlite
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
$nicks = array_unique($matches[2]);
|
||||
|
||||
$oMemberModel = getModel('member');
|
||||
|
|
@ -1054,12 +1057,10 @@ class ncenterliteController extends ncenterlite
|
|||
{
|
||||
foreach($nicks as $user_id)
|
||||
{
|
||||
$vars = new stdClass();
|
||||
$vars->user_id = $user_id;
|
||||
$output = executeQuery('ncenterlite.getMemberSrlById', $vars);
|
||||
if($output->data && $output->data->member_srl)
|
||||
$id_member_srl = $oMemberModel->getMemberSrlByUserID($user_id);
|
||||
if($id_member_srl)
|
||||
{
|
||||
$list[] = $output->data->member_srl;
|
||||
$list[] = $id_member_srl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1067,12 +1068,10 @@ class ncenterliteController extends ncenterlite
|
|||
{
|
||||
foreach($nicks as $nick_name)
|
||||
{
|
||||
$vars = new stdClass();
|
||||
$vars->nick_name = $nick_name;
|
||||
$output = executeQuery('ncenterlite.getMemberSrlByNickName', $vars);
|
||||
if($output->data && $output->data->member_srl)
|
||||
$nick_member_srl = $oMemberModel->getMemberSrlByNickName($nick_name);
|
||||
if($nick_member_srl)
|
||||
{
|
||||
$list[] = $output->data->member_srl;
|
||||
$list[] = $nick_member_srl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,11 +11,13 @@ class ncenterliteModel extends ncenterlite
|
|||
{
|
||||
$oModuleModel = getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('ncenterlite');
|
||||
if(!$config->use) $config->use = 'Y';
|
||||
if(!$config->use)
|
||||
{
|
||||
$config->use = array();
|
||||
}
|
||||
if(!$config->display_use) $config->display_use = 'Y';
|
||||
|
||||
if(!$config->mention_names) $config->mention_names = 'nick_name';
|
||||
if(!$config->message_notify) $config->message_notify = 'Y';
|
||||
if(!$config->mention_format && !is_array($config->mention_format)) $config->mention_format = array('respect');
|
||||
if(!is_array($config->mention_format)) $config->mention_format = explode('|@|', $config->mention_format);
|
||||
if(!$config->document_notify) $config->document_notify = 'direct-comment';
|
||||
|
|
@ -25,6 +27,7 @@ class ncenterliteModel extends ncenterlite
|
|||
if(!$config->voted_format) $config->voted_format = 'N';
|
||||
if(!$config->skin) $config->skin = 'default';
|
||||
if(!$config->colorset) $config->colorset = 'black';
|
||||
if(!$config->zindex) $config->zindex = '9999';
|
||||
|
||||
self::$config = $config;
|
||||
}
|
||||
|
|
@ -262,11 +265,13 @@ class ncenterliteModel extends ncenterlite
|
|||
return $output;
|
||||
}
|
||||
|
||||
function getMyDispNotifyList($member_srl)
|
||||
function getMyDispNotifyList($member_srl = null)
|
||||
{
|
||||
$logged_info = Context::get('logged_info');
|
||||
|
||||
$member_srl = $logged_info->member_srl;
|
||||
if(!$member_srl)
|
||||
{
|
||||
$logged_info = Context::get('logged_info');
|
||||
$member_srl = $logged_info->member_srl;
|
||||
}
|
||||
|
||||
$args = new stdClass();
|
||||
$args->page = Context::get('page');
|
||||
|
|
@ -279,12 +284,8 @@ class ncenterliteModel extends ncenterlite
|
|||
return $output;
|
||||
}
|
||||
|
||||
function getNcenterliteAdminList($member_srl)
|
||||
function getNcenterliteAdminList()
|
||||
{
|
||||
$logged_info = Context::get('logged_info');
|
||||
|
||||
$member_srl = $logged_info->member_srl;
|
||||
|
||||
$args = new stdClass();
|
||||
$args->page = Context::get('page');
|
||||
$args->list_count = '20';
|
||||
|
|
@ -315,6 +316,7 @@ class ncenterliteModel extends ncenterlite
|
|||
$member_srl = $logged_info->member_srl;
|
||||
}
|
||||
|
||||
$args = new stdClass();
|
||||
$args->member_srl = $member_srl;
|
||||
$output = executeQuery('ncenterlite.getNotifyNewCount', $args);
|
||||
if(!$output->data) return 0;
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@
|
|||
<field name="use" />
|
||||
<field name="mention_format" />
|
||||
<field name="document_notify" />
|
||||
<field name="skin" required="true" />
|
||||
<field name="colorset" required="true" />
|
||||
<field name="zindex" rule="number" />
|
||||
<field name="skin" />
|
||||
<field name="colorset" />
|
||||
<field name="zindex" />
|
||||
</fields>
|
||||
</ruleset>
|
||||
|
|
|
|||
|
|
@ -1,275 +0,0 @@
|
|||
<load target="js/ncenter_admin.js" />
|
||||
<load target="css/ncenter_admin.css" />
|
||||
<include target="header.html" />
|
||||
|
||||
<div cond="$_ncenterlite_env_agreement == 'NULL'">
|
||||
<form action="{getUrl('')}" method="post" class="message info x_clearfix">
|
||||
<input type="hidden" name="module" value="ncenterlite" />
|
||||
<input type="hidden" name="act" value="procNcenterliteAdminEnviromentGatheringAgreement" />
|
||||
<h2>{$lang->ncenterlite_config_environment}</h2>
|
||||
{$lang->ncenterlite_config_environment_about}
|
||||
<div class="x_pull-right" style="margin-bottom:10px">
|
||||
<button type="submit" name="is_agree" value="Y" class="x_btn x_btn-small x_btn-primary">{$lang->ncenterlite_config_environment_agree}</button>
|
||||
<button type="submit" name="is_agree" value="N" class="x_btn x_btn-small">{$lang->ncenterlite_config_environment_disagree}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
<form ruleset="insertConfig" action="./" method="post" class="x_form-horizontal" id="fo_ncenterlite">
|
||||
<input type="hidden" name="module" value="ncenterlite" />
|
||||
<input type="hidden" name="act" value="procNcenterliteAdminInsertConfig" />
|
||||
|
||||
<section class="section collapsed">
|
||||
<h1>{$lang->ncenterlite_basic_settings} ({$lang->ncenterlite_click_to_open})</h1>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label"><span class="x_label x_label-important">{$lang->ncenterlite_warning}</span> {$lang->ncenterlite_io}</label>
|
||||
<div class="x_controls">
|
||||
<label class="x_inline">
|
||||
<input type="radio" id="use_y" name="use" value="Y" checked="checked"|cond="$config->use == 'Y'" /> {$lang->ncenterlite_on}
|
||||
</label>
|
||||
<label class="x_inline">
|
||||
<input type="radio" id="use_message" name="use" value="message" checked="checked"|cond="$config->use == 'message'" /> {$lang->ncenterlite_only_message}
|
||||
</label>
|
||||
<label class="x_inline">
|
||||
<input type="radio" id="use_n" name="use" value="N" checked="checked"|cond="$config->use == 'N'" /> {$lang->ncenterlite_off}
|
||||
</label>
|
||||
<p class="x_help-block"><span class="x_label x_label-important">{$lang->ncenterlite_warning}</span> {$lang->ncenterlite_io_about}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label"><span class="x_label x_label-important">{$lang->ncenterlite_warning}</span> {$lang->ncenterlite_display}</label>
|
||||
<div class="x_controls">
|
||||
<label class="x_inline">
|
||||
<input type="radio" id="display_use_y" name="display_use" value="Y" checked="checked"|cond="$config->display_use == 'Y'" /> {$lang->ncenterlite_display_y}
|
||||
</label>
|
||||
<label class="x_inline">
|
||||
<input type="radio" id="display_use_n" name="display_use" value="N" checked="checked"|cond="$config->display_use == 'N'" /> {$lang->ncenterlite_display_n}
|
||||
</label>
|
||||
<p class="x_help-block">{$lang->ncenterlite_display_about}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">익명 알림에서 익명 이름 설정</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="anonymous_name" value="{$config->anonymous_name}" />
|
||||
<p class="x_help-block">익명 게시판 등에서 알림이 등록될 시, Anonymous 등 익명을 표시할 이름을 설정할 수 있습니다. 기본은 Anonymous 입니다.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">멘션 설정</label>
|
||||
<div class="x_controls mention_option">
|
||||
<label class="x_inline">
|
||||
<input type="checkbox" name="mention_format[]" value="respect" data-mention-split="님" checked="checked"|cond="is_array('respect', $config->mention_format) && in_array('respect', $config->mention_format)" /> '님'을 붙여 쓸 수 있도록 허용
|
||||
</label>
|
||||
<ul class="preview">
|
||||
<li data-mention-default="enable"><strong>@스님</strong></li>
|
||||
<li data-mention-default="enable"><strong>@선생님이다</strong></li>
|
||||
<li data-mention-default="enable"><strong>@NAME</strong> …</li>
|
||||
<li data-mention-default="enable"><strong>@NAME</strong> 님</li>
|
||||
<li><strong>@NAME</strong>님</li>
|
||||
<li><strong>@NAME</strong>님과</li>
|
||||
<li><strong>@NAME1</strong>님, <strong>@NAME2</strong>님이 …</li>
|
||||
</ul>
|
||||
<p class="x_help-block">녹색으로 표시된 예시처럼 사용할 수 있습니다.</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">회원정보 메뉴노출 설정</label>
|
||||
<div class="x_controls">
|
||||
<label class="x_inline">
|
||||
<input type="radio" id="user_config_list_id" name="user_config_list" value="Y" checked="checked"|cond="$config->user_config_list == 'Y'" /> 회원정보에 표시함
|
||||
</label>
|
||||
<label class="x_inline">
|
||||
<input type="radio" id="user_config_list_nick_name" name="user_config_list" value="N" checked="checked"|cond="$config->user_config_list == 'N'" /> 표기안함
|
||||
</label>
|
||||
<p class="x_help-block">회원정보보기에서 메뉴 목록에 회원알림센터 설정 및 회원알림목록을 접근할 수잇는 페이지를 노출하거나 노출 시키지 않을 수 있습니다.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">안드로이드알림 솔루션</label>
|
||||
<div class="x_controls">
|
||||
<label class="x_inline"><input type="radio" name="android_format" value="N" checked="checked"|cond="$config->android_format == 'N'" /> 안드로이드 알림을 사용하지 않음</label>
|
||||
<label class="x_inline"><input type="radio" name="android_format" value="mobileplus" checked="checked"|cond="$config->android_format == 'mobileplus'" />MobilePlus</label>
|
||||
<p>알림센터와 함께 안드로이드 모바일 알림 솔루션을 선택하여 사용할 수 있습니다. 각각의 안드로이드 어플리케이션 플레폼을 사용하시면 선택하여 사용하시기 바랍니다.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->ncenterlite_message_event}</label>
|
||||
<div class="x_controls">
|
||||
<label><input type="checkbox" name="message_notify" value="N" checked="checked"|cond="$config->message_notify == 'N'" /> {$lang->ncenterlite_message_event_about}</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">알림센터 사용여부</label>
|
||||
<div class="x_controls">
|
||||
<p class="x_help-block">선택한 페이지에서 알림센터를 표시하지 않습니다.</p>
|
||||
<div loop="$mid_list => $mid, $item">
|
||||
<label>
|
||||
<input type="checkbox" value="{$item->module_srl}" name="hide_module_srls[]" checked="checked"|cond="is_array($item->module_srl, $config->hide_module_srls) && in_array($item->module_srl, $config->hide_module_srls)" />
|
||||
<strong>{$item->browser_title}</strong> ({$item->mid} / {strtoupper($item->module)})
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">댓글 알림 사용게시판</label>
|
||||
<div class="x_controls">
|
||||
<p class="x_help-block">선택한 게시판에서는 댓글의 모든 알림을 관리자가 받을 수 있습니다.</p>
|
||||
<div loop="$mid_list => $mid, $item">
|
||||
<label>
|
||||
<input type="checkbox" value="{$item->module_srl}" name="admin_comment_module_srls[]" checked="checked"|cond="is_array($item->module_srl, $config->admin_comment_module_srls) && in_array($item->module_srl, $config->admin_comment_module_srls)" />
|
||||
<strong>{$item->browser_title}</strong> ({$item->mid} / {strtoupper($item->module)})
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="section collapsed">
|
||||
<h1>{$lang->ncenterlite_document_event_settings} ({$lang->ncenterlite_click_to_open}) </h1>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->ncenterlite_document_event_vote}</label>
|
||||
<div class="x_controls">
|
||||
<label class="x_inline"><input type="radio" name="voted_format" value="Y" checked="checked"|cond="$config->voted_format == 'Y'" /> {$lang->ncenterlite_activate}</label>
|
||||
<label class="x_inline"><input type="radio" name="voted_format" value="N" checked="checked"|cond="$config->voted_format == 'N'" /> {$lang->ncenterlite_inactivate}</label>
|
||||
<p>{$lang->ncenterlite_document_event_vote_about}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->ncenterlite_document_event_read}</label>
|
||||
<div class="x_controls">
|
||||
<label class="x_inline"><input type="radio" name="document_read" value="N" checked="checked"|cond="$config->document_read == 'N'" />{$lang->ncenterlite_document_event_read_preserve}</label>
|
||||
<label class="x_inline"><input type="radio" name="document_read" value="Y" checked="checked"|cond="$config->document_read == 'Y'" />{$lang->ncenterlite_document_event_read_delete}</label>
|
||||
<p>{$lang->ncenterlite_document_event_read_about}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->ncenterlite_commnet_event}</label>
|
||||
<div class="x_controls">
|
||||
<label class="x_inline"><input type="radio" name="document_notify" value="all-comment" checked="checked"|cond="$config->document_notify == 'all-comment'" /> {$lang->ncenterlite_commnet_event_noti_all}</label>
|
||||
<label class="x_inline"><input type="radio" name="document_notify" value="direct-comment" checked="checked"|cond="$config->document_notify == 'direct-comment'" /> {$lang->ncenterlite_commnet_event_noti_some}</label>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
<section class="section collapsed">
|
||||
<h1>{$lang->cmd_layout_setup} ({$lang->ncenterlite_click_to_open})</h1>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="layout_srl">{$lang->layout}</label>
|
||||
<div class="x_controls">
|
||||
<select name="layout_srl" id="layout_srl">
|
||||
<option value="0">{$lang->notuse}</option>
|
||||
<option loop="$layout_list => $key, $val" value="{$val->layout_srl}" selected="selected"|cond="$config->layout_srl==$val->layout_srl">{$val->title} ({$val->layout})</option>
|
||||
</select>
|
||||
<a href="#aboutLayout" data-toggle class="x_icon-question-sign">{$lang->help}</a>
|
||||
<p class="x_help-block" id="aboutLayout" hidden>{$lang->about_layout}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="layout_srl">{$lang->mobile} {$lang->layout}</label>
|
||||
<div class="x_controls">
|
||||
<select name="mlayout_srl" id="mlayout_srl">
|
||||
<option value="0">{$lang->notuse}</option>
|
||||
<option loop="$mlayout_list => $key, $val" value="{$val->layout_srl}" selected="selected"|cond="$config->mlayout_srl==$val->layout_srl">{$val->title} ({$val->layout})</option>
|
||||
</select>
|
||||
<a href="#aboutLayout" data-toggle class="x_icon-question-sign">{$lang->help}</a>
|
||||
<p class="x_help-block" id="aboutLayout" hidden>{$lang->about_layout}</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="section collapsed">
|
||||
<h1>{$lang->ncenterlite_skin_settings} ({$lang->ncenterlite_click_to_open})</h1>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->skin}</label>
|
||||
<div class="x_controls">
|
||||
<select name="skin" onchange="doDisplaySkinColorset(this); return false;">
|
||||
<option loop="$skin_list => $key, $val" value="{$key}" selected="selected"|cond="$config->skin == $key">
|
||||
{$val->title} ({htmlspecialchars($key)})
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->colorset}</label>
|
||||
<div class="x_controls">
|
||||
<select name="colorset" id="ncenterlite_colorset">
|
||||
<option loop="$colorset_list => $key, $val" value="{$val->name}" selected="selected"|cond="$config->colorset == $val->name">
|
||||
{$val->title} ({$val->name})
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">mobile {$lang->mskin}</label>
|
||||
<div class="x_controls">
|
||||
<select name="mskin" onchange="doDisplayMobileSkinColorset(this); return false;">
|
||||
<option loop="$mskin_list => $key, $val" value="{$key}" selected="selected"|cond="$config->mskin == $key">
|
||||
{$val->title} ({htmlspecialchars($key)})
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">mobile {$lang->colorset}</label>
|
||||
<div class="x_controls">
|
||||
<select name="mcolorset" id="ncenterlite_colorset">
|
||||
<option loop="$mcolorset_list => $key, $val" value="{$val->name}" selected="selected"|cond="$config->mcolorset == $val->name">
|
||||
{$val->title} ({$val->name})
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->ncenterlite_zindex}</label>
|
||||
<div class="x_controls">
|
||||
<input type="number" name="zindex" value="{$config->zindex}" />
|
||||
<p class="x_help-block">{$lang->ncenterlite_zindex_about}</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>
|
||||
|
||||
<section class="section">
|
||||
<h1>{$lang->etc}</h1>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->ncenterlite_test_mention}</label>
|
||||
<div class="x_controls">
|
||||
<label><input type="button" name="dummy" onClick="doDummyDataInsert();" class="x_btn" value="{$lang->ncenterlite_test_make_dummy}"> {$lang->ncenterlite_test_mention_about}</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->ncenterlite_test_push}</label>
|
||||
<div class="x_controls">
|
||||
<label><input type="button" name="dummy" onClick="doDummyPushDataInsert();" class="x_btn" value="{$lang->ncenterlite_test_make_dummy}"> {$lang->ncenterlite_test_push_about}</label>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</form>
|
||||
<div cond="$_ncenterlite_iframe_url">
|
||||
<p>{$lang->ncenterlite_install_version} : Lite v{$ncenterlite_module_info->version}</p>
|
||||
<iframe frameborder="0" src="{$_ncenterlite_iframe_url}" style="display:block; margin:10px auto; padding:0; width:90%;border:3px solid #7361d6; border-radius:10px; height:200px; overflow:scroll; "></iframe>
|
||||
</div>
|
||||
87
modules/ncenterlite/tpl/config.html
Normal file
87
modules/ncenterlite/tpl/config.html
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
<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="dispNcenterliteAdminConfig" />
|
||||
<input type="hidden" name="act" value="procNcenterliteAdminInsertConfig" />
|
||||
|
||||
<section class="section">
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label"><span class="x_label x_label-important">{$lang->ncenterlite_warning}</span> {$lang->ncenterlite_io}</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>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label"><span class="x_label x_label-important">{$lang->ncenterlite_warning}</span> {$lang->ncenterlite_display}</label>
|
||||
<div class="x_controls">
|
||||
<label class="x_inline">
|
||||
<input type="radio" id="display_use_y" name="display_use" value="Y" checked="checked"|cond="$config->display_use == 'Y'" /> {$lang->ncenterlite_display_y}
|
||||
</label>
|
||||
<label class="x_inline">
|
||||
<input type="radio" id="display_use_n" name="display_use" value="N" checked="checked"|cond="$config->display_use == 'N'" /> {$lang->ncenterlite_display_n}
|
||||
</label>
|
||||
<p class="x_help-block">{$lang->ncenterlite_display_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="{$config->anonymous_name}" />
|
||||
<p class="x_help-block">{$lang->about_anonymous_nick_name}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->mention_setting}</label>
|
||||
<div class="x_controls mention_option">
|
||||
<label class="x_inline">
|
||||
<input type="checkbox" name="mention_format[]" value="respect" data-mention-split="님" checked="checked"|cond="is_array($config->mention_format) && in_array('respect', $config->mention_format)" />{$lang->mention_nim}
|
||||
</label>
|
||||
{$lang->about_mention_preview}
|
||||
</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->member_menu_view}</label>
|
||||
<div class="x_controls">
|
||||
<label class="x_inline">
|
||||
<input type="radio" id="user_config_list_id" name="user_config_list" value="Y" checked="checked"|cond="$config->user_config_list == 'Y'" /> {$lang->member_menu_on}
|
||||
</label>
|
||||
<label class="x_inline">
|
||||
<input type="radio" id="user_config_list_nick_name" name="user_config_list" value="N" checked="checked"|cond="$config->user_config_list == 'N'" /> {$lang->member_menu_off}
|
||||
</label>
|
||||
<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_document_event_read}</label>
|
||||
<div class="x_controls">
|
||||
<label class="x_inline"><input type="radio" name="document_read" value="N" checked="checked"|cond="$config->document_read == 'N'" />{$lang->ncenterlite_document_event_read_preserve}</label>
|
||||
<label class="x_inline"><input type="radio" name="document_read" value="Y" checked="checked"|cond="$config->document_read == 'Y'" />{$lang->ncenterlite_document_event_read_delete}</label>
|
||||
<p>{$lang->ncenterlite_document_event_read_about}</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>
|
||||
|
|
@ -4,11 +4,14 @@
|
|||
|
||||
<div class="header4">
|
||||
<ul class="x_nav x_nav-tabs">
|
||||
<li class="x_active"|cond="$act=='dispNcenterliteAdminConfig'"><a href="{getUrl('act','dispNcenterliteAdminConfig')}">{$lang->env_setup}</a></li>
|
||||
<li class="x_active"|cond="$act=='dispNcenterliteAdminConfig'"><a href="{getUrl('act','dispNcenterliteAdminConfig')}">{$lang->ncenterlite_basic_settings}</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_push}</a></li>
|
||||
<li class="x_active"|cond="$act=='dispNcenterliteAdminList'"><a href="{getUrl('act','dispNcenterliteAdminList')}">{$lang->ncenterlite_notice_list}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<section class="section">
|
||||
<h1>알림 목록</h1>
|
||||
|
||||
<p class="x_well x_well-small" cond="!$ncenterlite_list">알림이 없습니다.</p>
|
||||
<p class="x_well x_well-small" cond="!$ncenterlite_list">{$lang->ncenterlite_no_notify}</p>
|
||||
|
||||
<block cond="$ncenterlite_list">
|
||||
<div class="x_clearfix">
|
||||
|
|
@ -12,9 +12,9 @@
|
|||
<fieldset>
|
||||
<input type="hidden" name="module" value="ncenterlite" />
|
||||
<input type="hidden" name="act" value="procNcenterliteAdminDeleteNofity" />
|
||||
<button type="submit" class="x_btn">전체 삭제</button>
|
||||
<button type="submit" name="old_date" value="{date('Ymd', strtotime('-1 month'))}" class="x_btn">한 달 이전의 알림 삭제</button>
|
||||
<p class="x_help-block"><span class="x_label x_label-important">주의!</span> 회원이 확인하지 않은 알림도 삭제됩니다.</p>
|
||||
<button type="submit" class="x_btn">{$lang->ncenterlite_all_delete}</button>
|
||||
<button type="submit" name="old_date" value="{date('Ymd', strtotime('-1 month'))}" class="x_btn">{$lang->ncenterlite_month_before_delete}</button>
|
||||
<p class="x_help-block"><span class="x_label x_label-important">{$lang->ncenterlite_warning}</span> {$lang->dont_check_notify_delete}</p>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -22,10 +22,10 @@
|
|||
<table class="x_table x_table-striped x_table-hover" style="margin-top:20px;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" class="nowr" style="width:100px;">보낸사람</th>
|
||||
<th scope="col" style="width:100px;">받은사람</th>
|
||||
<th scope="col" style="width:500px;">내용</th>
|
||||
<th scope="col" style="width:50px;">읽음여부</th>
|
||||
<th scope="col" class="nowr" style="width:100px;">{$lang->send_member}</th>
|
||||
<th scope="col" style="width:100px;">{$lang->resiver_member}</th>
|
||||
<th scope="col" style="width:500px;">{$lang->notify_content}</th>
|
||||
<th scope="col" style="width:50px;">{$lang->notify_read_check}</th>
|
||||
<th scope="col" style="width:100px;">{$lang->date}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -39,7 +39,10 @@
|
|||
<td>{$val->target_nick_name}</td>
|
||||
<td cond="$member_info->member_srl">{$member_info->nick_name}</td> <td cond="!$member_info->member_srl">타겟없음</td>
|
||||
<td><a href="{$val->target_url}">{$val->text}</a></td>
|
||||
<td>{$val->readed}</td>
|
||||
<td>
|
||||
<span cond="$val->readed == 'Y'" style="color:#8582E6">{$lang->notify_readed}</span>
|
||||
<span cond="$val->readed != 'Y'" style="color:#FF2828">{$lang->notify_dont_readed}</span>
|
||||
</td>
|
||||
<td>
|
||||
{zdate($val->regdate,"Y-m-d")}
|
||||
</br>
|
||||
|
|
|
|||
42
modules/ncenterlite/tpl/seletedmid.html
Normal file
42
modules/ncenterlite/tpl/seletedmid.html
Normal 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="dispNcenterliteAdminSeletedmid" />
|
||||
<input type="hidden" name="act" value="procNcenterliteAdminInsertConfig" />
|
||||
|
||||
<section class="section">
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->ncenterlite_notify_setting}</label>
|
||||
<div class="x_controls">
|
||||
<p class="x_help-block">{$lang->ncenterlite_about_notify_setting}</p>
|
||||
<div loop="$mid_list => $mid, $item">
|
||||
<label>
|
||||
<input type="checkbox" value="{$item->module_srl}" name="hide_module_srls[]" checked="checked"|cond="is_array($config->hide_module_srls) && in_array($item->module_srl, $config->hide_module_srls)" />
|
||||
<strong>{$item->browser_title}</strong> ({$item->mid} / {strtoupper($item->module)})
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->ncenterlite_notify_comment}</label>
|
||||
<div class="x_controls">
|
||||
<p class="x_help-block">{$lang->ncenterlite_about_notify_comment}</p>
|
||||
<div loop="$mid_list => $mid, $item">
|
||||
<label>
|
||||
<input type="checkbox" value="{$item->module_srl}" name="admin_comment_module_srls[]" checked="checked"|cond="is_array($config->admin_comment_module_srls) && in_array($item->module_srl, $config->admin_comment_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>
|
||||
91
modules/ncenterlite/tpl/skinsetting.html
Normal file
91
modules/ncenterlite/tpl/skinsetting.html
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
<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="dispNcenterliteAdminSkinsetting" />
|
||||
<input type="hidden" name="act" value="procNcenterliteAdminInsertConfig" />
|
||||
<section class="section">
|
||||
<h1>{$lang->cmd_layout_setup}</h1>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="layout_srl">{$lang->layout}</label>
|
||||
<div class="x_controls">
|
||||
<select name="layout_srl" id="layout_srl">
|
||||
<option value="0">{$lang->notuse}</option>
|
||||
<option loop="$layout_list => $key, $val" value="{$val->layout_srl}" selected="selected"|cond="$config->layout_srl==$val->layout_srl">{$val->title} ({$val->layout})</option>
|
||||
</select>
|
||||
<a href="#aboutLayout" data-toggle class="x_icon-question-sign">{$lang->help}</a>
|
||||
<p class="x_help-block" id="aboutLayout" hidden>{$lang->about_layout}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="mlayout_srl">{$lang->mobile} {$lang->layout}</label>
|
||||
<div class="x_controls">
|
||||
<select name="mlayout_srl" id="mlayout_srl">
|
||||
<option value="0">{$lang->notuse}</option>
|
||||
<option loop="$mlayout_list => $key, $val" value="{$val->layout_srl}" selected="selected"|cond="$config->mlayout_srl==$val->layout_srl">{$val->title} ({$val->layout})</option>
|
||||
</select>
|
||||
<a href="#aboutMLayout" data-toggle class="x_icon-question-sign">{$lang->help}</a>
|
||||
<p class="x_help-block" id="aboutMLayout" hidden>{$lang->about_layout}</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="section">
|
||||
<h1>{$lang->ncenterlite_skin_settings}</h1>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="skin">{$lang->skin}</label>
|
||||
<div class="x_controls">
|
||||
<select name="skin" id="skin" onchange="doDisplaySkinColorset(this); return false;">
|
||||
<option loop="$skin_list => $key, $val" value="{$key}" selected="selected"|cond="$config->skin == $key">
|
||||
{$val->title} ({htmlspecialchars($key)})
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="colorset">{$lang->colorset}</label>
|
||||
<div class="x_controls">
|
||||
<select name="colorset" id="colorset">
|
||||
<option loop="$colorset_list => $key, $val" value="{$val->name}" selected="selected"|cond="$config->colorset == $val->name">
|
||||
{$val->title} ({$val->name})
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="mskin">mobile {$lang->mskin}</label>
|
||||
<div class="x_controls">
|
||||
<select name="mskin" id="mskin" onchange="doDisplayMobileSkinColorset(this); return false;">
|
||||
<option loop="$mskin_list => $key, $val" value="{$key}" selected="selected"|cond="$config->mskin == $key">
|
||||
{$val->title} ({htmlspecialchars($key)})
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="mcolorset">mobile {$lang->colorset}</label>
|
||||
<div class="x_controls">
|
||||
<select name="mcolorset" id="mcolorset">
|
||||
<option loop="$mcolorset_list => $key, $val" value="{$val->name}" selected="selected"|cond="$config->mcolorset == $val->name">
|
||||
{$val->title} ({$val->name})
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="zindex">{$lang->ncenterlite_zindex}</label>
|
||||
<div class="x_controls">
|
||||
<input type="number" name="zindex" id="zindex" value="{$config->zindex}" />
|
||||
<p class="x_help-block">{$lang->ncenterlite_zindex_about}</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>
|
||||
22
modules/ncenterlite/tpl/test.html
Normal file
22
modules/ncenterlite/tpl/test.html
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<load target="js/ncenter_admin.js" />
|
||||
<load target="css/ncenter_admin.css" />
|
||||
<include target="header.html" />
|
||||
|
||||
<div class="x_form-horizontal" id="fo_ncenterlite">
|
||||
<section class="section">
|
||||
<h1>{$lang->etc}</h1>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->ncenterlite_test_mention}</label>
|
||||
<div class="x_controls">
|
||||
<label><input type="button" name="dummy" onClick="doDummyDataInsert();" class="x_btn" value="{$lang->ncenterlite_test_make_dummy}"> {$lang->ncenterlite_test_mention_about}</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->ncenterlite_test_push}</label>
|
||||
<div class="x_controls">
|
||||
<label><input type="button" name="dummy" onClick="doDummyPushDataInsert();" class="x_btn" value="{$lang->ncenterlite_test_make_dummy}"> {$lang->ncenterlite_test_push_about}</label>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
Loading…
Add table
Add a link
Reference in a new issue