issue 1571, Added a feature for setting of mobile skin

git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.1@10872 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
flyskyko 2012-07-12 07:25:00 +00:00
parent 1fd16401d9
commit 14961c7c9a
11 changed files with 363 additions and 162 deletions

View file

@ -567,6 +567,10 @@
<value xml:lang="tr"><![CDATA[Dış Görünümleri Yönet]]></value>
<value xml:lang="vi"><![CDATA[Quản lý Skin]]></value>
</item>
<item name="cmd_manage_mobile_skin">
<value xml:lang="ko"><![CDATA[모바일 스킨 관리]]></value>
<value xml:lang="en"><![CDATA[Manage Mobile Skins]]></value>
</item>
<item name="cmd_manage_document">
<value xml:lang="ko"><![CDATA[게시글 관리]]></value>
<value xml:lang="en"><![CDATA[Manage Articles]]></value>

View file

@ -232,23 +232,45 @@
function procModuleAdminUpdateSkinInfo() {
// Get information of the module_srl
$module_srl = Context::get('module_srl');
$mode = Context::get('_mode');
$mode = $mode === 'P' ? 'P' : 'M';
$oModuleModel = &getModel('module');
$columnList = array('module_srl', 'module', 'skin');
$columnList = array('module_srl', 'module', 'skin', 'mskin');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl, $columnList);
if($module_info->module_srl) {
$skin = $module_info->skin;
if($mode === 'M')
{
$skin = $module_info->mskin;
}
else
{
$skin = $module_info->skin;
}
// Get skin information (to check extra_vars)
$module_path = './modules/'.$module_info->module;
$skin_info = $oModuleModel->loadSkinInfo($module_path, $skin);
$skin_vars = $oModuleModel->getModuleSkinVars($module_srl);
if($mode === 'M')
{
$skin_info = $oModuleModel->loadSkinInfo($module_path, $skin, 'm.skins');
$skin_vars = $oModuleModel->getModuleMobileSkinVars($module_srl);
}
else
{
$skin_info = $oModuleModel->loadSkinInfo($module_path, $skin);
$skin_vars = $oModuleModel->getModuleSkinVars($module_srl);
}
// Check received variables (unset such variables as act, module_srl, page, mid, module)
$obj = Context::getRequestVars();
unset($obj->act);
unset($obj->error_return_url);
unset($obj->module_srl);
unset($obj->page);
unset($obj->mid);
unset($obj->module);
unset($obj->_mode);
// Separately handle if a type of extra_vars is an image in the original skin_info
if($skin_info->extra_vars) {
foreach($skin_info->extra_vars as $vars) {
@ -306,21 +328,24 @@
}
*/
$oModuleController = &getController('module');
$oModuleController->deleteModuleSkinVars($module_srl);
// Register
$oModuleController->insertModuleSkinVars($module_srl, $obj);
}
//remove from cache
$oCacheHandler = &CacheHandler::getInstance('object');
if($oCacheHandler->isSupport()){
$cache_key = 'object:'.$module_srl;
$oCacheHandler->delete($cache_key);
if($mode === 'M')
{
$output = $oModuleController->insertModuleMobileSkinVars($module_srl, $obj);
}
else
{
$output = $oModuleController->insertModuleSkinVars($module_srl, $obj);
}
if(!$output->toBool())
{
return $output;
}
}
$this->setLayoutPath('./common/tpl');
$this->setLayoutFile('default_layout.html');
$this->setTemplatePath('./modules/module/tpl');
$this->setTemplateFile("top_refresh.html");
$this->setMessage('success_saved');
$this->setRedirectUrl(Context::get('error_return_url'));
}
/**

View file

@ -116,16 +116,57 @@
* @brief Common:: skin setting page for the module
**/
function getModuleSkinHTML($module_srl) {
return $this->_getModuleSkinHTML($module_srl, 'P');
}
/**
* Common:: skin setting page for the module (mobile)
*
* @param $module_srl sequence of module
* @return string The html code
*/
function getModuleMobileSkinHTML($module_srl)
{
return $this->_getModuleSkinHtml($module_srl, 'M');
}
/**
* Skin setting page for the module
*
* @param $module_srl sequence of module
* @param $mode P or M
* @return string The HTML code
*/
function _getModuleSkinHTML($module_srl, $mode)
{
$mode = $mode === 'P' ? 'P' : 'M';
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
if(!$module_info) return;
$skin = $module_info->skin;
if($mode === 'P')
{
$skin = $module_info->skin;
}
else
{
$skin = $module_info->mskin;
}
$module_path = './modules/'.$module_info->module;
// Get XML information of the skin
$skin_info = $oModuleModel->loadSkinInfo($module_path, $skin);
// Get skin information set in DB
$skin_vars = $oModuleModel->getModuleSkinVars($module_srl);
// Get XML information of the skin and skin sinformation set in DB
if($mode === 'P')
{
$skin_info = $oModuleModel->loadSkinInfo($module_path, $skin);
$skin_vars = $oModuleModel->getModuleSkinVars($module_srl);
}
else
{
$skin_info = $oModuleModel->loadSkinInfo($module_path, $skin, 'm.skins');
$skin_vars = $oModuleModel->getModuleMobileSkinVars($module_srl);
}
if(count($skin_info->extra_vars)) {
foreach($skin_info->extra_vars as $key => $val) {
@ -143,7 +184,8 @@
Context::set('module_info', $module_info);
Context::set('mid', $module_info->mid);
Context::set('skin_info', $skin_info);
Context::set('skin_vars', $skin_vars);
Context::set('skin_vars', $skin_vars);
Context::set('mode', $mode);
//Security
$security = new Security();
@ -153,7 +195,7 @@
$oTemplate = &TemplateHandler::getInstance();
return $oTemplate->compile($this->module_path.'tpl', 'skin_config');
}
}
/**
* @brief Get values for a particular language code

View file

@ -472,23 +472,10 @@
/**
* @brief Change other information of the module
**/
* @deprecated
*/
function updateModuleSkinVars($module_srl, $skin_vars) {
// skin_vars setting
$args->module_srl = $module_srl;
$args->skin_vars = $skin_vars;
$output = executeQuery('module.updateModuleSkinVars', $args);
if(!$output->toBool()) return $output;
//remove from cache
$oCacheHandler = &CacheHandler::getInstance('object');
if($oCacheHandler->isSupport())
{
$cache_key = 'object_module_skin_vars:'.$module_srl;
$oCacheHandler->delete($cache_key);
}
return $output;
return new Object();
}
/**
@ -590,12 +577,44 @@
return executeQuery('module.deleteAdminId', $args);
}
/**
/**
* Insert skin vars to a module
* @param $module_srl Sequence of module
* @param $obj Skin variables
*/
function insertModuleSkinVars($module_srl, $obj)
{
return $this->_insertModuleSkinVars($module_srl, $obj, 'P');
}
/**
* Insert mobile skin vars to a module
* @param $module_srl Sequence of module
* @param $obj Skin variables
*/
function insertModuleMobileSkinVars($module_srl, $obj)
{
return $this->_insertModuleSkinVars($module_srl, $obj, 'M');
}
/**
* @brief Insert skin vars to a module
**/
function insertModuleSkinVars($module_srl, $obj) {
$this->deleteModuleSkinVars($module_srl);
if(!$obj || !count($obj)) return;
function _insertModuleSkinVars($module_srl, $obj, $mode) {
$mode = $mode === 'P' ? 'P' : 'M';
$oDB = DB::getInstance();
$oDB->begin();
$output = $this->_deleteModuleSkinVars($module_srl, $mode);
if(!$output->toBool())
{
$oDB->rollback();
return $output;
}
if(!$obj || !count($obj)) return new Object();
$args->module_srl = $module_srl;
foreach($obj as $key => $val) {
@ -609,25 +628,70 @@
$args->name = trim($key);
$args->value = trim($val);
if(!$args->name || !$args->value) continue;
executeQuery('module.insertModuleSkinVars', $args);
if($mode === 'P')
{
$output = executeQuery('module.insertModuleSkinVars', $args);
}
else
{
$output = executeQuery('module.insertModuleMobileSkinVars', $args);
}
if(!$output->toBool())
{
return $output;
$oDB->rollback();
}
}
$oDB->commit;
return new Object();
}
/**
* Remove skin vars ofa module
* @param $module_srl seqence of module
*/
function deleteModuleSkinVars($module_srl)
{
return $this->_deleteModuleSkinVars($module_srl, 'P');
}
/**
* Remove mobile skin vars ofa module
* @param $module_srl seqence of module
*/
function deleteModuleMobileSkinVars($module_srl)
{
return $this->_deleteModuleSkinVars($module_srl, 'M');
}
/**
* @brief Remove skin vars of a module
**/
function deleteModuleSkinVars($module_srl) {
function _deleteModuleSkinVars($module_srl, $mode) {
$args->module_srl = $module_srl;
$mode = $mode === 'P' ? 'P' : 'M';
if($mode === 'P')
{
$cache_key = 'object_module_skin_vars:'.$module_srl;
$query = 'module.deleteModuleSkinVars';
}
else
{
$cache_key = 'object_module_mobile_skin_vars:'.$module_srl;
$query = 'module.deleteModuleMobileSkinVars';
}
//remove from cache
$oCacheHandler = &CacheHandler::getInstance('object');
if($oCacheHandler->isSupport())
{
$cache_key = 'object_module_skin_vars:'.$module_srl;
$oCacheHandler->delete($cache_key);
}
return executeQuery('module.deleteModuleSkinVars', $args);
return executeQuery($query, $args);
}
/**

View file

@ -738,6 +738,10 @@
foreach($extra_var_groups as $group) {
$extra_vars = $group->var;
if(!$extra_vars)
{
continue;
}
if(!is_array($group->var)) $extra_vars = array($group->var);
foreach($extra_vars as $key => $val) {
@ -893,7 +897,7 @@
$title = $color->title->body;
$screenshot = $color->attrs->src;
if($screenshot) {
$screenshot = sprintf("%sskins/%s/%s", $path, $skin, $screenshot);
$screenshot = sprintf("%s%s/%s/%s", $path, $dir, $skin, $screenshot);
if(!file_exists($screenshot)) $screenshot = "";
} else $screenshot = "";
@ -1290,15 +1294,67 @@
**/
function syncSkinInfoToModuleInfo(&$module_info) {
if(!$module_info->module_srl) return;
if(Mobile::isFromMobilePhone())
{
$cache_key = 'object_module_mobile_skin_vars:' . $module_info->module_srl;
$query = 'module.getModuleMobileSkinVars';
}
else
{
$cache_key = 'object_module_skin_vars:' . $module_info->module_srl;
$query = 'module.getModuleSkinVars';
}
// cache controll
$oCacheHandler = &CacheHandler::getInstance('object');
if($oCacheHandler->isSupport()){
$cache_key = 'object_module_skin_vars:'.$module_info->module_srl;
$output = $oCacheHandler->get($cache_key);
}
if(!$output) {
$args->module_srl = $module_info->module_srl;
$output = executeQueryArray('module.getModuleSkinVars',$args);
$output = executeQueryArray($query,$args);
//insert in cache
if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key,$output);
}
if(!$output->toBool() || !$output->data) return;
foreach($output->data as $val) {
if(isset($module_info->{$val->name})) continue;
$module_info->{$val->name} = $val->value;
}
}
/**
* Get mobile skin information of the module
* @param $module_srl Sequence of module
* @return array
**/
function getModuleMobileSkinVars($module_srl) {
$args->module_srl = $module_srl;
$output = executeQueryArray('module.getModuleMobileSkinVars',$args);
if(!$output->toBool() || !$output->data) return;
$skin_vars = array();
foreach($output->data as $val) $skin_vars[$val->name] = $val;
return $skin_vars;
}
/**
* Combine skin information with module information
* @param $module_info Module information
**/
function syncMobileSkinInfoToModuleInfo(&$module_info) {
if(!$module_info->module_srl) return;
// cache controll
$oCacheHandler = &CacheHandler::getInstance('object');
if($oCacheHandler->isSupport()){
$cache_key = 'object_module_mobile_skin_vars:'.$module_info->module_srl;
$output = $oCacheHandler->get($cache_key);
}
if(!$output) {
$args->module_srl = $module_info->module_srl;
$output = executeQueryArray('module.getModuleMobileSkinVars',$args);
//insert in cache
if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key,$output);
}

View file

@ -1,11 +0,0 @@
<query id="updateModuleSkinVars" action="update">
<tables>
<table name="modules" />
</tables>
<columns>
<column name="skin_vars" var="skin_vars" />
</columns>
<conditions>
<condition operation="equal" column="module_srl" var="module_srl" filter="number" notnull="notnull" />
</conditions>
</query>

View file

@ -1,142 +1,133 @@
<form action="{Context::getRequestUri()}" method="post" enctype="multipart/form-data" target="hidden_iframe" class="form">
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<form action="./" method="post" enctype="multipart/form-data" class="form">
<input type="hidden" name="module" value="module" />
<input type="hidden" name="vid" value="{$vid}" />
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="act" value="procModuleAdminUpdateSkinInfo" />
<input type="hidden" name="_mode" value="{$mode}" />
<input type="hidden" name="module_srl" value="{$module_info->module_srl}" />
<input type="hidden" name="page" value="{$page}" />
<h2 class="h2">{$lang->skin_default_info}</h2>
<div class="table">
<table width="100%" border="1" cellspacing="0">
<tr>
<th scope="row">{$lang->skin}</th>
<td >{$skin_info->title}</td>
</tr>
<tr>
<th scope="row">{$lang->skin_author}</th>
<td loop="$skin_info->author=>$author">
<ul>
<li>
<p class="q">{$lang->skin}</p>
<p class="a">{$skin_info->title}</p>
</li>
<li>
<p class="q">{$lang->skin_author}</p>
<p class="a">
<block loop="$skin_info->author=>$author">
{$author->name}
<block cond="$author->homepage || $author->email_address">
(<a href="{$author->homepage}" onclick="window.open(this.href);return false;" cond="$author->homepage">{$author->homepage}</a>
<block cond="$author->homepage && $author->email_address">, </block>
<a href="mailto:{$author->email_address}" cond="$author->email_address">{$author->email_address}</a>)
</block><br />
</td>
</tr>
<tr cond="$skin_info->homepage">
<th scope="row">{$lang->homepage}</th>
<td><a href="{$skin_info->homepage}" onclick="window.open(this.href);return false;">{$skin_info->homepage}</a></td>
</tr>
<tr>
<th scope="row">{$lang->date}</th>
<td>{zdate($skin_info->date, 'Y-m-d')}&nbsp;</td>
</tr>
<tr cond="$skin_info->license || $skin_info->license_link">
<th scope="row">{$lang->skin_license}</th>
<td>
{nl2br(trim($skin_info->license))}
<p cond="$skin_info->license_link"><a href="{$skin_info->license_link}" onclick="window.close(); return false;">{$skin_info->license_link}</a></p>
</td>
</tr>
<tr cond="$skin_info->description">
<th scope="row">{$lang->description}</th>
<td>{nl2br(trim($skin_info->description))}</td>
</tr>
</table>
</div>
</block>
</p>
</li>
<li cond="$skin_info->homepage">
<p class="q">{$lang->homepage}</p>
<p class="a"><a href="{$skin_info->homepage}" onclick="window.open(this.href);return false;">{$skin_info->homepage}</a></p>
</li>
<li>
<p class="q">{$lang->date}</p>
<p class="a">{zdate($skin_info->date, 'Y-m-d')}</p>
</li>
<li cond="$skin_info->license || $skin_info->license_link">
<p class="q">{$lang->skin_license}</p>
<p class="a">{nl2br(trim($skin_info->license))}</p>
<p cond="$skin_info->license_link"><a href="{$skin_info->license_link}" onclick="window.close(); return false;">{$skin_info->license_link}</a></p>
</li>
<li cond="$skin_info->description">
<p class="q">{$lang->description}</p>
<p class="a">{nl2br(trim($skin_info->description))}</p>
</li>
</ul>
<h2 class="h2">{$lang->extra_vars}</h2>
<div class="table">
<table width="100%" border="1" cellspacing="0">
<tr valign="top" cond="$skin_info->colorset">
<th scope="row">{$lang->colorset}</th>
<td>
<!--@foreach($skin_info->colorset as $key => $val)-->
<ul>
<li cond="$skin_info->colorset" class="colorset">
<p class="q">{$lang->colorset}</p>
<div class="a">
<block loop="$skin_info->colorset => $key, $val">
<!--@if($val->screenshot)-->
{@ $_img_info = getImageSize($val->screenshot); $_height = $_img_info[1]+40; $_width = $_img_info[0]+20; $_talign = "center"; }
<!--@else-->
{@ $_width = 200; $_height = 20; $_talign = "left"; }
<!--@end-->
<div style="float:left;text-align:{$_talign};margin-bottom:1em;width:{$_width}px;height:{$_height}px;margin-right:10px;">
<input type="radio" name="colorset" value="{$val->name}" id="colorset_{$key}" <!--@if($skin_vars['colorset']->value==$val->name)-->checked="checked"<!--@end-->/>
<div style="display:inline-block;text-align:{$_talign};margin-bottom:1em;width:{$_width}px;height:{$_height}px;margin-right:10px;">
<input type="radio" name="colorset" value="{$val->name}" id="colorset_{$key}" checked="checked"|cond="$skin_vars['colorset']->value==$val->name" />
<label for="colorset_{$key}">{$val->title}</label>
<!--@if($val->screenshot)-->
<br />
<img src="../../../{$val->screenshot}" alt="{$val->title}" style="border:1px solid #888888;padding:2px;margin:2px;"/>
<!--@end-->
<block cond="$val->screenshot">
<br />
<img src="../../../{$val->screenshot}" alt="{$val->title}" style="border:1px solid #888888;padding:2px;margin:2px;"/>
</block>
</div>
<!--@end-->
</td>
</tr>
<!--@foreach($skin_info->extra_vars as $key => $val)-->
<!--@if($val->group && ((!$group) || $group != $val->group))-->
{@$group = $val->group}
</table>
</div>
<h2 class="h2">{$group}</h2>
<div class="table">
<table width="100%" border="1" cellspacing="0">
<!--@end-->
<tr>
<th scope="row">{$val->title}</th>
<td >
<!--@if($val->type=="text")-->
<input type="text" name="{$val->name}" value="{$val->value}" id="target{$val->name}" />
<a href="{getUrl('','module','module','act','dispModuleAdminLangcode','target','target'.$val->name)}" onclick="popopen(this.href);return false;" class="buttonSet buttonSetting"><span>{$lang->cmd_find_langcode}</span></a>
<!--@elseif($val->type=="textarea")-->
<textarea name="{$val->name}" id="target{$val->name}" rows="8" cols="42">{$val->value}</textarea>
<a href="{getUrl('','module','module','act','dispModuleAdminLangcode','target','target'.$val->name)}" onclick="popopen(this.href);return false;" class="buttonSet buttonSetting"><span>{$lang->cmd_find_langcode}</span></a>
<!--@elseif($val->type=="select")-->
</block>
</div>
</li>
<block loop="$skin_info->extra_vars => $key, $val">
<block cond="$val->group && ((!$group) || $group != $val->group)">
{@$group = $val->group}
</ul>
<h2 class="h2">{$group}</h2>
<ul>
</block>
<li>
<p class="q">{$val->title}</p>
<p cond="$val->type == 'text'" class="a multiLangEdit">
{@$use_multilang = true}
<input type="hidden" name="{$val->name}" value="<!--@if(strpos($val->value, '$user_lang->') === false)-->{$val->value}<!--@else-->{htmlspecialchars($val->value)}<!--@end-->" class="vLang" />
<input type="text" value="{$val->value}" class="vLang" />
<span class="desc"><a href="#langEdit" class="editUserLang tgAnchor">{$lang->cmd_set_multilingual}</a></span>
</p>
<div cond="$val->type == 'textarea'" class="a multiLangEdit">
{@$use_multilang_textarea = true}
<input type="hidden" name="{$val->name}" value="<!--@if(strpos($val->value, '$user_lang->') === false)-->{$val->value}<!--@else-->{htmlspecialchars($val->value)}<!--@end-->" class="vLang" />
<textarea rows="8" cols="42" class="vLang">{$val->value}</textarea>
<span class="desc"><a href="#langEditTextarea" class="editUserLang tgAnchor">{$lang->cmd_set_multilingual}</a></span>
</div>
<p cond="$val->type == 'select'" class="a">
<select name="{$val->name}">
<!--@foreach($val->options as $k=>$v)-->
<option value="{$v->value}" selected="selected"|cond="$v->value == $val->value">{$v->title}</option>
<!--@end-->
<option loop="$val->options => $k, $v" value="{$v->value}" selected="selected"|cond="$v->value == $val->value">{$v->title}</option>
</select>
<!--@elseif($val->type=="checkbox")-->
<!--@foreach($val->options as $k=>$v)-->
<span>
</p>
<p cond="$val->type == 'checkbox'" class="a">
<span loop="$val->options => $k, $v">
<input type="checkbox" name="{$val->name}[]" value="{$v->value}" id="ch_{$key}_{$k}" checked="checked"|cond="in_array($v->value, $val->value)" class="checkbox" />
<label for="ch_{$key}_{$k}">{$v->title}</label>
</span>
<!--@end-->
<!--@elseif($val->type=="radio")-->
<!--@foreach($val->options as $k=>$v)-->
<span>
</p>
<p cond="$val->type == 'radio'" class="a">
<span loop="$val->options => $k, $v">
<input type="radio" name="{$val->name}" value="{$v->value}" id="ch_{$key}_{$k}" checked="checked"|cond="$v->value==$val->value" />
<label for="ch_{$key}_{$k}">{$v->title}</label>
</span>
<!--@end-->
<!--@elseif($val->type=="image")-->
<!--@if($val->value)-->
<div>
</p>
<div cond="$val->type == 'image'" class="a">
<div cond="$val->value">
<img src="{$val->value}" /><br />
<input type="checkbox" name="del_{$val->name}" value="Y" id="del_{$val->name}" class="checkbox" />
<label for="del_{$val->name}">{$lang->cmd_delete}</label>
</div>
<!--@end-->
<input type="file" name="{$val->name}" value="" />
<!--@end-->
</div>
<!--@if($val->description)-->
<p class="desc">{nl2br(trim($val->description))}</p>
<!--@end-->
</td>
</tr>
<!--@end-->
</table>
</div>
<p cond="$val->description" class="desc">{nl2br(trim($val->description))}</p>
</li>
</block>
</ul>
<div class="btnArea">
<span class="btn"><input type="submit" value="{$lang->cmd_registration}" /></span>
</div>
</form>
<iframe name="hidden_iframe" frameborder="0" style="display:none"></iframe>
<include target="../../module/tpl/include.multilang.html" />
<include target="../../module/tpl/include.multilang.textarea.html" />

View file

@ -19,6 +19,8 @@
<action name="dispPageAdminAddContent" type="view" standalone="true" />
<action name="dispPageAdminMobileContentModify" type="view" standalone="true" />
<action name="dispPageAdminMobileContent" type="view" standalone="true" />
<action name="dispPageAdminSkinInfo" type="view" standalone="true" />
<action name="dispPageAdminMobileSkinInfo" type="view" standalone="true" />
<action name="procPageAdminRemoveWidgetCache" type="controller" standalone="true" />
<action name="procPageAdminInsert" type="controller" standalone="true" ruleset="insertPage" />

View file

@ -2,7 +2,6 @@
<div class="content">{$lang->content} : {$oDocument->getContent()}</div>
<div class="tag">{$lang->tag} : <block cond="is_array($oDocument->get('tag_list'))">{implode(',', $oDocument->get('tag_list'))}</block></div>
<!--@if($grant->manager)-->
<!--%import("./js/page_admin.js")-->
<div class="tRight clear">
<!--@if($logged_info->is_admin=='Y')-->
<a href="{getUrl('act','dispPageAdminInfo','module_srl',$module_info->module_srl)}" class="button green"><span>{$lang->cmd_setup}...</span></a>

View file

@ -317,5 +317,29 @@
$security = new Security();
$security->encodeHTML('module_info.');
}
/**
* Display skin setting page
*/
function dispPageAdminSkinInfo()
{
$oModuleAdminModel = &getAdminModel('module');
$skin_content = $oModuleAdminModel->getModuleSkinHTML($this->module_info->module_srl);
Context::set('skin_content', $skin_content);
$this->setTemplateFile('skin_info');
}
/**
* Display mobile skin setting page
*/
function dispPageAdminMobileSkinInfo()
{
$oModuleAdminModel = &getAdminModel('module');
$skin_content = $oModuleAdminModel->getModuleMobileSkinHTML($this->module_info->module_srl);
Context::set('skin_content', $skin_content);
$this->setTemplateFile('skin_info');
}
}
?>

View file

@ -22,6 +22,11 @@
<li <!--@if($act=='dispPageAdminInfo')-->class="active"<!--@end-->><a href="{getUrl('act','dispPageAdminInfo')}">{$lang->module_info}</a></li>
<li <!--@if($act=='dispPageAdminPageAdditionSetup')-->class="active"<!--@end-->><a href="{getUrl('act','dispPageAdminPageAdditionSetup')}">{$lang->cmd_addition_setup}</a></li>
<li <!--@if($act=='dispPageAdminGrantInfo')-->class="active"<!--@end-->><a href="{getUrl('act','dispPageAdminGrantInfo')}">{$lang->cmd_manage_grant}</a></li>
<block cond="$module_info->page_type === 'ARTICLE'">
<li <!--@if($act === 'dispPageAdminSkinInfo')-->class="active"<!--@end-->><a href="{getUrl('act','dispPageAdminSkinInfo')}">{$lang->cmd_manage_skin}</a></li>
<li <!--@if($act === 'dispPageAdminMobileSkinInfo')-->class="active"<!--@end-->><a href="{getUrl('act','dispPageAdminMobileSkinInfo')}">{$lang->cmd_manage_mobile_skin}</a></li>
<li></li>
</block>
<!--@else-->
<li <!--@if($act=='dispPageAdminInsert')-->class="active"<!--@end-->><a href="{getUrl('act','dispPageAdminInsert')}">{$lang->cmd_page_create}</a></li>
<!--@end-->