From 65a6ee6fd38ad6f7135e5db454e42b21e7b2392b Mon Sep 17 00:00:00 2001 From: devjin Date: Fri, 26 Oct 2012 05:16:45 +0000 Subject: [PATCH] issue 2627 set design info on module. git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@11910 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/module/module.admin.controller.php | 76 ++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/modules/module/module.admin.controller.php b/modules/module/module.admin.controller.php index 608b95e80..d719c3cc4 100644 --- a/modules/module/module.admin.controller.php +++ b/modules/module/module.admin.controller.php @@ -808,5 +808,81 @@ } } + public function procModuleSetDesignInfo() + { + $moduleSrl = Context::get('target_module_srl'); + $mid = Context::get('target_mid'); + + $skinType = Context::get('skin_type'); + $skinType = ($skinType == 'M') ? 'M' : 'P'; + + $layoutSrl = Context::get('layout_srl'); + + $isSkinFix = Context::get('is_skin_fix'); + $isSkinFix = ($is_skin_fix == 'N') ? 'N' : 'Y'; + + $skinName = Context::get('skin_name'); + $skinVars = Context::get('skin_vars'); + + $output = $this->setDesignInfo($moduleSrl, $mid, $skinType, $layoutSrl, $isSkinFix, $skinName, $skinVars); + + return $output; + + } + + public function setDesignInfo($moduleSrl = 0, $mid = '', $skinType = 'P', $layoutSrl = 0, $isSkinFix = 'Y', $skinName = '', $skinVars = NULL) + { + if(!$moduleSrl && !$mid) + { + return $this->stop(-1, 'msg_invalid_request'); + } + + $oModuleModel = getModel('module'); + + if($mid) + { + $moduleInfo = $oModuleModel->getModuleInfoByMid($mid); + } + else + { + $moduleInfo = $oModuleModel->getModuleInfoByModuleSrl($moduleSrl); + } + + if(!$moduleInfo) + { + return $this->stop(-1, 'msg_module_not_exists'); + } + + $skinTargetValue = ($skinType == 'M') ? 'mskin' : 'skin'; + $layoutTargetValue = ($skinType == 'M') ? 'mlayout_srl' : 'layout_srl'; + $skinFixTargetValue = ($skinType == 'M') ? 'is_mskin_fix' : 'is_skin_fix'; + + $moduleInfo->{$layoutTargetValue} = $layoutSrl; + $moduleInfo->{$skinFixTargetValue} = $isSkinFix; + + if($isSkinFix == 'Y') + { + $moduleInfo->{$skinTargetValue} = $skinName; + $skinVars = json_decode($skinVars); + + if(is_array($skinVars)) + { + foreach($skinVars as $key => $val) + { + if(empty($val)) + { + continue; + } + + $moduleInfo->{$key} = $val; + } + } + } + + $oModuleController = getController('module'); + $output = $oModuleController->updateModule($moduleInfo); + + return $output; + } } ?>