From e665650392ee41c43dda7b1b36386baf2608fa60 Mon Sep 17 00:00:00 2001 From: flyskyko Date: Fri, 16 Nov 2012 06:33:00 +0000 Subject: [PATCH] added layout and skin's name for design settings git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@12240 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/layout/layout.admin.model.php | 4 +++ modules/menu/menu.admin.model.php | 12 +++++++-- modules/module/module.model.php | 37 +++++++++++++++++++++++++-- 3 files changed, 49 insertions(+), 4 deletions(-) diff --git a/modules/layout/layout.admin.model.php b/modules/layout/layout.admin.model.php index ca1c01ede..0653db947 100644 --- a/modules/layout/layout.admin.model.php +++ b/modules/layout/layout.admin.model.php @@ -154,7 +154,11 @@ class layoutAdminModel extends layout { $layoutSrl = $this->getSiteDefaultLayout($type, $siteSrl); + $oLayoutModel = getModel('layout'); + $layoutInfo = $oLayoutModel->getLayoutRawData($layoutSrl, array('title')); + $this->add('layout_srl', $layoutSrl); + $this->add('title', $layoutInfo->title); } public function getSiteDefaultLayout($viewType = 'P', $siteSrl = 0) diff --git a/modules/menu/menu.admin.model.php b/modules/menu/menu.admin.model.php index 2e57a20c2..3952c7374 100644 --- a/modules/menu/menu.admin.model.php +++ b/modules/menu/menu.admin.model.php @@ -321,8 +321,16 @@ foreach($moduleList AS $key=>$value) { $moduleInfo = $oModuleModel->getModuleInfoXml($value); - $moduleInfo->default_skin = $oModuleModel->getModuleDefaultSkin($value, 'P'); - $moduleInfo->default_mskin = $oModuleModel->getModuleDefaultSkin($value, 'M'); + $defaultSkin = $oModuleModel->getModuleDefaultSkin($value, 'P'); + $defaultMobileSkin = $oModuleModel->getModuleDefaultSkin($value, 'M'); + $skinInfo = $oModuleModel->loadSkinInfo(ModuleHandler::getModulePath($value), $defaultSkin); + $mobileSkinInfo = $oModuleModel->loadSkinInfo(ModuleHandler::getModulePath($value), $defaultMobileSkin); + $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; diff --git a/modules/module/module.model.php b/modules/module/module.model.php index 77f9e4941..1d28c0e15 100644 --- a/modules/module/module.model.php +++ b/modules/module/module.model.php @@ -201,9 +201,7 @@ } $args->menu_item_srl = $menuItemSrl; - $output = executeQuery('module.getModuleInfoByMenuItemSrl', $args); - if(!$output->toBool()) { return $output; @@ -213,6 +211,41 @@ $mid = $moduleInfo->mid; $site_srl = $moduleInfo->site_srl; + $moduleInfo->designSettings = new stdClass(); + $moduleInfo->designSettings->layout = new stdClass(); + $moduleInfo->designSettings->skin = new stdClass(); + + $oLayoutAdminModel = getAdminModel('layout'); + $layoutSrlPc = ($moduleInfo->layout_srl == -1) ? $oLayoutAdminModel->getSiteDefaultLayout('P', $moduleInfo->site_srl) : $moduleInfo->layout_srl; + $layoutSrlMobile = ($moduleInfo->mlayout_srl == -1) ? $oLayoutAdminModel->getSiteDefaultLayout('M', $moduleInfo->site_srl) : $moduleInfo->mlayout_srl; + $skinNamePc = (!$moduleInfo->skin) ? $this->getModuleDefaultSkin($moduleInfo->module, 'P') : $moduleInfo->skin; + $skinNameMobile = (!$moduleInfo->mskin) ? $this->getModuleDefaultSkin($moduleInfo->module, 'M') : $moduleInfo->mskin; + + $oLayoutModel = getModel('layout'); + $layoutInfoPc = $layoutSrlPc ? $oLayoutModel->getLayoutRawData($layoutSrlPc, array('title')) : NULL; + $layoutInfoMobile = $layoutSrlMobile ? $oLayoutModel->getLayoutRawData($layoutSrlMobile, array('title')) : NULL; + $skinInfoPc = $this->loadSkinInfo(Modulehandler::getModulePath($moduleInfo->module), $skinNamePc); + $skinInfoMobile = $this->loadSkinInfo(Modulehandler::getModulePath($moduleInfo->module), $skinNameMobile, 'm.skin'); + if(!$skinInfoPc) + { + $skinInfoPc = new stdClass(); + $skinInfoPc->title = $skinNamePc; + } + if(!$skinInfoMobile) + { + $skinInfoMobile = new stdClass(); + $skinInfoMobile->title = $skinNameMobile; + } + + $moduleInfo->designSettings->layout->pcIsDefault = $moduleInfo->layout_srl == -1 ? 1 : 0; + $moduleInfo->designSettings->layout->pc = $layoutInfoPc->title; + $moduleInfo->designSettings->layout->mobileIsDefault = $moduleInfo->mlayout_srl == -1 ? 1 : 0; + $moduleInfo->designSettings->layout->mobile = $layoutInfoMobile->title; + $moduleInfo->designSettings->skin->pcIsDefault = !$moduleInfo->skin ? 1 : 0; + $moduleInfo->designSettings->skin->pc = $skinInfoPc->title; + $moduleInfo->designSettings->skin->mobileIsDefault = !$moduleInfo->mskin ? 1 : 0; + $moduleInfo->designSettings->skin->mobile = $skinInfoMobile->title; + $oCacheHandler = &CacheHandler::getInstance('object'); if($oCacheHandler->isSupport()) {