Merge pull request #396 from bjrambo/pr/ncenterlite-option

알림센터에 필요한 모든 내용을 고치겠습니다.
This commit is contained in:
BJRambo 2016-03-29 11:40:09 +09:00
commit 146acae1e8
14 changed files with 463 additions and 452 deletions

View file

@ -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" />

View file

@ -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>&nbsp;&nbsp;</li>
<li data-mention-default="enable"><strong>@NAME</strong>&nbsp;&nbsp;</li>
<li><strong>@NAME</strong></li>
<li><strong>@NAME</strong>님과</li>
<li><strong>@NAME1</strong>,&nbsp;&nbsp;<strong>@NAME2</strong>님이&nbsp;&nbsp;</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 = '\'님\'을 붙여 쓸 수 있도록 허용';

View file

@ -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;
}
}
}

View file

@ -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()
{
}
}

View file

@ -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;
}
}
}

View file

@ -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;

View file

@ -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>

View file

@ -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>&nbsp;&nbsp;</li>
<li data-mention-default="enable"><strong>@NAME</strong>&nbsp;&nbsp;</li>
<li><strong>@NAME</strong></li>
<li><strong>@NAME</strong>님과</li>
<li><strong>@NAME1</strong>님,&nbsp;&nbsp;<strong>@NAME2</strong>님이&nbsp;&nbsp;</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>

View 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>

View file

@ -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>

View file

@ -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>

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="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>

View 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>

View 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>