Separating each settings page

This commit is contained in:
BJRambo 2016-03-23 19:56:29 +09:00
parent 00687a1bd2
commit 24ea1e2b7b
10 changed files with 238 additions and 162 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

@ -101,3 +101,4 @@ $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 = '알림센터 사용설정';

View file

@ -5,45 +5,63 @@ 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->hide_module_srls = $obj->hide_module_srls;
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',
'voted_format',
'document_notify'
);
foreach($config_vars as $val)
{
$config->mention_format = 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($obj->disp_act == 'dispNcenterliteAdminConfig' && !$obj->mention_format)
{
$config->mention_format = array();
}
if($obj->{$val})
{
$config->{$val} = $obj->{$val};
}
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();
}
}
debugPrint($config);
if(!$config->document_notify)
{
$config->document_notify = 'direct-comment';
}
$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;
}

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,10 +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);
}
function dispNcenterliteAdminList()
@ -59,4 +75,8 @@ class ncenterliteAdminView extends ncenterlite
$this->setTemplateFile('ncenter_list');
}
function dispNcenterliteAdminTest()
{
}
}

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

@ -4,10 +4,10 @@
<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 collapsed">
<h1>{$lang->ncenterlite_basic_settings} ({$lang->ncenterlite_click_to_open})</h1>
<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">
@ -84,34 +84,6 @@
<p class="x_help-block">회원정보보기에서 메뉴 목록에 회원알림센터 설정 및 회원알림목록을 접근할 수잇는 페이지를 노출하거나 노출 시키지 않을 수 있습니다.</p>
</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($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($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">
@ -137,105 +109,9 @@
</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>

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

@ -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">알림센터 사용여부</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($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($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>