From 8ed36ce916569d9f1ff56a73f945abb2ed1b3411 Mon Sep 17 00:00:00 2001 From: zero Date: Mon, 9 Apr 2007 02:56:59 +0000 Subject: [PATCH] git-svn-id: http://xe-core.googlecode.com/svn/trunk@1031 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/board/skins/default/skin.xml | 14 --------- modules/plugin/tpl/js/plugin_admin.js | 2 +- modules/poll/conf/module.xml | 3 ++ modules/poll/poll.class.php | 6 ++++ modules/poll/poll.controller.php | 13 ++++++++ modules/poll/poll.model.php | 23 +++++++++++++- modules/poll/poll.view.php | 22 +++++++++++++ modules/poll/skins/default/skin.xml | 13 ++++++++ modules/poll/tpl/config.html | 35 +++++++++++++++++++++ modules/poll/tpl/filter/insert_config.xml | 11 +++++++ modules/poll/tpl/js/poll_admin.js | 38 +++++++++++++++++++++++ 11 files changed, 164 insertions(+), 16 deletions(-) create mode 100644 modules/poll/skins/default/skin.xml create mode 100644 modules/poll/tpl/config.html create mode 100644 modules/poll/tpl/filter/insert_config.xml create mode 100644 modules/poll/tpl/js/poll_admin.js diff --git a/modules/board/skins/default/skin.xml b/modules/board/skins/default/skin.xml index d751f33c9..89ae20ddc 100644 --- a/modules/board/skins/default/skin.xml +++ b/modules/board/skins/default/skin.xml @@ -1,44 +1,33 @@ 게시판 기본 스킨 - BBS default skin 제로 - zero board모듈의 default스킨 - default skin of the board module 기본 - normal 이상한거 - deep 제목 - title 그냥 테스트용입니다 - just for test.. 제목 2 - title 2 haha 내용 - memo 내용의 기본값 - default value of memo 선택1 - select 1 1 2 3 @@ -47,21 +36,18 @@ 다중선택 - multi select a b c 하나선택 - one select A B C 로고이미지 - logo image diff --git a/modules/plugin/tpl/js/plugin_admin.js b/modules/plugin/tpl/js/plugin_admin.js index 6c674dceb..be42b7703 100644 --- a/modules/plugin/tpl/js/plugin_admin.js +++ b/modules/plugin/tpl/js/plugin_admin.js @@ -1,5 +1,5 @@ /** - * @file modules/board/js/plugin_admin.js + * @file modules/plugin/js/plugin_admin.js * @author zero (zero@nzeo.com) * @brief plugin 모듈의 관리자용 javascript **/ diff --git a/modules/poll/conf/module.xml b/modules/poll/conf/module.xml index 9a138d80e..19493bc01 100644 --- a/modules/poll/conf/module.xml +++ b/modules/poll/conf/module.xml @@ -5,8 +5,11 @@ + + + diff --git a/modules/poll/poll.class.php b/modules/poll/poll.class.php index 3143037fc..b94e2b627 100644 --- a/modules/poll/poll.class.php +++ b/modules/poll/poll.class.php @@ -16,6 +16,12 @@ $oModuleController->insertActionForward('poll', 'view', 'dispPollAdminList'); $oModuleController->insertActionForward('poll', 'view', 'dispPollAdminConfig'); + // 기본 스킨 설정 + $oModuleController = &getController('module'); + $config->skin = 'default'; + $config->colorset = 'normal'; + $oModuleController->insertModuleConfig('poll', $config); + return new Object(); } diff --git a/modules/poll/poll.controller.php b/modules/poll/poll.controller.php index c0455f525..565432ba5 100644 --- a/modules/poll/poll.controller.php +++ b/modules/poll/poll.controller.php @@ -261,5 +261,18 @@ return new Object(); } + + /** + * @brief 설정 저장 + **/ + function procPollAdminInsertConfig() { + $config->skin = Context::get('skin'); + $config->colorset = Context::get('colorset'); + + $oModuleController = &getController('module'); + $oModuleController->insertModuleConfig('poll', $config); + + $this->setMessage('success_updated'); + } } ?> diff --git a/modules/poll/poll.model.php b/modules/poll/poll.model.php index 37f339070..4f985bc10 100644 --- a/modules/poll/poll.model.php +++ b/modules/poll/poll.model.php @@ -84,12 +84,33 @@ Context::set('poll',$poll); - $tpl_path = $this->module_path.'tpl'; + // 기본 설정의 스킨, 컬러셋 설정 + $oModuleModel = &getModel('module'); + $poll_config = $oModuleModel->getModuleConfig('poll'); + Context::set('poll_config', $poll_config); + $tpl_path = sprintf("%sskins/%s/", $this->module_path, $poll_config->skin); require_once("./classes/template/TemplateHandler.class.php"); $oTemplate = new TemplateHandler(); return $oTemplate->compile($tpl_path, $tpl_file); } + /** + * @brief 선택된 설문조사 - 스킨의 컬러셋을 return + **/ + function getPollGetColorsetList() { + $skin = Context::get('skin'); + + $oModuleModel = &getModel('module'); + $skin_info = $oModuleModel->loadSkinInfo($this->module_path, $skin); + + for($i=0;$icolorset);$i++) { + $colorset = sprintf('%s|@|%s', $skin_info->colorset[$i]->name, $skin_info->colorset[$i]->title); + $colorset_list[] = $colorset; + } + + if(count($colorset_list)) $colorsets = implode("\n", $colorset_list); + $this->add('colorset_list', $colorsets); + } } ?> diff --git a/modules/poll/poll.view.php b/modules/poll/poll.view.php index 09f79941e..2ed171f45 100644 --- a/modules/poll/poll.view.php +++ b/modules/poll/poll.view.php @@ -59,5 +59,27 @@ $this->setTemplateFile('poll_list'); } + /** + * @brief 설문조사 스킨, 컬러셋 설정 + **/ + function dispPollAdminConfig() { + $oModuleModel = &getModel('module'); + + // 설정 정보 가져오기 + $config = $oModuleModel->getModuleConfig('poll'); + Context::set('config', $config); + + // 스킨 정보 가져오기 + $skin_list = $oModuleModel->getSkins($this->module_path); + Context::set('skin_list', $skin_list); + + // 설정된 스킨의 컬러셋 설정 + Context::set('colorset_list', $skin_list[$config->skin]->colorset); + + // 템플릿 지정 + $this->setTemplatePath($this->module_path.'tpl'); + $this->setTemplateFile('config'); + } + } ?> diff --git a/modules/poll/skins/default/skin.xml b/modules/poll/skins/default/skin.xml new file mode 100644 index 000000000..d6b050f9a --- /dev/null +++ b/modules/poll/skins/default/skin.xml @@ -0,0 +1,13 @@ + + + 설문조사 기본 스킨 + + 제로 + 설문조사 기본 스킨 + + + + 기본 + + + diff --git a/modules/poll/tpl/config.html b/modules/poll/tpl/config.html new file mode 100644 index 000000000..60e3b3058 --- /dev/null +++ b/modules/poll/tpl/config.html @@ -0,0 +1,35 @@ + + + + +
+ + + + + + + + + + + + + +
{$lang->skin} + +
{$lang->colorset} + +
+ +
+ +
diff --git a/modules/poll/tpl/filter/insert_config.xml b/modules/poll/tpl/filter/insert_config.xml new file mode 100644 index 000000000..ab7a9ed03 --- /dev/null +++ b/modules/poll/tpl/filter/insert_config.xml @@ -0,0 +1,11 @@ + +
+ + + + + + + + +
diff --git a/modules/poll/tpl/js/poll_admin.js b/modules/poll/tpl/js/poll_admin.js new file mode 100644 index 000000000..d8fbae4aa --- /dev/null +++ b/modules/poll/tpl/js/poll_admin.js @@ -0,0 +1,38 @@ +/** + * @file modules/poll/js/poll_admin.js + * @author zero (zero@nzeo.com) + * @brief poll 모듈의 관리자용 javascript + **/ + +/* 플러그인 코드 생성시 스킨을 고르면 컬러셋의 정보를 표시 */ +function doDisplaySkinColorset(sel, colorset) { + var skin = sel.options[sel.selectedIndex].value; + + var params = new Array(); + params["skin"] = skin; + params["colorset"] = colorset; + + var response_tags = new Array("error","message","colorset_list"); + + exec_xml("poll", "getPollGetColorsetList", params, completeGetSkinColorset, response_tags, params); +} + +/* 서버에서 받아온 컬러셋을 표시 */ +function completeGetSkinColorset(ret_obj, response_tags, params, fo_obj) { + var sel = xGetElementById("fo_poll").poll_colorset; + var length = sel.options.length; + var selected_colorset = params["colorset"]; + for(var i=0;i