fixed admin theme

git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9089 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
devjin 2011-09-07 10:56:36 +00:00
parent 34cd3544ba
commit bd67a0846e
3 changed files with 34 additions and 16 deletions

View file

@ -195,10 +195,8 @@
$theme_info->publisher[] = $publisher_obj;
}
$skin_infos = $xml_obj->skininfos;
if(is_array($skin_infos->layoutinfo))$layout_path = $skin_infos->layoutinfo[0]->directory->attrs->path;
else $layout_path = $skin_infos->layoutinfo->directory->attrs->path;
$layout = $xml_obj->layout;
$layout_path = $layout->directory->attrs->path;
$layout_parse = explode('/',$layout_path);
switch($layout_parse[1]){
case 'themes' : {
@ -211,7 +209,6 @@
}
}
$layout_info->path = $layout_path;
$theme_info->layout_info = $layout_info;
$site_info = Context::get('site_module_info');
// check layout instance
@ -223,6 +220,7 @@
foreach($layout_list as $val){
if ($val->layout == $layout_info->name){
$is_new_layout = false;
$layout_info->layout_srl = $val->layout_srl;
break;
}
}
@ -238,8 +236,12 @@
// Insert into the DB
$oLayoutAdminController = &getAdminController('layout');
$output = $oLayoutAdminController->insertLayout($args);
$layout_info->layout_srl = $args->layout_srl;
}
$theme_info->layout_info = $layout_info;
$skin_infos = $xml_obj->skininfos;
if(is_array($skin_infos->skininfo))$skin_list = $skin_infos->skininfo;
else $skin_list = array($skin_infos->skininfo);
@ -285,13 +287,19 @@
$searched_count = count($searched_list);
if(!$searched_count) return;
$exceptionModule = array('editor', 'poll', 'homepage', 'textyle');
$oModuleModel = &getModel('module');
foreach($searched_list as $val) {
$skin_list = $oModuleModel->getSkins('./modules/'.$val);
if (is_array($skin_list) && count($skin_list) > 0){
if(!$GLOBALS['__ThemeModuleSkin__'][$val]) $GLOBALS['__ThemeModuleSkin__'][$val] = array();
$GLOBALS['__ThemeModuleSkin__'][$val] = array_merge($GLOBALS['__ThemeModuleSkin__'][$val], $skin_list);
if (is_array($skin_list) && count($skin_list) > 0 && !in_array($val, $exceptionModule)){
if(!$GLOBALS['__ThemeModuleSkin__'][$val]){
$moduleInfo = $oModuleModel->getModuleInfoXml($val);
$GLOBALS['__ThemeModuleSkin__'][$val]['title'] = $moduleInfo->title;
$GLOBALS['__ThemeModuleSkin__'][$val]['skins'] = array();
}
$GLOBALS['__ThemeModuleSkin__'][$val]['skins'] = array_merge($GLOBALS['__ThemeModuleSkin__'][$val]['skins'], $skin_list);
}
}
$GLOBALS['__ThemeModuleSkin__']['__IS_PARSE__'] = true;

View file

@ -563,7 +563,7 @@ $.fn.xeSortableTable = function(){
// get offsets of all list-item elements
offsets = [];
$table.find('tbody>tr:not([target])').each(function() {
$table.find('tbody>tr:not([target],.sticky)').each(function() {
var $this = $(this), o;
o = getOffset(this, $table.get(0));

View file

@ -5,13 +5,18 @@ jQuery(function($){
var themes = {};
<!--@foreach($theme_list as $key=>$val)-->
// Example - default theme
themes['xe_default'] = {
'layout': '82',
'board' : 'xe_v3', // board module has the xe_v3 skin by default
'poll' : 'simple' // poll module has the simple skin by default
{@$skins = array()}
<!--@foreach($val->skin_infos as $module=>$skin_info)-->
{@$skins[] = "'".$module."' : '".$skin_info->name."'";}
<!--@end-->
themes['{$key}'] = {
'layout': '{$val->layout_info->layout_srl}',
{implode(',',$skins)}
};
<!--@end-->
$('#theme').data('themes', themes);
});
@ -35,7 +40,12 @@ $('#theme').data('themes', themes);
<label for="{$key}">{$val->title}({$key})</label>
<ul>
<li>&middot; 버전: {$val->version}</li>
<li>&middot; 제작: {$val->publisher}</li>
<li>&middot; 제작:
<!--@foreach($val->publisher as $publisher)-->
<a href="{$publisher->homepage}" cond="$publisher->homepage">{$publisher->name}</a>
<!--@if(!$publisher->homepage)-->{$publisher->name}<!--@end-->
<!--@endforeach-->
</li>
<li>&middot; 설명: {$val->description}</li>
<li>&middot; 경로: {$val->path}</li>
</ul>
@ -79,7 +89,7 @@ $('#theme').data('themes', themes);
</ul>
</li>
<li loop="$module_list=>$mkey,$mval" cond="$mkey!='__IS_PARSE__'" data-skintype="{$mkey}">
<p class="q">선택한 {$mkey} 스킨</p>
<p class="q">선택한 {$mval['title']} 스킨</p>
<ul class="a">
<li class="i noDirection" cond="!$theme_info->skin_info[$mkey]">
<span class="thumb"><span class="frame"></span></span>
@ -88,7 +98,7 @@ $('#theme').data('themes', themes);
<li>선택한 테마에는 이 항목에 대한 스킨 정보가 없습니다. 스킨을 직접 선택하세요.</li>
</ul>
</li>
<li class="i" loop="$mval=>$skey,$sval">
<li class="i" loop="$mval['skins']=>$skey,$sval">
{@ $id = $mkey.'_'.$skey }
<span class="thumb"><span class="frame"><!--@if($sval->thumbnail)--><img src="{$sval->thumbnail}" alt="" /><!--@else-->Thumbnail does not exist<!--@end--></span></span>
<input type="radio" name="{$mkey}-skin" id="{$id}" value="{$skey}" checked="checked"|cond="$theme_info->skin_info[$mkey]==$skey" />