diff --git a/classes/module/ModuleObject.class.php b/classes/module/ModuleObject.class.php index 5e61c31dc..1260db775 100644 --- a/classes/module/ModuleObject.class.php +++ b/classes/module/ModuleObject.class.php @@ -65,6 +65,7 @@ $this->module_srl = $module_info->module_srl; $this->module_info = $module_info; $this->xml_info = $xml_info; + $this->skin_vars = $module_info->skin_vars; // 웹서비스에서 꼭 필요한 인증 정보와 권한 설정 체크 $is_logged = Context::get('is_logged'); diff --git a/modules/board/board.controller.php b/modules/board/board.controller.php index 0543cb7b2..c3089dafa 100644 --- a/modules/board/board.controller.php +++ b/modules/board/board.controller.php @@ -417,10 +417,10 @@ } // serialize하여 저장 - $extra_vars = serialize($obj); + $skin_vars = serialize($obj); $oModuleController = &getController('module'); - $oModuleController->updateModuleExtraVars($module_srl, $extra_vars); + $oModuleController->updateModuleSkinVars($module_srl, $skin_vars); $url = sprintf("./?module=admin&mo=board&module_srl=%s&act=dispAdminSkinInfo&page=%s", $module_srl, Context::get('page')); print ""; @@ -444,6 +444,7 @@ unset($extra_var->mo); unset($extra_var->act); unset($extra_var->page); + unset($extra_var->board_name); // module_srl이 넘어오면 원 모듈이 있는지 확인 if($args->module_srl) { diff --git a/modules/module/module.controller.php b/modules/module/module.controller.php index dac55f442..3adf7472a 100644 --- a/modules/module/module.controller.php +++ b/modules/module/module.controller.php @@ -23,16 +23,12 @@ $output = $oDB->executeQuery('module.getDefaultMidInfo'); if($output->data) return; - // extra_vars 데이터 세팅 - $extra_vars->colorset = 'normal'; - // 기본 데이터 세팅 $args->mid = 'board'; $args->browser_title = '테스트 모듈'; $args->is_default = 'Y'; $args->module = 'board'; $args->skin = 'default'; - $args->extra_vars = serialize($extra_vars); return $this->insertModule($args); } @@ -69,14 +65,14 @@ // 선택된 스킨정보에서 colorset을 구함 $skin_info = $oModuleModel->loadSkinInfo($args->module, $args->skin); - $extra_vars->colorset = $skin_info->colorset[0]->name; + $skin_vars->colorset = $skin_info->colorset[0]->name; // DB 객체 생성 $oDB = &DB::getInstance(); // 변수 정리후 query 실행 $args->module_srl = $oDB->getNextSequence(); - $args->extra_vars = serialize($extra_vars); + $args->skin_vars = serialize($skin_vars); $output = $oDB->executeQuery('module.insertModule', $args); if(!$output->toBool()) return $output; @@ -100,13 +96,13 @@ /** * @brief 모듈의 기타 정보를 변경 **/ - function updateModuleExtraVars($module_srl, $extra_vars) { + function updateModuleSkinVars($module_srl, $skin_vars) { $oDB = &DB::getInstance(); - // extra_vars 정보 세팅 + // skin_vars 정보 세팅 $args->module_srl = $module_srl; - $args->extra_vars = $extra_vars; - $output = $oDB->executeQuery('module.updateModuleExtraVars', $args); + $args->skin_vars = $skin_vars; + $output = $oDB->executeQuery('module.updateModuleSkinVars', $args); if(!$output->toBool()) return $output; return $output; diff --git a/modules/module/module.model.php b/modules/module/module.model.php index f187f18a1..4bfba6052 100644 --- a/modules/module/module.model.php +++ b/modules/module/module.model.php @@ -76,10 +76,12 @@ // serialize되어 있는 변수들 추출 $extra_vars = $source_module_info->extra_vars; + $skin_vars = $source_module_info->skin_vars; $grants = $source_module_info->grants; $admin_id = $source_module_info->admin_id; unset($source_module_info->extra_vars); + unset($source_module_info->skin_vars); unset($source_module_info->grants); unset($source_module_info->admin_id); @@ -91,6 +93,12 @@ foreach($extra_vars as $key => $val) if(!$module_info->{$key}) $module_info->{$key} = $val; } + // skin_vars의 정리 + if($skin_vars) { + $skin_vars = unserialize($skin_vars); + foreach($skin_vars as $key => $val) if(!$module_info->{$key}) $module_info->{$key} = $val; + } + // 권한의 정리 if($grants) $module_info->grants = unserialize($grants); diff --git a/modules/module/queries/insertModule.xml b/modules/module/queries/insertModule.xml index 682d78596..bf1235198 100644 --- a/modules/module/queries/insertModule.xml +++ b/modules/module/queries/insertModule.xml @@ -12,6 +12,7 @@ + diff --git a/modules/module/queries/updateModuleExtraVars.xml b/modules/module/queries/updateModuleSkinVars.xml similarity index 100% rename from modules/module/queries/updateModuleExtraVars.xml rename to modules/module/queries/updateModuleSkinVars.xml diff --git a/modules/module/schemas/modules.xml b/modules/module/schemas/modules.xml index f7829f102..25a107743 100644 --- a/modules/module/schemas/modules.xml +++ b/modules/module/schemas/modules.xml @@ -8,6 +8,7 @@ +