Close Connection when there is no connection value.

git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@13161 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
misol 2013-09-25 15:29:32 +00:00
parent 034a5c0288
commit f70ce644ce
1410 changed files with 7188 additions and 53541 deletions

View file

@ -5,13 +5,9 @@
<permission action="procMenuAdminUpdateAuth" target="manager" />
<permissions />
<actions>
<action name="dispMenuAdminContent" type="view" standalone="true" />
<action name="dispMenuAdminInsert" type="view" standalone="true" />
<action name="dispMenuAdminManagement" type="view" standalone="true" />
<action name="dispMenuAdminMidList" type="view" standalone="true" />
<action name="dispMenuAdminSiteMap" type="view" standalone="true" admin_index="true" menu_name="siteMap" menu_index="true" />
<action name="dispMenuAdminSiteDesign" type="view" standalone="true" menu_name="siteDesign" menu_index="true" />
<action name="dispMenuAdminSkinSetup" type="view" standalone="true" />
<action name="getMenuAdminTplInfo" type="model" standalone="true" />
<action name="getMenuAdminItemInfo" type="model" standalone="true" />

View file

@ -873,6 +873,18 @@ Menu không phải là người quản lý, nhiệm vụ của nó chỉ là li
<value xml:lang="ko"><![CDATA[메뉴 타입 변경을 위해서는 메뉴를 삭제 후 재생성 해야 됩니다.]]></value>
<value xml:lang="en"><![CDATA[To change the menu type, you have to delete and recreate the menu.]]></value>
</item>
<item name="how_to_modify_menu">
<value xml:lang="ko"><![CDATA[생성한 메뉴는 [메뉴 수정]에서 수정 할 수 있습니다.]]></value>
<value xml:lang="en"><![CDATA[생성한 메뉴는 [메뉴 수정]에서 수정 할 수 있습니다.]]></value>
</item>
<item name="can_drag_menu">
<value xml:lang="ko"><![CDATA[사이트 맵에서 메뉴를 드래그 해서도 위치를 변경 할 수 있습니다.]]></value>
<value xml:lang="en"><![CDATA[사이트 맵에서 메뉴를 드래그 해서도 위치를 변경 할 수 있습니다.]]></value>
</item>
<item name="good_to_duplicate_layout">
<value xml:lang="ko"><![CDATA[레이아웃 설정 변경 시, [복사본 생성] 버튼을 눌러 복사본을 만들어 설정을 변경 하는 것이 좋습니다.]]></value>
<value xml:lang="en"><![CDATA[레이아웃 설정 변경 시, [복사본 생성] 버튼을 눌러 복사본을 만들어 설정을 변경 하는 것이 좋습니다.]]></value>
</item>
<item name="img_uploaded">
<value xml:lang="ko"><![CDATA[버튼 이미지가 등록 됐습니다.]]></value>
<value xml:lang="en"><![CDATA[Button image is uploaded.]]></value>
@ -885,4 +897,22 @@ Menu không phải là người quản lý, nhiệm vụ của nó chỉ là li
<value xml:lang="ko"><![CDATA[다시 보지 않기.]]></value>
<value xml:lang="en"><![CDATA[Do not display again.]]></value>
</item>
<item name="need_ftp_password">
<value xml:lang="ko"><![CDATA[FTP 계정 정보가 필요 합니다.]]></value>
</item>
<item name="need_ftp_password_title">
<value xml:lang="ko"><![CDATA[FTP 비밀번호]]></value>
</item>
<item name="need_core_update">
<value xml:lang="ko"><![CDATA[설치하려면 XE core 업데이트가 필요합니다]]></value>
</item>
<item name="need_core_update_continue">
<value xml:lang="ko"><![CDATA[XE core 업데이트가 함께 진행됩니다. 계속하시겠습니까?]]></value>
</item>
<item name="not_found_module">
<value xml:lang="ko"><![CDATA[모듈이 존재하지 않음]]></value>
</item>
<item name="no_skin">
<value xml:lang="ko"><![CDATA[스킨 없음]]></value>
</item>
</lang>

View file

@ -63,21 +63,41 @@ class menuAdminController extends menu
{
// List variables
$site_module_info = Context::get('site_module_info');
$output = $this->addMenu(Context::get('title'), (int)$site_module_info->site_srl);
if(!$output->toBool()) return $output;
$this->add('menu_srl', $output->get('menuSrl'));
$this->setMessage('success_registed');
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispMenuAdminContent');
$this->setRedirectUrl($returnUrl);
}
/**
* Add a menu
*
* @param string $title
* @param int $siteSrl
* @return Object If success, it contains menuSrl
*/
public function addMenu($title, $siteSrl = 0)
{
$args = new stdClass();
$args->site_srl = (int)$site_module_info->site_srl;
$args->title = Context::get('title');
$args->site_srl = $siteSrl;
$args->title = $title;
$args->menu_srl = getNextSequence();
$args->listorder = $args->menu_srl * -1;
$output = executeQuery('menu.insertMenu', $args);
if(!$output->toBool()) return $output;
if(!$output->toBool())
{
return $output;
}
$this->add('menu_srl', $args->menu_srl);
$this->setMessage('success_registed');
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispMenuAdminContent');
$this->setRedirectUrl($returnUrl);
$output->add('menuSrl', $args->menu_srl);
return $output;
}
/**
@ -171,6 +191,9 @@ class menuAdminController extends menu
$args = new stdClass();
$args->menu_srl = $menu_srl;
$oMenuAdminModel = &getAdminModel('menu');
$menuInfo = $oMenuAdminModel->getMenu($args->menu_srl);
// Delete modules
$output = executeQueryArray('menu.getMenuItems', $args);
if(!$output->toBool())
@ -275,7 +298,7 @@ class menuAdminController extends menu
if(!$isProc)
{
return $args->menu_item_srl;
return $this->get('menu_item_srl');
}
}
@ -355,6 +378,7 @@ class menuAdminController extends menu
$args->name = $request->menu_name;
$args->parent_srl = $request->parent_srl;
$args->is_shortcut = $request->is_shortcut;
$args->url = '#';
}
$args->menu_item_srl = getNextSequence();
@ -525,7 +549,7 @@ class menuAdminController extends menu
}
else
{
return new Object(-1, 'msg_invalid_request');
$args->url = '#';
}
}
else
@ -637,6 +661,15 @@ class menuAdminController extends menu
$this->makeXmlFile($args->menu_srl);
}
public function updateMenuItem($itemInfo)
{
$output = executeQuery('menu.updateMenuItem', $itemInfo);
// recreate menu cache file
$this->makeXmlFile($itemInfo->menu_srl);
return $output;
}
/**
* Delete menu item(menu of the menu)
* @return void|Object
@ -678,7 +711,7 @@ class menuAdminController extends menu
$itemInfo = $oMenuAdminModel->getMenuItemInfo($args->menu_item_srl);
$args->menu_srl = $itemInfo->menu_srl;
// Display an error that the category cannot be deleted if it has a child node 603
// Display an error that the category cannot be deleted if it has a child node 603
if($args->is_force != 'Y')
{
$output = executeQuery('menu.getChildMenuCount', $args);
@ -1035,6 +1068,7 @@ class menuAdminController extends menu
$copyArg->module_srl = $moduleInfo->module_srl;
$copyArg->mid_1 = $args->module_id;
$copyArg->browser_title_1 = $moduleInfo->browser_title;
$copyArg->isMenuCreate = FALSE;
$copiedModuleSrl = $oModuleAdminController->procModuleAdminCopyModule($copyArg);
$args->module_srl = $copiedModuleSrl;
@ -1843,7 +1877,7 @@ class menuAdminController extends menu
if($hover_btn) $hover_str = sprintf('onmouseover=\"this.src=\'%s\'\"', $hover_btn); else $hover_str = '';
if($active_btn) $active_str = sprintf('onmousedown=\"this.src=\'%s\'\"', $active_btn); else $active_str = '';
$link = sprintf('"<img src=\"%s\" onmouseout=\"this.src=\'%s\'\" alt=\"".$_menu_names[%d][$lang_type]."\" %s %s %s />"', $normal_btn, $normal_btn, $node->menu_item_srl, $hover_str, $active_str, $classname);
if($active_btn) $link_active = sprintf('"<img src=\"%s\" alt=\"".$_menu_names[%d][$lang_type]."\" %s />"', $active_btn, $node->menu_item_srl, $classname);
if($active_btn) $link_active = sprintf('"<img src=\"%s\" onmouseout=\"this.src=\'%s\'\" alt=\"".$_menu_names[%d][$lang_type]."\" %s %s />"', $active_btn, $active_btn, $node->menu_item_srl, $hover_str, $classname);
else $link_active = $link;
}
else

View file

@ -92,11 +92,16 @@ class menuAdminModel extends menu
* @param string $title
* @return object
*/
function getMenuByTitle($title)
function getMenuByTitle($title, $site_srl = 0)
{
// Get information from the DB
if(!is_array($title))
{
$title = array($title);
}
$args = new stdClass();
$args->title = $title;
$args->site_srl = $site_srl;
$output = executeQuery('menu.getMenuByTitle', $args);
if(!$output->data) return;
@ -111,6 +116,26 @@ class menuAdminModel extends menu
return $menu_info;
}
/**
* Get information of a new menu from the DB, search condition is menu title
* Return DB and XML information of the menu(list Type)
* @param string $title
* @return object
*/
function getMenuListByTitle($title)
{
// Get information from the DB
$args = new stdClass();
$args->title = $title;
$output = executeQueryArray('menu.getMenuByTitle', $args);
if(!$output->data)
{
return array();
}
return $output->data;
}
/**
* Return item information of the menu_srl
* group_srls uses a seperator with comma(,) and converts to an array by explode
@ -249,7 +274,7 @@ class menuAdminModel extends menu
}
// Get language code
$oModuleAdminModel = &getAdminModel('module');
return $oModuleAdminModel->getLangCode($site_srl, $source_name);
return $oModuleAdminModel->getLangCode($site_srl, $source_name, TRUE);
}
/**
@ -306,7 +331,56 @@ class menuAdminModel extends menu
*/
function getMenuAdminInstalledMenuType()
{
$oModuleModel = getModel('module');
$oAutoinstallModel = getModel('autoinstall');
$this->add('menu_types', $this->getModuleListInSitemap(0));
$_allModules = $oModuleModel->getModuleList();
$allModules = array();
Context::loadLang('modules/page/lang');
foreach($_allModules AS $key=>$value)
{
//$moduleInfo = $oModuleModel->getModuleInfoXml($value->module);
$defaultSkin = $oModuleModel->getModuleDefaultSkin($value->module, 'P');
$defaultMobileSkin = $oModuleModel->getModuleDefaultSkin($value->module, 'M');
$skinInfo = $oModuleModel->loadSkinInfo(ModuleHandler::getModulePath($value->module), $defaultSkin);
$mobileSkinInfo = $oModuleModel->loadSkinInfo(ModuleHandler::getModulePath($value->module), $defaultMobileSkin, 'm.skins');
$value->defaultSkin = new stdClass();
$value->defaultSkin->skin = $defaultSkin;
$value->defaultSkin->title = $skinInfo->title ? $skinInfo->title : $defaultSkin;
$value->defaultMobileSkin = new stdClass();
$value->defaultMobileSkin->skin = $defaultMobileSkin;
$value->defaultMobileSkin->title = $mobileSkinInfo->title ? $mobileSkinInfo->title : $defaultMobileSkin;
$value->package_srl = $oAutoinstallModel->getPackageSrlByPath('./modules/' . $value->module);
$value->url = _XE_LOCATION_SITE_ . '?mid=download&package_srl=' . $value->package_srl;
if($value->module == 'page')
{
$pageTypeName = Context::getLang('page_type_name');
$value->title = $pageTypeName['ARTICLE'];
$allModules['ARTICLE'] = $value;
$wModuleInfo = clone $value;
unset($wModuleInfo->default_skin);
unset($wModuleInfo->default_mskin);
$wModuleInfo->title = $pageTypeName['WIDGET'];
$wModuleInfo->no_skin = 'Y';
$allModules['WIDGET'] = $wModuleInfo;
$oModuleInfo = clone $value;
unset($oModuleInfo->default_skin);
unset($oModuleInfo->default_mskin);
$oModuleInfo->title = $pageTypeName['OUTSIDE'];
$oModuleInfo->no_skin = 'Y';
$allModules['OUTSIDE'] = $oModuleInfo;
}
else
{
$allModules[$value->module] = $value;
}
}
$this->add('all_modules', $allModules);
}
/**
@ -318,15 +392,17 @@ class menuAdminModel extends menu
function getModuleListInSitemap($site_srl = 0)
{
$oModuleModel = &getModel('module');
$columnList = array('module');
$moduleList = array('page');
$output = $oModuleModel->getModuleListByInstance($site_srl, $columnList);
$output = $oModuleModel->getModuleListByInstance($site_srl);
if(is_array($output->data))
{
foreach($output->data AS $key=>$value)
{
array_push($moduleList, $value->module);
if($value->instanceCount > 1)
{
array_push($moduleList, $value->module);
}
}
}
@ -337,7 +413,7 @@ class menuAdminModel extends menu
$localModuleList = array_unique($moduleList);
$oAutoinstallModel = getModel('autoinstall');
// get have instance
$remotePackageList = $oAutoinstallModel->getHaveInstance(array('path'));
$remoteModuleList = array();
@ -354,9 +430,10 @@ class menuAdminModel extends menu
// union have instance and all module list
$haveInstance = array_intersect($remoteModuleList, $allModuleList);
$haveDirectory = array_intersect($localModuleList, $allModuleList);
// union
$moduleList = array_unique(array_merge($localModuleList, $haveInstance));
$moduleList = array_unique(array_merge($haveDirectory, $haveInstance));
$moduleInfoList = array();
Context::loadLang('modules/page/lang');
@ -365,19 +442,6 @@ class menuAdminModel extends menu
foreach($moduleList AS $key=>$value)
{
$moduleInfo = $oModuleModel->getModuleInfoXml($value);
$defaultSkin = $oModuleModel->getModuleDefaultSkin($value, 'P');
$defaultMobileSkin = $oModuleModel->getModuleDefaultSkin($value, 'M');
$skinInfo = $oModuleModel->loadSkinInfo(ModuleHandler::getModulePath($value), $defaultSkin);
$mobileSkinInfo = $oModuleModel->loadSkinInfo(ModuleHandler::getModulePath($value), $defaultMobileSkin, 'm.skins');
$moduleInfo->defaultSkin = new stdClass();
$moduleInfo->defaultSkin->skin = $defaultSkin;
$moduleInfo->defaultSkin->title = $skinInfo->title ? $skinInfo->title : $defaultSkin;
$moduleInfo->defaultMobileSkin = new stdClass();
$moduleInfo->defaultMobileSkin->skin = $defaultMobileSkin;
$moduleInfo->defaultMobileSkin->title = $mobileSkinInfo->title ? $mobileSkinInfo->title : $defaultMobileSkin;
$moduleInfo->package_srl = $oAutoinstallModel->getPackageSrlByPath('./modules/' . $value);
$moduleInfo->url = _XE_LOCATION_SITE_ . '?mid=download&package_srl=' . $moduleInfo->package_srl;
if($value == 'page')
{
@ -538,7 +602,11 @@ class menuAdminModel extends menu
// get xml info
$moduleConfInfo = $oModuleModel->getModuleInfoXml($moduleInfo->module);
$setupUrl = getNotEncodedUrl('', 'module', 'admin', 'act', $moduleConfInfo->setup_index_act, 'module_srl', $moduleInfo->module_srl, 'isLayoutDrop', '1');
if($moduleConfInfo->setup_index_act)
{
$setupUrl = getNotEncodedUrl('', 'module', 'admin', 'act', $moduleConfInfo->setup_index_act, 'module_srl', $moduleInfo->module_srl, 'isLayoutDrop', '1');
}
if($moduleConfInfo->simple_setup_index_act)
{
$oTargetmoduleAdminModel = &getAdminModel($moduleInfo->module);
@ -584,7 +652,8 @@ class menuAdminModel extends menu
unset($moduleInfo);
$midInfo = $oModuleModel->getModuleInfoByMid($menu['url'], $siteSrl);
$moduleInfo = $oModuleModel->getModuleInfoXml($midInfo->module);
if($moduleInfo->setup_index_act)
if($midInfo)
{
$menu['module_srl'] = $midInfo->module_srl;
$menu['module'] = $midInfo->module;
@ -596,8 +665,17 @@ class menuAdminModel extends menu
{
$menu['module_type'] = $midInfo->module;
}
}
if($moduleInfo->setup_index_act)
{
$menu['setup_index_act'] = $moduleInfo->setup_index_act;
}
else if($moduleInfo->default_index_act)
{
$menu['setup_index_act'] = $moduleInfo->default_index_act;
}
if($menu['is_shortcut'] == 'N' && $midInfo->mid == $start_module->mid)
{
$menu['is_start_module'] = true;

View file

@ -20,112 +20,6 @@ class menuAdminView extends menu
$this->setTemplatePath($this->module_path.'tpl');
}
/**
* The first page of the menu admin
* @return void
*/
function dispMenuAdminContent()
{
// Get a list of registered menus
$obj->page = Context::get('page');
$obj->sort_index = 'listorder';
$obj->list_count = 20;
$obj->page_count = 20;
$oMenuModel = &getAdminModel('menu');
$output = $oMenuModel->getMenuList($obj);
Context::set('total_count', $output->total_count);
Context::set('total_page', $output->total_page);
Context::set('page', $output->page);
Context::set('menu_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
//Security
$security = new Security();
$security->encodeHTML('menu_list..title');
$this->setTemplateFile('index');
}
/**
* Page to insert a menu
* @return void
*/
function dispMenuAdminInsert()
{
// Set the menu with menu information
$menu_srl = Context::get('menu_srl');
if($menu_srl)
{
// Get information of the menu
$oMenuModel = &getAdminModel('menu');
$menu_info = $oMenuModel->getMenu($menu_srl);
if($menu_info->menu_srl == $menu_srl) Context::set('menu_info', $menu_info);
}
$this->setTemplateFile('menu_insert');
}
/**
* Menu admin page
* @return void
*/
function dispMenuAdminManagement()
{
// Get information of the menu
$menu_srl = Context::get('menu_srl');
if(!$menu_srl) return $this->dispMenuAdminContent();
// Get information of the menu
$oMenuModel = &getAdminModel('menu');
$menu_info = $oMenuModel->getMenu($menu_srl);
if($menu_info->menu_srl != $menu_srl) return $this->dispMenuAdminContent();
Context::set('menu_info', $menu_info);
//Security
$security = new Security();
$security->encodeHTML('menu_info..title');
// Set the layout to be pop-up
$this->setTemplateFile('menu_management');
}
/**
* Display a mid list to be able to select on the menu
* Perphaps this method not use
* @return void
*/
function dispMenuAdminMidList()
{
$oModuleModel = &getModel('module');
// Get a list of module categories
$module_category = $oModuleModel->getModuleCategories();
Context::set('module_category', $module_category);
// Get a list of modules
$module_list = $oModuleModel->getModuleList();
Context::set('module_list', $module_list);
// Get a list of mid
$args->module_category_srl = Context::get('module_category_srl');
$args->module = Context::get('target_module');
$columnList = array('module_srl', 'module', 'module_category_srl', 'browser_title');
$mid_list = $oModuleModel->getMidList($args, $columnList);
Context::set('mid_list', $mid_list);
// Set the menu as a pop-up
$this->setLayoutFile('popup_layout');
//Security
$security = new Security();
$security->encodeHTML('module_category..title');
$security->encodeHTML('module_list..module');
$security->encodeHTML('mid_list..module');
$security->encodeHTML('mid_list..browser_title');
// Set a template file
$this->setTemplateFile('mid_list');
}
/**
* Site map admin menu index page
* @return void
@ -234,44 +128,6 @@ class menuAdminView extends menu
$this->setTemplateFile('sitemap');
}
/**
* Module skin setup common page
* @return void
*/
public function dispMenuAdminSkinSetup()
{
$menuItemSrl = Context::get('menu_item_srl');
if(!$menuItemSrl)
{
return new Object(-1, 'msg_invalid_request');
}
$oMenuAdminModel = &getAdminModel('menu');
$menuItemInfo = $oMenuAdminModel->getMenuItemInfo($menuItemSrl);
if(!$menuItemInfo->menu_item_srl)
{
return new Object(-1, 'msg_invalid_request');
}
// If menu type is not module
if(empty($menuItemInfo->url) || preg_match('/^http/i', $menuItemInfo->url))
{
return new Object(-1, 'msg_invalid_request');
}
$oModuleModel = &getModel('module');
$moduleInfo = $oModuleModel->getModuleInfoByMid($menuItemInfo->url);
// get the grant infotmation from admin module
$oModuleAdminModel = &getAdminModel('module');
$skin_content = $oModuleAdminModel->getModuleSkinHTML($moduleInfo->module_srl);
Context::set('skin_content', $skin_content);
$this->setLayoutPath('common/tpl');
$this->setLayoutFile('default_layout');
$this->setTemplateFile('skin_info');
}
/**
* Setting menu information(recursive)
* @param array $menu

View file

@ -42,10 +42,26 @@ class menuMobile extends moduleObject
$menu_srl = Context::get('menu_srl');
$oAdminModel =& getAdminModel('menu');
$menu_info = $oAdminModel->getMenu($menu_srl);
if(file_exists($menu_info->php_file)) @include($menu_info->php_file);
foreach($menu->list as $menu_item)
if(!$menu_srl)
{
$this->straightenMenu($menu_item, 0);
$oMenuAdminController = getAdminController('menu');
$homeMenuCacheFile = $oMenuAdminController->getHomeMenuCacheFile();
if(file_exists($homeMenuCacheFile))
{
@include($homeMenuCacheFile);
}
$menu_info->php_file = './files/cache/menu/'.$homeMenuSrl.'.php';
}
if(file_exists($menu_info->php_file)) @include($menu_info->php_file);
if(is_array($menu->list))
{
foreach($menu->list as $menu_item)
{
$this->straightenMenu($menu_item, 0);
}
}
Context::set('menu', $this->result);

View file

@ -6,6 +6,7 @@
<column name="*" />
</columns>
<conditions>
<condition operation="equal" column="title" var="title" notnull="notnull" />
<condition operation="in" column="title" var="title" notnull="notnull" />
<condition operation="equal" column="site_srl" var="site_srl" default="0" pipe="and" />
</conditions>
</query>

View file

@ -1,3 +0,0 @@
<script>
function {$callback} ('{$resultJson}');
</script>

View file

@ -39,7 +39,7 @@ body>.x{max-width:none !important}
#site .btnBoth,
#site .x_btn-group{text-align:right}
#site .btnBoth:after{content:"";display:block;clear:both}
.col{display:inline-block;*display:inline;*zoom:1;vertical-align:top;position:relative;background-color:#ddd;white-space:normal;height:100%;min-width:245px;padding:10px;margin:0 4px 0 0;border-radius:5px;box-shadow:1px 1px 1px #999;background-image:-webkit-linear-gradient(top, #eee, #ddd 18px, #ccc 18px, #ddd 33px);background-image:-moz-linear-gradient(top, #eee, #ddd 18px, #ccc 18px, #ddd 33px);background-image:-o-linear-gradient(top, #eee, #ddd 18px, #ccc 18px, #ddd 33px);background-image:linear-gradient(top, #eee, #ddd 18px, #ccc 18px, #ddd 33px)}
.col{display:inline-block;*display:inline;*zoom:1;vertical-align:top;position:relative;overflow:hidden;background-color:#ddd;white-space:normal;height:100%;min-width:245px;padding:10px;margin:0 4px 0 0;border-radius:5px;box-shadow:1px 1px 1px #999;background-image:-webkit-linear-gradient(top, #eee, #ddd 18px, #ccc 18px, #ddd 33px);background-image:-moz-linear-gradient(top, #eee, #ddd 18px, #ccc 18px, #ddd 33px);background-image:-o-linear-gradient(top, #eee, #ddd 18px, #ccc 18px, #ddd 33px);background-image:linear-gradient(top, #eee, #ddd 18px, #ccc 18px, #ddd 33px)}
.col>h1,
.col>*>h1{line-height:32px !important;font-size:16px !important;margin:-10px -10px 0 -10px;color:#000 !important;padding:0 8px;text-shadow:0 1px 0 #fff;max-width:240px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.col>*>h1>a{color:#000;text-decoration:none}
@ -186,7 +186,7 @@ body>.x{max-width:none !important}
.theme li:after{content:"";display:block;clear:both}
.theme .list>ul>li{padding:8px 0 8px 120px;border-top:1px dashed #ddd;position:relative}
.theme .list>ul>li:first-child{border:0}
.theme .list>ul>li>label{position:relative;color:#333;font-size:13px;white-space:nowrap;line-height:15px;margin:0 0 0 -120px;padding:0;border-bottom:0;cursor:pointer}
.theme .list>ul>li>label{position:relative;color:#333;font-size:13px;white-space:nowrap;line-height:15px;margin:0 0 0 -120px;padding:0;border-bottom:0;cursor:pointer;zoom:1}
.theme .item{position:relative;float:left;margin:5px -110px 0 -120px;display:inline;width:112px;height:85px;border:1px solid #ddd;overflow:hidden;border-radius:3px}
.theme .selected{background:#FFC}
.theme .selected>label{font-weight:bold}
@ -236,8 +236,6 @@ body>.x{max-width:none !important}
#add_menu label{font-weight:bold}
#add_menu .x_tabbable{padding-top:8px}
#add_menu .desc{width:220px;min-height:50px;border-bottom:1px solid #ddd;color:#666;margin:0;padding:5px 0}
#add_menu .desc>a{overflow:hidden;font-size:0;text-indent:20px;display:inline-block;width:14px;height:14px;opacity:.5;filter:alpha(opacity=50);vertical-align:middle}
#add_menu .desc>a:after{content:normal}
#add_menu .x_btn-group{position:absolute;margin:0;left:4px;right:4px;bottom:4px}
/* Default */
#default .menuType{border:1px solid #ddd;border-left:0;border-right:0}
@ -275,13 +273,16 @@ body>.x{max-width:none !important}
#design .btnBoth{border:0}
#design img{width:220px}
#design .shadow{position:relative;box-shadow:0 0 4px #999 inset;padding:4px;height:160px;overflow:hidden;border-radius:3px;*border:1px solid #ddd}
#design .shadow>iframe{border:0;*zoom:0.2;-webkit-transform-origin:0 0;-webkit-transform:scale(.20);-moz-transform-origin:0 0;-moz-transform:scale(.20);-0-transform-origin:0 0;-0-transform:scale(.20);-ms-transform-origin:0 0;-ms-transform:scale(.20);transform-origin:0 0;transform:scale(.20);position:absolute}
#design .shadow>iframe{border:0;-webkit-transform-origin:0 0;-webkit-transform:scale(.20);-moz-transform-origin:0 0;-moz-transform:scale(.20);-0-transform-origin:0 0;-0-transform:scale(.20);-ms-transform-origin:0 0;-ms-transform:scale(.20);transform-origin:0 0;transform:scale(.20);position:absolute}
/*body{background:red}*/
#design #pc .shadow>iframe{width:1024px;height:768px;left:50%;margin-left:-102px}
#design #mobile .shadow>iframe{width:480px;height:800px;left:50%;margin-left:-48px}
#design .x_icon-zoom-in{position:absolute;right:4px;bottom:4px;width:24px;height:24px;border-radius:3px;background-color:#666;opacity:.75;filter:alpha(opacity:75);background-position:-331px 5px}
#design .x_icon-zoom-in:after{content:normal}
#design .mask{position:absolute;width:100%;height:100%;top:0;left:0}
#design .mask.on_message{background:#666;color:white}
#design .mask.loading{background:white}
#design .mask>span{display:block;padding:10px;text-align:center}
#design .btnBoth{position:absolute;bottom:4px;left:4px;right:4px;margin:0}
#design._mobile_view_disabled #mobile .shadow,
#design._mobile_view_disabled._mobileMode .nav,
@ -315,5 +316,5 @@ body>.x{max-width:none !important}
._siteDesign .theme .cnt>label:first-child{display:none !important}
._siteDesign #design ._site{display:block}
/* Help Alert */
._quick_help{display:none;position:fixed !important;*position:absolute !important;top:60px;left:226px;z-index:100;width:600px;box-shadow:0 0 3px #000;color:#333}
._quick_help{display:none;position:fixed !important;*position:absolute !important;top:85px;left:226px;z-index:100;width:600px;box-shadow:0 0 3px #000;color:#333}
._quick_help>label{display:inline-block;cursor:pointer}

View file

@ -0,0 +1,2 @@
@charset "utf-8";
#design .shadow>iframe{zoom:0.2}

View file

@ -1,9 +0,0 @@
<filter name="delete_menu" module="menu" act="procMenuAdminDelete" confirm_msg_code="confirm_delete">
<form>
<node target="menu_srl" required="true" />
</form>
<response callback_func="completeDeleteMenu">
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1,13 +0,0 @@
<filter name="delete_menu_item" module="menu" act="procMenuAdminDeleteItem" confirm_msg_code="confirm_delete">
<form>
<node target="menu_srl" required="true" />
</form>
<response callback_func="completeDeleteMenuItem">
<tag name="error" />
<tag name="message" />
<tag name="menu_title" />
<tag name="xml_file" />
<tag name="menu_srl" />
<tag name="menu_item_srl" />
</response>
</filter>

View file

@ -1,10 +0,0 @@
<filter name="insert_menu" module="menu" act="procMenuAdminInsert" confirm_msg_code="confirm_submit">
<form>
<node target="title" required="true" />
</form>
<response callback_func="completeInsertMenu">
<tag name="error" />
<tag name="message" />
<tag name="menu_srl" />
</response>
</filter>

View file

@ -1,14 +0,0 @@
<filter name="insert_menu_item" module="menu" act="procMenuAdminInsertItem" confirm_msg_code="confirm_submit">
<form>
<node target="menu_srl" required="true" />
</form>
<response callback_func="completeInsertMenuItem">
<tag name="error" />
<tag name="message" />
<tag name="menu_srl" />
<tag name="xml_file" />
<tag name="menu_title" />
<tag name="menu_item_srl" />
<tag name="parent_srl" />
</response>
</filter>

View file

@ -1,10 +0,0 @@
<filter name="move_menu_item" module="menu" act="procMenuAdminMoveItem" confirm_msg_code="confirm_move">
<form />
<parameter />
<response callback_func="completeMoveMenuItem">
<tag name="error" />
<tag name="message" />
<tag name="xml_file" />
<tag name="source_item_srl" />
</response>
</filter>

View file

@ -1,9 +0,0 @@
<filter name="update_menu_title" module="menu" act="procMenuAdminUpdate" confirm_msg_code="confirm_update">
<form>
<node target="menu_srl" required="true" />
</form>
<response>
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1,3 +0,0 @@
<h3 class="xeAdmin"><span class="gray">{$lang->menu_management}</span></h3>
<div class="infoText">{nl2br($lang->about_menu)}</div>

View file

@ -1,51 +0,0 @@
<!--%import("filter/delete_menu.xml")-->
<!--%import("js/menu_admin.js")-->
<!--#include("header.html")-->
<!-- 삭제를 위한 임시 form -->
<form id="fo_menu" action="./" method="get">
<input type="hidden" name="menu_srl" value="" />
</form>
<!-- 목록 -->
<table class="x_table x_table-striped x_table-hover">
<caption>Total {number_format($total_count)}, Page {number_format($page)}/{number_format($total_page)}</caption>
<thead>
<tr>
<th scope="col">{$lang->no}</th>
<th scope="col" >{$lang->title}</th>
<th scope="col">{$lang->regdate}</th>
<th scope="col">&nbsp;</th>
</tr>
</thead>
<tbody>
<!--@foreach($menu_list as $no => $val)-->
<tr class="row{$cycle_idx}">
<td>{$no}</td>
<td >{$val->title}</td>
<td>{zdate($val->regdate,"Y-m-d")}</td>
<td>
<a href="{getUrl('act','dispMenuAdminManagement','menu_srl',$val->menu_srl)}">{$lang->cmd_setup}</a>
<button type="button" onclick="doDeleteMenu('{$val->menu_srl}');return false;" title="{$lang->cmd_delete}" class="text">{$lang->cmd_delete}</button>
</td>
</tr>
<!--@end-->
</tbody>
</table>
<div class="btnArea">
<a class="btn" href="{getUrl('act','dispMenuAdminInsert','module_srl','')}">{$lang->cmd_make}</a>
</div>
<!-- 페이지 네비게이션 -->
<div class="pagination">
<a href="{getUrl('page','','module_srl','')}" class="direction">&lsaquo; {$lang->first_page}</a>
<!--@while($page_no = $page_navigation->getNextPage())-->
<!--@if($page == $page_no)-->
<strong>{$page_no}</strong>
<!--@else-->
<a href="{getUrl('page',$page_no,'module_srl','')}">{$page_no}</a>
<!--@end-->
<!--@end-->
<a href="{getUrl('page',$page_navigation->last_page,'module_srl','')}" class="direction">{$lang->last_page} &rsaquo;</a>
</div>

View file

@ -1,10 +0,0 @@
<!--@if($error_message)-->
<script>
alert("{$error_message}");
</script>
<!--@else-->
<script>
top.completeMenuUploadButton("{$target}", "{$filename}");
</script>
<!--@end-->

View file

@ -1,26 +0,0 @@
<!--%import("js/menu_admin.js")-->
<!--#include("header.html")-->
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<form ruleset="insertMenu" action="./" method="post">
<input type="hidden" name="module" value="menu" />
<input type="hidden" name="act" value="procMenuAdminInsert" />
<table class="x_table x_table-striped x_table-hover">
<tr>
<th scope="col">{$lang->cmd_menu_insert}</th>
<td>{nl2br($lang->about_menu_management)}</td>
</tr>
<tr>
<th scope="col">{$lang->title}</th>
<td>
<input type="text" name="title" value="{$menu_info->title}" />
<p>{$lang->about_title}</p>
</td>
</tr>
</table>
<div class="btnArea">
<input class="btn" type="submit" value="{$lang->cmd_submit}" />
</div>
</form>

View file

@ -1,121 +0,0 @@
<input type="hidden" name="menu_item_srl" value="{$item_info->menu_item_srl}" />
<input type="hidden" name="parent_srl" value="{$item_info->parent_srl}" />
<input type="hidden" name="normal_btn" value="{$item_info->normal_btn}" />
<input type="hidden" name="hover_btn" value="{$item_info->hover_btn}" />
<input type="hidden" name="active_btn" value="{$item_info->active_btn}" />
<div class="layer" style="display:block;">
<h3 class="h3">{$lang->menu}</h3>
<button type="button" onclick="hideCategoryInfo();return false" >{$lang->cmd_close}</button>
<div class="layerBody">
<table class="x_table x_table-striped x_table-hover">
<!--@if($item_info->parent_menu_name)-->
<tr class="row{$cycle_idx}">
<th scope="row">{$lang->parent_menu_name}</th>
<td>{$item_info->parent_menu_name}</td>
</tr>
<!--@end-->
<tr>
<th scope="row">{$lang->menu_name}</th>
<td>
<input type="text" name="menu_name" id="menu_name" value="{$item_info->name}" />
<a href="{getUrl('','module','module','act','dispModuleAdminLangcode','target','menu_name')}" onclick="popopen(this.href);return false;" class="buttonSet buttonSetting"><span>{$lang->cmd_find_langcode}</span></a> </td>
</tr>
<tr>
<th scope="row">{$lang->menu_url}</th>
<td>
<input type="text" name="menu_url" value="{$item_info->url}" />
<a href="{getUrl('module','menu','act','dispMenuAdminMidList')}" onclick="popopen(this.href);return false;" class="button black"><span>{$lang->cmd_search_mid}</span> </a>
<p>{$lang->about_menu_url}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->menu_open_window}</th>
<td> <input type="checkbox" name="menu_open_window" value="Y" <!--@if($item_info->open_window=="Y")-->checked="checked"<!--@end--> />
<p>{$lang->about_menu_open_window}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->menu_expand}</th>
<td> <input type="checkbox" name="menu_expand" value="Y" <!--@if($item_info->expand=="Y")-->checked="checked"<!--@end--> />
<p>{$lang->about_menu_expand}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->menu_img_btn}</th>
<td>
<p>{$lang->about_menu_img_btn}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->menu_normal_btn}</th>
<td> <div id="menu_normal_btn_zone" <!--@if(!$item_info->normal_btn)-->style="display:none;"<!--@end-->> <img src="{$item_info->normal_btn}" alt="" id="menu_normal_btn_img" /><br />
<button type="button" onclick="doDeleteButton('menu_normal_btn');">{$lang->cmd_delete}</button>
</div>
<input type="file" name="menu_normal_btn" value="" onchange="doMenuUploadButton(this); return false;"/>
</td>
</tr>
<tr>
<th scope="row">{$lang->menu_hover_btn}</th>
<td> <div id="menu_hover_btn_zone") <!--@if(!$item_info->hover_btn)-->style="display:none;"<!--@end-->> <img src="{$item_info->hover_btn}" alt="" id="menu_hover_btn_img" /><br />
<button type="button" onclick="doDeleteButton('menu_hover_btn');return false;">{$lang->cmd_delete}</button>
</div>
<input type="file" name="menu_hover_btn" value="" onchange="doMenuUploadButton(this); return false;"/>
</td>
</tr>
<tr>
<th scope="row">{$lang->menu_active_btn}</th>
<td> <div id="menu_active_btn_zone" <!--@if(!$item_info->active_btn)-->style="display:none;"<!--@end-->> <img src="{$item_info->active_btn}" alt="" id="menu_active_btn_img" /><br />
<button type="button" onclick="doDeleteButton('menu_active_btn');return false;">{$lang->cmd_delete}</button>
</div>
<input type="file" name="menu_active_btn" value="" onchange="doMenuUploadButton(this); return false;"/>
</td>
</tr>
<tr>
<th scope="row">{$lang->menu_group_srls}</th>
<td>
<!--@foreach($group_list as $key=>$val)-->
<input type="checkbox" name="group_srls[]" value="{$key}" id="group_{$key}" <!--@if(is_array($item_info->group_srls)&&in_array($key, $item_info->group_srls))-->checked="checked"<!--@end-->/>
<label for="group_{$key}">{$val->title}</label>
<!--@end-->
<p>{$lang->about_menu_group_srls}</p>
</td>
</tr>
</table>
<div class="btnArea">
<input class="btn" type="submit" value="{$lang->cmd_save}" />
</div>
<script>
(function($){
$("[name^=menu_name_]").bind("blur",function(e){
if($("[name=ck_"+$(this).attr("name")+"]:checked").size()>0){
$("[name^=ck_menu_name_]:checked").each(function(i){
$("[name="+$(this).attr("name").substring(3)+"]").val(e.target.value);
});
}
});
$('input#menu_name').focus();
})(jQuery);
</script>
</div>
</div>

View file

@ -1,93 +0,0 @@
<load target="filter/insert_menu_item.xml" />
<load target="filter/delete_menu_item.xml" />
<load target="filter/move_menu_item.xml" />
<load target="js/menu_admin.js" type="body" usecdn="true" />
<load target="js/menu_tree.js" type="body" usecdn="true" />
<!--// tree javascript plugin load -->
<!--%load_js_plugin("ui.tree")-->
<script>
var alertImageOnly = "{$lang->alert_image_only}";
</script>
<div class="menuManagement">
<!--@if($module == 'admin')-->
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<form ruleset="updateMenuTitle" action="./" method="post">
<input type="hidden" name="module" value="menu" />
<input type="hidden" name="act" value="procMenuAdminUpdate" />
<input type="hidden" name="menu_srl" value="{$menu_info->menu_srl}" />
<h3 class="h3">{$lang->menu_management}</h3>
<table class="x_table x_table-striped x_table-hover">
<tr>
<th scope="col">{$lang->title}</th>
<td>
<input type="text" name="title" value="{$menu_info->title}" />
<input type="submit" value="{$lang->cmd_modify}" />
</td>
</tr>
<tr>
<th scope="col">{$lang->menu_management}</th>
<td >
{nl2br($lang->about_menu_management)}
<button type="button" onclick="doReloadTreeMenu('{$menu_info->menu_srl}');return false;">{$lang->cmd_remake_cache}</button>
</td>
</tr>
</table>
</form>
<!--@else-->
<table class="x_table x_table-striped x_table-hover">
<tr>
<th scope="col">{$lang->title}</th>
<td >
{$menu_info->title}
</td>
</tr>
<tr>
<th scope="col">{$lang->menu_management}</th>
<td >{nl2br($lang->about_menu_management)}</td>
</tr>
</table>
<!--@end-->
<form ruleset="insertMenuItem" id="fo_menu" action="./" method="post" enctype="multipart/form-data">
<input type="hidden" name="module" value="menu" />
<input type="hidden" name="act" value="procMenuAdminInsertItem" />
<input type="hidden" name="title" value="{$menu_info->title}" />
<input type="hidden" name="menu_srl" value="{$menu_info->menu_srl}" />
<input type="hidden" name="xml_file" value="{$menu_info->xml_file}" />
<input type="hidden" name="php_file" value="{$menu_info->php_file}" />
<input type="hidden" name="module" value="menu" />
<input type="hidden" name="target" value="" />
<div id="menu_zone_info"></div>
</form>
<div id="menu">
<ul class="simpleTree">
<li class="root" id='tree_0'><span>{$lang->menu}</span></li>
</ul>
</div>
</div>
<script>//<![CDATA[
//언어파일 로드용
var lang_cmd_insert = "{htmlspecialchars($lang->cmd_insert)}";
var lang_cmd_delete = "{htmlspecialchars($lang->cmd_delete)}";
var lang_cmd_modify = "{htmlspecialchars($lang->cmd_modify)}";
var simpleTreeCollection;
var max_menu_depth = 999;
var xml_url = "{$menu_info->xml_file}";
var lang_confirm_delete = "{$lang->confirm_delete}";
jQuery(function(){
doMoveMenuInfo();
Tree(xml_url);
});
//]]>
</script>

View file

@ -1,47 +0,0 @@
<!--%import("js/menu_admin.js")-->
<h1 class="h1">{$lang->cmd_search_mid}</h1>
<form action="./" method="get">
<input type="hidden" name="module" value="{$module}" />
<input type="hidden" name="act" value="{$act}" />
<select name="module_category_srl">
<option value="">{$lang->module_category}</option>
<!--@foreach($module_category as $key => $val)-->
<option value="{$key}" <!--@if($module_category_srl==$key)-->selected="selected"<!--@end-->>{$val->title}</option>
<!--@end-->
</select>
<select name="target_module">
<option value="">{$lang->module}</option>
<!--@foreach($module_list as $key => $val)-->
<option value="{$val->module}" <!--@if($target_module ==$val->module)-->selected="selected"<!--@end-->>{$val->module}</option>
<!--@end-->
</select>
<input type="submit" name="go_button" id="go_button" value="GO" />
<table class="x_table x_table-striped x_table-hover">
<thead>
<tr>
<th scope="row">{$lang->module_category}</th>
<th scope="row">{$lang->module}</th>
<th scope="row" >{$lang->mid}</th>
<th scope="row">{$lang->cmd_select}</th>
</tr>
</thead>
<tbody>
<!--@foreach($mid_list as $key => $val)-->
<tr>
<td>
<!--@if(!$val->module_category_srl)-->
{$lang->not_exists}
<!--@else-->
{$module_category[$val->module_category_srl]->title}
<!--@end-->
</td>
<td>{$val->module}</td>
<td>{$val->browser_title} ({$key})</td>
<td><button type="button" onclick="doInsertMid('{$key}','{$menu_id}'); return false;">{$lang->cmd_select}</button></td>
</tr>
<!--@end-->
</tbody>
</table>
</form>

View file

@ -1,9 +1,8 @@
<load target="./css/themes/classic/style.css" index="11" />
<load target="./css/sitemap.css" index="11" />
<load target="./css/sitemap.ie78.css" index="11" targetie="lt IE 9" />
<load target="./js/_lib/jquery.cookie.js" />
<load target="./js/jquery.scrollTo-1.4.2.js" />
<!--script src="http://ajax.microsoft.com/ajax/jquery.templates/beta1/jquery.tmpl.js"></script-->
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
@ -23,7 +22,7 @@
<!--@if($act == 'dispMenuAdminSiteMap')-->
<div class="col map" id="site_map">
<h1>{$lang->menu_gnb_sub['siteMap']} <a class="x_icon-question-sign" href="./help/index.html#UMAN_site_menu" target="_blank">{$lang->help}</a></h1>
<h1>{$lang->menu_gnb_sub['siteMap']} <a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_site_menu" target="_blank">{$lang->help}</a></h1>
<div class="cnt">
<section class="mapi" id="siteMapTree">
<script id="tmpl_menuTree" type="text/x-jquery-tmpl">
@ -57,7 +56,7 @@
<section>
<h1>
{$lang->add_new_sitemap}
<a class="x_icon-question-sign" href="./help/index.html#UMAN_terminology_sitemap" target="_blank">{$lang->help}</a>
<a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_terminology_sitemap" target="_blank">{$lang->help}</a>
</h1>
<div class="cnt">
<ul class="_itemList">
@ -109,7 +108,7 @@
</div>
<div class="col prop-general" id="properties" style="display:none;">
<section>
<h1><a href="#" target="_blank" class="title"><!--메뉴 이름--></a></h1>
<h1><a href="" target="_blank" class="title"><!--메뉴 이름--></a></h1>
<div class="cnt">
<ul>
<li class="type"><strong>{$lang->menu_type}</strong>: <span class="module_type"></span></li>
@ -124,7 +123,7 @@
<label style="padding:0 0 0 8px;margin:0">
<input type="checkbox" class="_chkUseAsHome" hidden>
<span>{$lang->set_as_homepage}|{$lang->has_been_set_as_homepage}</span>
<a class="x_icon-question-sign" href="./help/index.html#UMAN_setting_startpage" target="_blank" style="padding:0;margin:0;background-color:transparent">{$lang->help}</a>
<a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_setting_startpage" target="_blank" style="padding:0;margin:0;background-color:transparent">{$lang->help}</a>
</label>
</li>
<li><a href="#imgbtn" data-admin-show="#imgbtn">{$lang->menu_img_btn} <i class="x_icon-circle-arrow-right"></i></a></li>
@ -348,7 +347,7 @@
<!--@end-->
<fieldset>
<h1 class="_item">{$lang->design}</h1>
<h1 class="_site">{$lang->menu_gnb_sub['siteDesign']} <a class="x_icon-question-sign" href="./help/index.html#UMAN_site_design" target="_blank">{$lang->help}</a></h1>
<h1 class="_site">{$lang->menu_gnb_sub['siteDesign']} <a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_site_design" target="_blank">{$lang->help}</a></h1>
<div class="cnt">
<form action="./" target="xe_preview" class="_preview_form" method="post">
<input type="hidden" name="skin_vars" value="{}"/>
@ -360,14 +359,14 @@
<div class="x_tab-content">
<div class="x_tab-pane x_active" id="pc">
<div class="shadow">
<iframe name="_pc_preview_ifr" src="about:_blank"></iframe><i class="mask"></i>
<iframe name="_pc_preview_ifr" src="about:_blank"></iframe><i class="mask"><span></span></i>
<input type="submit" class="x_icon-zoom-in x_icon-white _pc_preview_open" value="{$lang->view_zoom}" />
</div>
</div>
<div class="x_tab-pane" id="mobile">
<label class="mvOption"><input type="checkbox" name="use_mobile" value="Y"> {$lang->use_mobile_view}</label>
<div class="shadow">
<iframe name="_mobile_preview_ifr" src="about:_blank"></iframe><i class="mask"></i>
<iframe name="_mobile_preview_ifr" src="about:_blank"></iframe><i class="mask"><span></span></i>
<input type="submit" class="x_icon-zoom-in x_icon-white _mobile_preview_open" value="{$lang->view_zoom}" />
</div>
</div>
@ -380,7 +379,7 @@
</script>
<script id="tmpl_skinItem" type="text/x-jquery-tmpl">
<li><a href="#skin" data-admin-show="#skin" data-param='{ "moduleType" : "${ModuleType}"}'>${ModuleTypeTitle} [<span class="themeName _skinTitle">${SkinTitle}</span>] <i class="x_icon-circle-arrow-right"></i></a></li>
<li><a href="#skin" data-admin-show="#skin" data-param='{ "moduleType" : "${ModuleType}"}'>${ModuleTypeTitle} [<span class="themeName _skinTitle">{{if SkinTitle}}${SkinTitle}{{else}}{$lang->no_skin}{{/if}}</span>] <i class="x_icon-circle-arrow-right"></i></a></li>
</script>
</ul>
<div class="btnBoth siteDesignUI">
@ -399,7 +398,7 @@
<form action="">
<h1>
{$lang->layout}
<a class="x_icon-question-sign" href="./help/index.html#UMAN_terminology_layout" target="_blank">{$lang->help}</a>
<a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_terminology_layout" target="_blank">{$lang->help}</a>
</h1>
<div class="cnt">
<label style="white-space:nowrap;cursor:pointer;width:100%">
@ -691,6 +690,9 @@
xe.lang.go_to_ftp_setup = '{$lang->go_to_ftp_setup}';
xe.lang.installation_completed = '{$lang->installation_completed}';
xe.lang.go_to_site_design_setup = '{$lang->go_to_site_design_setup}';
xe.lang.how_to_modify_menu = '{$lang->how_to_modify_menu}';
xe.lang.can_drag_menu = '{$lang->can_drag_menu}';
xe.lang.good_to_duplicate_layout = '{$lang->good_to_duplicate_layout}';
xe.lang.img_uploaded = '{$lang->img_uploaded}';
xe.lang.img_deleted = '{$lang->img_deleted}';
xe.lang.no_use_layout = '{$lang->no_use_layout}';
@ -698,6 +700,12 @@
xe.lang.msg_cannot_delete_homemenu = '{$lang->msg_cannot_delete_homemenu}';
xe.lang.set_as_homepage = '{$lang->set_as_homepage}';
xe.lang.has_been_set_as_homepage = '{$lang->has_been_set_as_homepage}';
xe.lang.need_ftp_password = '{$lang->need_ftp_password}';
xe.lang.need_ftp_password_title = '{$lang->need_ftp_password_title}';
xe.lang.need_core_update = '{$lang->need_core_update}';
xe.lang.need_core_update_continue = '{$lang->need_core_update_continue}';
xe.lang.password = '{$lang->password}';
xe.lang.not_found_module = '{$lang->not_found_module}';
</script>
<!--[if IE 7]>
@ -1134,7 +1142,7 @@ function clearInputs($elm){
function setItemTypes(htTypes){
var $ = jQuery;
$.test=htTypes;
$.test=htTypes;
$._xeAdminVar.htItemTypes = htTypes || {};
$._xeAdminVar.htItemTypes._SHORTCUT = {
@ -1145,6 +1153,18 @@ $.test=htTypes;
//console.log($._xeAdminVar.htItemTypes);
}
function setAllModules(htModules){
var $ = jQuery;
$.test = htModules;
$._xeAdminVar.htAllModules = htModules || {};
$._xeAdminVar.htAllModules._SHORTCUT = {
title: xe.lang.shortcut,
moduleName:'',
description : xe.lang.shortcut_desc
}
}
jQuery(function($){
$.fn.outerHTML = function(){
// IE, Chrome & Safari will comply with the non-standard outerHTML, all others (FF) will have a fall-back for cloning
@ -1179,6 +1199,7 @@ jQuery(function($){
$.exec_json("menu.getMenuAdminInstalledMenuType", {}, function(htData){
setItemTypes(htData.menu_types);
setAllModules(htData.all_modules);
});
<!--@end-->
@ -1190,6 +1211,8 @@ jQuery(function($){
setTimeout(function(){$('#design').show();},0);
<!--@end-->
$._xeAdminVar.htPrevSetting = {};
$("#tmpl_noDownloadableItem").template( "noDownloadableItem" );
$("#tmpl_downloadableItem").template( "downloadableItem" );
@ -1394,7 +1417,7 @@ jQuery(function($){
var sMenuId = $._htMarkupActionParam.sMenuId;
var htInfo = htNodeInfo[sMenuId];
$(ev.target).find('.title').html(htInfo.sText);
$(ev.target).find('.title').text(htInfo.sText);
});
$('#propertiesRoot').bind("hide", function(ev, htOpt){
if(htOpt && htOpt.bOpeningProp) return;
@ -1575,16 +1598,27 @@ jQuery(function($){
$("#siteMapTree").addClass('_node_renaming');
});
$('#properties').bind("show", function(ev, htOpt){
if(ev.target != this) return;
if(typeof($._xeAdminVar.htAllModules) == 'undefined') return;
$('#site_map').next().hide(null, null, null, htOpt);
var sMenuId = $._htMarkupActionParam.sMenuId;
var htInfo = htNodeInfo[sMenuId];
$(ev.target).find('.title').html(htInfo.sText);
$(ev.target).find('.title').text(htInfo.sText);
$(ev.target).find('.title').attr('href', htInfo.href);
//$(ev.target).find('.url').html(htInfo.url);
var title = htInfo.sModuleType;
if($._xeAdminVar.htAllModules[htInfo.sModuleType]){
title = $._xeAdminVar.htAllModules[htInfo.sModuleType].title;
}
$(ev.target).find('.module_type').html($._xeAdminVar.htItemTypes[htInfo.sModuleType].title);
if(!$._xeAdminVar.htAllModules[htInfo.sModuleType]){
$(ev.target).find('.module_type').text(htInfo.sModuleType + '(' + xe.lang.not_found_module +')');
}else{
$(ev.target).find('.module_type').text($._xeAdminVar.htAllModules[htInfo.sModuleType].title);
}
if(htInfo.bShortCut){
$(ev.target).removeClass('prop-general');
@ -1607,15 +1641,19 @@ jQuery(function($){
$.exec_json("menu.getMenuAdminDetailSetup", {
menu_item_srl : htNodeInfo[$._xeAdminVar.sSelectedMenuSrl].sNodeSrl
}, function(htData){
$('#properties ._hasFullSetupX, #properties ._hasFullSetupO').hide();
$('#properties').removeClass('_hasFullSetup');
if(htData.simpleSetupHtml){
$('#properties').addClass('_hasFullSetup');
$('#fullSetup').find('._setupHTML').html(htData.simpleSetupHtml);
var $form = $('#fullSetup form');
$form.attr('target', 'submitTarget');
$form.append($("<INPUT>").attr("type", "hidden").attr("name", "xe_js_callback").attr("value", "top.fullSetupSaved"));
}else{
$('#properties').removeClass('_hasFullSetup');
$('#properties ._hasFullSetupO').show();
}else if(htData.setupUrl){
$._xeAdminVar.sFullSetupUrl = htData.setupUrl;
$('#properties ._hasFullSetupX').show();
}
});
}
@ -1625,6 +1663,7 @@ jQuery(function($){
loadFullSetup();
};
$('#properties').bind("hide", function(ev, htOpt){
if(ev.target != this) return;
if(htOpt && htOpt.bOpeningProp) return;
if($('#propertiesRoot').is(':visible')) return;
@ -1661,6 +1700,9 @@ jQuery(function($){
drawDownloadableList('download');
});
$('#download').bind("after-show", function(ev){
scrollToRight();
});
$('#download').bind("hide", function(ev){
// ignore bubbled show events
if(this !== ev.target){
@ -1683,12 +1725,12 @@ jQuery(function($){
var $description = $(this).find('._description');
var $title = $(this).find("._title");
$title.html($._xeAdminVar.sSelectedModuleTitle);
var htItemType = $._xeAdminVar.htItemTypes[$._xeAdminVar.sSelectedModuleName];
$title.text($._xeAdminVar.sSelectedModuleTitle);
var htItemType = $._xeAdminVar.htAllModules[$._xeAdminVar.sSelectedModuleName];
var $link = $(this).find("._link");
$description.html(htItemType.description || "");
$description.text(htItemType.description || "");
if(htItemType.package_srl && htItemType.url){
$link.show();
$link.attr('target', '_blank');
@ -1709,13 +1751,13 @@ jQuery(function($){
// Insert help link
if($._xeAdminVar.sSelectedModuleName === "ARTICLE"){
$title.append(' <a class="x_icon-question-sign" href="./help/index.html#UMAN_faq_article" target="_blank">{$lang->help}</a>');
$title.append(' <a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_faq_article" target="_blank">{$lang->help}</a>');
} else if($._xeAdminVar.sSelectedModuleName === "WIDGET"){
$title.append(' <a class="x_icon-question-sign" href="./help/index.html#UMAN_faq_widget" target="_blank">{$lang->help}</a>');
$title.append(' <a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_faq_widget" target="_blank">{$lang->help}</a>');
} else if($._xeAdminVar.sSelectedModuleName === "OUTSIDE"){
$title.append(' <a class="x_icon-question-sign" href="./help/index.html#UMAN_faq_opage" target="_blank">{$lang->help}</a>');
$title.append(' <a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_faq_opage" target="_blank">{$lang->help}</a>');
} else if($._xeAdminVar.sSelectedModuleName === "_SHORTCUT"){
$title.append(' <a class="x_icon-question-sign" href="./help/index.html#UMAN_faq_shortcut" target="_blank">{$lang->help}</a>');
$title.append(' <a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_faq_shortcut" target="_blank">{$lang->help}</a>');
}
$(this).find('.lang_code').trigger('reload-multilingual');
@ -1723,6 +1765,9 @@ jQuery(function($){
showMenuSelector($(this).find('._menuSelector_menuTreeContainer'));
});
$('#add_menu').bind("after-show", function(ev){
scrollToRight();
});
$('#add_menu').bind("hide", function(ev){
if(this !== ev.target) return;
@ -1811,9 +1856,6 @@ jQuery(function($){
var htInfo = htNodeInfo[$._xeAdminVar.sSelectedMenuSrl];
//$(this).find('.module_type').html($._xeAdminVar.htItemTypes[htInfo.sModuleType].title);
//console.log(htInfo);
if(htInfo.sModuleType === "_SHORTCUT"){
$(this).addClass('url');
$(this).removeClass('page');
@ -1840,7 +1882,7 @@ jQuery(function($){
}else{
// URL shortcut
$(this).find('a[href="#fix_linkUrl"]').click();
$(this).find('._url_link').val(htInfo.url);
$(this).find('._url_link').val($('<div />').text(htInfo.url).text());
showMenuSelector($(this).find('._menuSelector_menuTreeContainer'));
}
@ -1862,6 +1904,9 @@ jQuery(function($){
$(this).find('.lang_code').trigger('reload-multilingual');
});
$('#default').bind("after-show", function(ev){
scrollToRight();
});
$('#default').bind("hide", function(ev){
if(this !== ev.target) return;
@ -1945,6 +1990,9 @@ jQuery(function($){
menu_item_srl : htNodeInfo[$._xeAdminVar.sSelectedMenuSrl].sNodeSrl
}, BtnInfoReceived);
});
$('#imgbtn').bind("after-show", function(){
scrollToRight();
});
function BtnInfoReceived(htData){
$('#imgbtn input[name=menu_item_srl]').val(htNodeInfo[$._xeAdminVar.sSelectedMenuSrl].sNodeSrl);
@ -2017,6 +2065,9 @@ jQuery(function($){
menu_item_srl : htNodeInfo[$._xeAdminVar.sSelectedMenuSrl].sNodeSrl
}, PermAReceived);
});
$('#auth').bind('after-show', function(ev){
scrollToRight();
});
function PermAReceived(htData){
//console.log(1, htData);
@ -2230,7 +2281,7 @@ jQuery(function($){
$List.append($node);
$('#auth select').trigger('change');
}
$('label[for="authtarget"]').append(' <a class="x_icon-question-sign" href="./help/index.html#UMAN_faq_exposure_target" target="_blank">{$lang->help}</a>');
$('label[for="authtarget"]').append(' <a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_faq_exposure_target" target="_blank">{$lang->help}</a>');
}
// Auth
@ -2313,6 +2364,9 @@ jQuery(function($){
var sMode = $._xeAdminVar.htPrevSetting.bMobilePreviewTabOpen?"M":"P";
drawDownloadableList('downloadLayout', { 'type': sMode});
});
$('#downloadLayout').bind("after-show", function(ev){
scrollToRight();
});
$('#downloadSkin').bind("show", function(ev){
// ignore bubbled show events
@ -2338,6 +2392,9 @@ jQuery(function($){
});
<!--@end-->
});
$('#downloadSkin').bind("after-show", function(ev){
scrollToRight();
});
//function drawMenuModuleList(nPage){
// sItemType : download, downloadLayout, downloadSkin
@ -2401,8 +2458,6 @@ jQuery(function($){
$Panel.find('.list').append($node);
}
//$Panel.find('.list').html(sResult);
var htInfo = htData.page_navigation;
var fnCallback = function(htNewParams){
@ -2454,6 +2509,7 @@ jQuery(function($){
if(nIdx === 0){
// PC
$._xeAdminVar.htPrevSetting.bMobilePreviewTabOpen = false;
$._xeAdminVar.sOpenDeisgnWith = "P";
$('#design').addClass('_pcMode');
$('#design').removeClass('_mobileMode');
@ -2461,6 +2517,7 @@ jQuery(function($){
}else{
// mobile
$._xeAdminVar.htPrevSetting.bMobilePreviewTabOpen = true;
$._xeAdminVar.sOpenDeisgnWith = "M";
$('#design').removeClass('_pcMode');
$('#design').addClass('_mobileMode');
@ -2485,6 +2542,10 @@ jQuery(function($){
var sLayoutTitle, sLayoutSrl;
var sSkinTitle, sSkinName;
if(htTmp.module == 'page'){
htTmp.module = htTmp.page_type;
}
if(sMode === "P"){
sLayoutSrl = htTmp.layout_srl;
sLayoutTitle = htData.module_info_by_menu_item_srl.designSettings.layout.pc;
@ -2529,10 +2590,10 @@ jQuery(function($){
}));
// if the module type has no skin support, do not even display the option.
if($._xeAdminVar.htItemTypes[htInfo.sModuleType].no_skin !== "Y"){
if($._xeAdminVar.htAllModules[htInfo.sModuleType] && $._xeAdminVar.htAllModules[htInfo.sModuleType].no_skin !== "Y"){
$itemList.append($.tmpl( "deisgn_skinItem", {
ModuleType : htInfo.sModuleType,
ModuleTypeTitle : $._xeAdminVar.htItemTypes[htInfo.sModuleType].title,
ModuleTypeTitle : $._xeAdminVar.htAllModules[htInfo.sModuleType].title,
SkinTitle : sSkinTitle
}
));
@ -2550,9 +2611,17 @@ jQuery(function($){
<!--@end-->
<!--@if($act == 'dispMenuAdminSiteDesign')-->
if(!$._xeAdminVar.htSiteDefaultLayout || !$._xeAdminVar.htSiteDefaultLayout[sMode]){
var $this = $(this);
setTimeout(function(){
$this.trigger('tab_change', [nIdx, $el]);
}, 10);
return false;
}
$.exec_json("menu.getMenuAdminInstalledMenuType", {}, function(htData){
setItemTypes(htData.menu_types);
setAllModules(htData.all_modules);
var sLayoutTitle = $._xeAdminVar.htSiteDefaultLayout[sMode].title;
$list = $('#design').find('._itemList');
@ -2565,7 +2634,8 @@ jQuery(function($){
if(! $._xeAdminVar.htItemTypes.hasOwnProperty(sModuleName)) continue;
if(sModuleName === "_SHORTCUT") continue;
item = $._xeAdminVar.htItemTypes[sModuleName];
item = $._xeAdminVar.htAllModules[sModuleName];
if(!item) continue;
if(item.no_skin === "Y") continue;
@ -2581,6 +2651,7 @@ jQuery(function($){
sSkinTitle = item.defaultMobileSkin.title;
}
$list.append($.tmpl( "deisgn_skinItem", {
ModuleType : sModuleName,
ModuleTypeTitle : sModuleTitle,
@ -2628,7 +2699,7 @@ jQuery(function($){
}, function(htData){
$._xeAdminVar.htSiteDefaultLayout.P = {
layout_srl : htData.layout_srl,
title : htData.title
title : htData.layout_srl > 0 ? htData.title : xe.lang.no_use_layout
}
});
jQuery.exec_json("layout.getLayoutAdminSiteDefaultLayout", {
@ -2637,7 +2708,7 @@ jQuery(function($){
}, function(htData){
$._xeAdminVar.htSiteDefaultLayout.M = {
layout_srl : htData.layout_srl,
title : htData.title
title : htData.layout_srl > 0 ? htData.title : xe.lang.no_use_layout
}
});
}
@ -2655,6 +2726,9 @@ jQuery(function($){
$._xeAdminVar.sOpenDeisgnWith = "P";
});
$('#design').bind("after-show", function(){
scrollToRight();
});
$('#design .mvOption>:checkbox').change(function(){
//var $design = $('#design');
@ -2743,7 +2817,6 @@ jQuery(function($){
$('#design .x_tabbable a[href="#pc"]').click();
}
$._xeAdminVar.sOpenDeisgnWith = "P";
//});
});
$('#design ._btn_save').click(function(ev){
@ -2758,7 +2831,7 @@ jQuery(function($){
if(! $._xeAdminVar.htItemTypes.hasOwnProperty(sModuleName)) continue;
if(sModuleName === "_SHORTCUT") continue;
item = $._xeAdminVar.htItemTypes[sModuleName];
item = $._xeAdminVar.htAllModules[sModuleName];
sModuleTitle = item.title;
htSkins[sModuleName] = (sMode === "P") ? item.defaultSkin.skin : item.defaultMobileSkin.skin;
@ -2785,12 +2858,16 @@ jQuery(function($){
$('#add').bind("show", function(){
fillInInstalledMenuList();
});
$('#add').bind("after-show", function(){
scrollToRight();
});
function fillInInstalledMenuList(){
$.exec_json("menu.getMenuAdminInstalledMenuType", {}, function(htData){
//console.log(htData);
var sResult = "";
setItemTypes(htData.menu_types);
setAllModules(htData.all_modules);
//$._xeAdminVar.htItemTypes = htData.menu_types;
var item;
@ -2799,7 +2876,10 @@ jQuery(function($){
//item = htData.menu_types[i];
if(!$._xeAdminVar.htItemTypes.hasOwnProperty(sModuleName)) continue;
item = $._xeAdminVar.htItemTypes[sModuleName];
item = $._xeAdminVar.htAllModules[sModuleName];
if(!item){
continue;
}
sModuleTitle = item.title;
//console.log(item);
@ -2811,7 +2891,6 @@ jQuery(function($){
//sResult += '<li><a href="#add_menu" data-admin-show="#add_menu" data-param=\'{ "moduleName":"", "moduleTitle":"URL 링크" }\'>URL 링크 <i class="x_icon-circle-arrow-right"></i></a></li>';
$('#add ._itemList').html(sResult);
scrollToRight();
});
}
$('#design ._btn_cancel').click(function(ev){
@ -2820,8 +2899,10 @@ jQuery(function($){
$('#design').show();
});
$('#design').bind('hide', function(){
$._xeAdminVar.htPrevSetting = {};
$('#design').bind('hide', function(e){
if(e.target == this){
$._xeAdminVar.htPrevSetting = {};
}
});
function updateSelectedDesign(htDesign){
var sMode = $._xeAdminVar.htPrevSetting.bMobilePreviewTabOpen?"M":"P";
@ -2851,22 +2932,26 @@ jQuery(function($){
var sSkinName = htDesign.sSkinName;
if(sSkinName == ""){
var sModuleType = htDesign.sModuleName==="page"?"ARTICLE":htDesign.sModuleName;
if($._xeAdminVar.htItemTypes[sModuleType]){
if($._xeAdminVar.htAllModules[sModuleType]){
if(sMode === "P"){
sSkinTitle = $._xeAdminVar.htItemTypes[sModuleType].defaultSkin.title;
sSkinTitle = $._xeAdminVar.htAllModules[sModuleType].defaultSkin.title;
}else{
sSkinTitle = $._xeAdminVar.htItemTypes[sModuleType].defaultMobileSkin.title;
sSkinTitle = $._xeAdminVar.htAllModules[sModuleType].defaultMobileSkin.title;
}
}
}
$('#design ._layoutName').html(sLayoutTitle);
if(!sSkinTitle){
sSkinTitle = '{$lang->no_skin}';
}
$('#design ._layoutName').text(sLayoutTitle);
<!--@if($act == 'dispMenuAdminSiteMap')-->
$('#design ._skinTitle').html(sSkinTitle);
$('#design ._skinTitle').text(sSkinTitle);
<!--@end-->
<!--@if($act == 'dispMenuAdminSiteDesign')-->
$('#design .active ._skinTitle').html(sSkinTitle);
$('#design .active ._skinTitle').text(sSkinTitle);
<!--@end-->
updatePreview(htDesign);
@ -2890,7 +2975,34 @@ jQuery(function($){
$('._preview_form').submit();
$('._preview_form').attr('target', "xe_preview");
var $iframe = $("iframe[name="+sTarget+"]");
var $container = $iframe.next('i');
var $text = $container.children('span');
var $zoom = $container.next('input');
$text.hide();
$container.removeClass('on_message');
$zoom.hide();
$container.addClass('loading');
}
$('iframe[name=_pc_preview_ifr], iframe[name=_mobile_preview_ifr]').bind("load", function(){
var $this = $(this);
var $errElm = $('#preview_error', $this.contents());
var message = $errElm.text();
var $container = $this.next('i');
var $text = $container.children('span');
var $zoom = $container.next('input');
if($errElm.length){
$text.text(message).show();
$container.addClass('on_message');
$container.removeClass('loading');
}else{
$zoom.show();
$container.removeClass('loading');
}
});
$('._pc_preview_open').click(function(ev){
window.open($('input[name=_pc_preview_ifr]').attr('src'), "xe_preview", "resizable=yes,width=" + jQuery('body').width() + ",height=" + jQuery('body').height());
@ -2943,6 +3055,9 @@ jQuery(function($){
//updateLayoutListDisplayStatus();
//loadInstalledLayoutList("P");
});
$('#layout').bind("after-show", function(ev){
scrollToRight();
});
$('#layout .list').on('show', function(){
fillInInstalledLayoutList();
@ -3112,10 +3227,12 @@ jQuery(function($){
$thumbnail.css('border', '1px solid #888');
$thumbnail.css('padding', '3px');
var $text = $('<div style="float:right;width:240px;text-align:left"></div>');
$text.text($label.text());
$.xeMsgBox.confirmDialog({
sTitle : xe.lang.confirm_delete,
sText : $thumbnail.outerHTML() + '<div style="float:right;width:240px;text-align:left">' + $label.text() + '</div>',
sText : $thumbnail.outerHTML() + $text.html(),
bSmall: true,
@ -3150,6 +3267,7 @@ jQuery(function($){
var sLayoutTitle = $(this).closest('li').data('LayoutTitle');
htDesign.sLayoutSrl = sLayoutSrl;
htDesign.sLayoutTitle = sLayoutTitle;
//htDesign.sModuleName = '';
updateSelectedDesign(htDesign);
})
@ -3169,18 +3287,10 @@ jQuery(function($){
var $configForm = $('#config_form');
$configForm.on('submit', function(ev){
var htData = {};
var sKey, sValue;
$(this).find('input').each(function(){
sKey = $(this).attr('name');
sValue = $(this).val();
htData[sKey] = sValue;
});
// console.log(htData);
ev.preventDefault();
var sUrl = $('#config_form').attr('action');
$.post( sUrl, htData,
$.post( sUrl, $(this).serialize(),
function( strRes ) {
var htData = $.parseJSON(strRes);
@ -3193,6 +3303,9 @@ jQuery(function($){
scrollToRight();
});
})
$('#layoutSetup').bind('after-show', function(ev){
scrollToRight();
});
top.refreshLayoutList = function(htData){
$('#layout').show();
}
@ -3245,9 +3358,13 @@ jQuery(function($){
}
);
})
scrollToRight();
});
});
$('#layoutMarkupSetup').on('after-show', function(ev){
scrollToRight();
});
function doDelete(sMenuSrl, bForce, sSelectOnload){
var params = {
@ -3350,11 +3467,11 @@ jQuery(function($){
<!--@if($act == 'dispMenuAdminSiteDesign')-->
if(sMode == "P"){
htDesign.sSkinName = $._xeAdminVar.htItemTypes[$._htMarkupActionParam.moduleType].defaultSkin.skin;
htDesign.sSkinTitle = $._xeAdminVar.htItemTypes[$._htMarkupActionParam.moduleType].defaultSkin.title;
htDesign.sSkinName = $._xeAdminVar.htAllModules[$._htMarkupActionParam.moduleType].defaultSkin.skin;
htDesign.sSkinTitle = $._xeAdminVar.htAllModules[$._htMarkupActionParam.moduleType].defaultSkin.title;
}else{
htDesign.sSkinName = $._xeAdminVar.htItemTypes[$._htMarkupActionParam.moduleType].defaultMobileSkin.skin;
htDesign.sSkinTitle = $._xeAdminVar.htItemTypes[$._htMarkupActionParam.moduleType].defaultMobileSkin.title;
htDesign.sSkinName = $._xeAdminVar.htAllModules[$._htMarkupActionParam.moduleType].defaultMobileSkin.skin;
htDesign.sSkinTitle = $._xeAdminVar.htAllModules[$._htMarkupActionParam.moduleType].defaultMobileSkin.title;
}
<!--@end-->
@ -3368,6 +3485,9 @@ jQuery(function($){
$('#skin .list').show();
//updateSkinListDisplayStatus();
});
$('#skin').on('after-show', function(ev){
scrollToRight();
});
$('#skin').on('hide', function(ev){
if(this !== ev.target){
return;
@ -3450,11 +3570,11 @@ jQuery(function($){
//console.log(htDesign.sSkinName);
// if nothing is selected, select the first one.
sTmpName = htDesign.sTmpSkinName || sName;
//sTmpName = htDesign.sTmpSkinName || sName;
//console.log(22, sTmpName);
if(!htDesign.sSkinName){
htDesign.sSkinName = sTmpName;
}
//if(!htDesign.sSkinName){
// htDesign.sSkinName = sTmpName;
//}
htInfo = htData.skin_info_list[sName];
//for(var i=0, nLen=htData.skin_info_list.length; i<nLen; i++){
@ -3463,7 +3583,11 @@ jQuery(function($){
sSelected = "";
//console.log(33, sTmpName, sName, htDesign.sSkinName, htInfo.sName);
if(htDesign.sSkinName == htInfo.sName){
var sSkinName = htDesign.sSkinName;
if(!sSkinName){
sSkinName = sType == 'P' ? $._xeAdminVar.htAllModules[htDesign.sModuleName].defaultSkin.skin : $._xeAdminVar.htAllModules[htDesign.sModuleName].defaultMobileSkin.skin;
}
if(sSkinName == htInfo.sName){
//htDesign.sTmpSkinName = "";
sSelectedSkinName = htInfo.sName;
@ -3511,11 +3635,11 @@ jQuery(function($){
<!--@if($act == 'dispMenuAdminSiteDesign')-->
if(sMode == "P"){
$._xeAdminVar.htItemTypes[$._htMarkupActionParam.moduleType].defaultSkin.skin = sSkinName;
$._xeAdminVar.htItemTypes[$._htMarkupActionParam.moduleType].defaultSkin.title = sSkinTitle;
$._xeAdminVar.htAllModules[$._htMarkupActionParam.moduleType].defaultSkin.skin = sSkinName;
$._xeAdminVar.htAllModules[$._htMarkupActionParam.moduleType].defaultSkin.title = sSkinTitle;
}else{
$._xeAdminVar.htItemTypes[$._htMarkupActionParam.moduleType].defaultMobileSkin.skin = sSkinName;
$._xeAdminVar.htItemTypes[$._htMarkupActionParam.moduleType].defaultMobileSkin.title = sSkinTitle;
$._xeAdminVar.htAllModules[$._htMarkupActionParam.moduleType].defaultMobileSkin.skin = sSkinName;
$._xeAdminVar.htAllModules[$._htMarkupActionParam.moduleType].defaultMobileSkin.title = sSkinTitle;
}
<!--@end-->
@ -3532,7 +3656,10 @@ jQuery(function($){
if(this !== ev.target) return;
$(this).find('.lang_code').xeApplyMultilingualUI();
console.log($(this).find('.lang_code'));
// console.log($(this).find('.lang_code'));
});
$('#fullSetup').bind("after-show", function(ev){
scrollToRight();
});
//.//
$('#fullSetup ._save').click(function(ev){
@ -3543,9 +3670,9 @@ jQuery(function($){
d365.setTime(d365.getTime() + 60*60*24*356);
var $quickHelp = $("._quick_help");
var htQuickHelpMsg = {
'how_to_modify_menu' : '생성한 메뉴는 [메뉴 수정]에서 수정 할 수 있습니다.',
'can_drag_menu' : '사이트 맵에서 메뉴를 드래그 해서도 위치를 변경 할 수 있습니다.',
'good_to_duplicate_layout' : '레이아웃 설정 변경 시, [복사본 생성] 버튼을 눌러 복사본을 만들어 설정을 변경 하는 것이 좋습니다.',
'how_to_modify_menu' : xe.lang.how_to_modify_menu,
'can_drag_menu' : xe.lang.can_drag_menu,
'good_to_duplicate_layout' : xe.lang.good_to_duplicate_layout,
'img_uploaded' : xe.lang.img_uploaded,
'img_deleted' : xe.lang.img_deleted
};
@ -3597,7 +3724,7 @@ jQuery(function($){
sText : xe.lang.go_to_ftp_setup,
bSmall : true,
fnOnOK : function(){
var sSuccessReturnURL = window.location.href.replace(/#.*$/, "")+"&continue_install_package="+sPackageSrl+"&continue_install_package_type="+sPackageType;
var sSuccessReturnURL = current_url.setQuery('continue_install_package', sPackageSrl).setQuery('continue_install_package_type', sPackageType);
window.location.href="./?module=admin&act=dispAdminConfigFtp&success_return_url="+Base64.encode(sSuccessReturnURL);
}
}
@ -3608,14 +3735,20 @@ jQuery(function($){
case 0:
$.xeMsgBox.confirmDialog(
{
sTitle : 'FTP 계정 정보가 필요 합니다.',
sText : 'FTP 비밀번호: <input type="password"/>',
sTitle : xe.lang.need_ftp_password,
sText : xe.lang.password + ': <input type="password"/>',
bSmall : true,
fnOnOK : function(){
var sPw = $.xeMsgBox.$msgBox.find('input[type="password"]').val();
setTimeout(function(){
doInstallPackage(sPackageSrl, sPackageType, sPw, $item);
getInstallInfo(sPackageSrl, sPackageType, sPw, $item);
}, 0);
},
fnOnCancel: function(){
if($._xeAdminVar.isFromFtpSetup){
window.location = current_url.setQuery('continue_install_package', '').setQuery('continue_install_package_type', '');
$._xeAdminVar.isFromFtpSetup = false;
}
}
}
);
@ -3626,9 +3759,40 @@ jQuery(function($){
break;
}
doInstallPackage(sPackageSrl, sPackageType, ".", $item);
getInstallInfo(sPackageSrl, sPackageType, ".", $item);
});
}
function getInstallInfo(sPackageSrl, sPackageType, sPw, $item){
// get install info
$.exec_json('autoinstall.getAutoInstallAdminInstallInfo', {
package_srl: sPackageSrl
}, function(htData){
if(!htData) return;
// check contain core.
if(htData.package.contain_core){
$.xeMsgBox.confirmDialog(
{
sTitle : xe.lang.need_core_update,
sText : xe.lang.need_core_update_continue,
bSmall : true,
fnOnOK : function(){
setTimeout(function(){
doInstallPackage(htData.package.package_srl, sPackageType, sPw, $item);
}, 0);
}
}
);
return;
}
// pass all packagesrls
doInstallPackage(htData.package.package_srl, sPackageType, sPw, $item);
});
return;
}
function doInstallPackage(sPackageSrl, sPackageType, sPw, $item){
var htFunc = {
@ -3636,7 +3800,7 @@ jQuery(function($){
downloadLayout: fillInInstalledLayoutList,
downloadSkin: fillInInstalledSkinList
};
//showFoggy();
$.xeFoggy.show(true);
@ -3653,7 +3817,27 @@ jQuery(function($){
htFunc[sPackageType]();
}
$.xeMsgBox.alert(xe.lang.installation_completed);
$.xeMsgBox.alertDialog({
sText: xe.lang.installation_completed,
bNobody : true,
bSmall: true,
fnOnShow: function(){
if($._xeAdminVar.isFromFtpSetup){
setTimeout(function(){ window.location = current_url.setQuery('continue_install_package', '').setQuery('continue_install_package_type', ''); }, 500);
$._xeAdminVar.isFromFtpSetup = false;
}else{
setTimeout(function(){ $.xeMsgBox.$msgBox.find("._ok").trigger('click') }, 500);
}
}
});
}, function(htData){
$.xeMsgBox.htOptions.fnOnHide = function(){
if($._xeAdminVar.isFromFtpSetup){
window.location = current_url.setQuery('continue_install_package', '').setQuery('continue_install_package_type', '');
$._xeAdminVar.isFromFtpSetup = false;
}
}
$.xeFoggy.hide();
});
}
top.fullSetupDone = function(htData){
@ -3689,24 +3873,68 @@ jQuery(function($){
$.xeMsgBox.alert(xe.lang.go_to_site_design_setup);
});
// Set #site height fix
$(window).resize(function(){
var wHeigh = $(window).height();
$('#site').height(wHeigh - 145).find('>.col').height(wHeigh - 185).find('.cnt').height(wHeigh - 252);
$('#properties, #propertiesRoot, #imgbtn, #layoutSetup, #layoutMarkupSetup, #skinSetup').find('.cnt').height(wHeigh - 222);
<!--@if(Mobile::isMobileCheckByAgent())-->
$._xeAdminVar.prevColumn = new Array();
$._xeAdminVar.prevColumn.push($('#site_map'));
$('#site').css({ 'display': 'inline-block', 'min-width': '100%'});
$('#site_map').css('display', 'inline-block');
$('#site > .col').css({
'box-sizing': 'border-box',
'-moz-box-sizing': 'border-box',
'-webkit-box-sizing': 'border-box',
'width': '100%',
'margin': 0
});
$('#site > .col .cnt').css('margin-bottom', '25px');
$('#properties, #propertiesRoot, #imgbtn, #layoutSetup, #layoutMarkupSetup, #skinSetup').find('.cnt').css('margin-bottom', '25px');
var wHeigh = $(window).height();
<!--@if($act == 'dispMenuAdminSiteMap')-->
$('#design').find('.cnt').height(wHeigh - 222);
//$('#design').find('.cnt').height(wHeigh - 75);
<!--@end-->
<!--@if($act == 'dispMenuAdminSiteDesign')-->
$('#layout, #skin').find('.cnt').height(wHeigh - 222);
//$('#layout, #skin').find('.cnt').height(wHeigh - 75);
<!--@end-->
}).resize();
$('#site > .col').bind('show', function(ev){
if(ev.target != this) return;
$(this).css('display', 'inline-block').siblings().css('display', 'none');
$._xeAdminVar.prevColumn.push(this);
});
$('#site > .col').bind('after-show', function(ev){
if(ev.target != this) return;
});
$('#site > .col').bind('hide', function(ev){
if(ev.target != this) return;
if($._xeAdminVar.prevColumn[$._xeAdminVar.prevColumn.length - 1] != this) return;
$._xeAdminVar.prevColumn.pop();
var $prev = $($._xeAdminVar.prevColumn[$._xeAdminVar.prevColumn.length - 1]);
$prev.css('display', 'inline-block');
});
<!--@else-->
$(window).resize(function(){
var wHeigh = $(window).height();
$('#site').height(wHeigh - 147).find('>.col').height(wHeigh - 185).find('.cnt').height(wHeigh - 252);
$('#properties, #propertiesRoot, #imgbtn, #layoutSetup, #layoutMarkupSetup, #skinSetup').find('.cnt').height(wHeigh - 222);
<!--@if($act == 'dispMenuAdminSiteMap')-->
$('#design').find('.cnt').height(wHeigh - 222);
<!--@end-->
<!--@if($act == 'dispMenuAdminSiteDesign')-->
$('#layout, #skin').find('.cnt').height(wHeigh - 222);
<!--@end-->
}).resize();
<!--@end-->
var sPackageSrl = getParameterByName('continue_install_package');
var sPackageType = getParameterByName('continue_install_package_type');
if(sPackageSrl && sPackageType){
doInstallPackage(sPackageSrl, sPackageType, ".", null);
$._xeAdminVar.isFromFtpSetup = true;
installPackage(sPackageSrl, sPackageType, null);
}
});

View file

@ -1,21 +0,0 @@
<li>
<input type="hidden" name="parent_key[]" value="{$item['parent_srl']}" class="_parent_key" />
<input type="hidden" name="item_key[]" value="{$item['node_srl']}" class="_item_key" />
<input type="hidden" name="module_srl[]" value="{$item['module_srl']}" class="_module_srl_key" />
<input type="hidden" name="item_layout_key[]" value="{$item['node_srl']}" class="_item_layout_key" />
<!--@if($item['href'])--><a href="{$item['href']}" class="ms" target="_blank">{$item['text']}</a><!--@else-->{$item['text']}<!--@end-->
<span class="side">
<block cond="$item['layout_srl']"><a href="{getUrl('act', 'dispLayoutAdminModify', 'layout_srl', $item['layout_srl'])}">{$lang->cmd_layout_management}</a> | </block>
<block cond="$item['setup_index_act']"><a href="{getUrl('', 'module', 'admin', 'act', $item['setup_index_act'], 'module_srl', $item['module_srl'])}">{$lang->cmd_module_manangement}</a> | </block>
<a href="#editMenu" class="modalAnchor _edit">{$lang->cmd_menu_management}</a> |
<a href="#delete" class="_delete">{$lang->cmd_delete}</a> |
<a href="#editMenu" class="modalAnchor _add _child">{$lang->add}</a>
</span>
<ul cond="count($item['list']>0)">
<block loop="$item['list']=>$idx,$val">
{@$item = $val}
<include target="sitemap.item.html" />
</block>
</ul>
</li>