From d45cbb04a72b120f7c05589edffbc33160c30370 Mon Sep 17 00:00:00 2001 From: zero Date: Mon, 26 Mar 2007 09:32:45 +0000 Subject: [PATCH] git-svn-id: http://xe-core.googlecode.com/svn/trunk@662 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/editor/EditorHandler.class.php | 17 +++++ .../components/naver_map/lang/ko.lang.php | 2 +- .../components/naver_map/naver_map.class.php | 10 +-- modules/editor/conf/module.xml | 1 + modules/editor/editor.controller.php | 20 ++++++ modules/editor/editor.model.php | 5 ++ modules/editor/editor.view.php | 1 - modules/editor/tpl/filter/setup_component.xml | 8 +++ modules/editor/tpl/setup_component.html | 68 ++++++++++--------- 9 files changed, 93 insertions(+), 39 deletions(-) create mode 100644 modules/editor/tpl/filter/setup_component.xml diff --git a/classes/editor/EditorHandler.class.php b/classes/editor/EditorHandler.class.php index ad7ca966a..0e7dad4b1 100644 --- a/classes/editor/EditorHandler.class.php +++ b/classes/editor/EditorHandler.class.php @@ -7,6 +7,23 @@ class EditorHandler extends Object { + /** + * @brief 컴포넌트의 xml및 관련 정보들을 설정 + **/ + function setInfo($info) { + $this->component_name = $info->component_name; + $this->version = $info->version; + $this->title = $info->title; + $this->author = $info->author; + $this->description = $info->description; + + if($info->extra_vars) { + foreach($info->extra_vars as $key => $val) { + $this->{$key} = trim($val->value); + } + } + } + } ?> diff --git a/modules/editor/components/naver_map/lang/ko.lang.php b/modules/editor/components/naver_map/lang/ko.lang.php index 3f6d64a89..3fe58e3e4 100644 --- a/modules/editor/components/naver_map/lang/ko.lang.php +++ b/modules/editor/components/naver_map/lang/ko.lang.php @@ -18,5 +18,5 @@ $lang->msg_fail_to_socket_open = "우편번호 검색 대상 서버 접속이 실패하였습니다"; $lang->msg_no_result = "검색 결과가 없습니다"; - $lang->msg_no_apikey = "네이버맵 사용을 위해서는 네이버맵 open api key가 있어야 합니다.\nopen api key를 관리자 > 위지윅에디터 > 네이버 지도 연동 컴포넌트 설정을 선택한 후 입력하여 주세요"; + $lang->msg_no_apikey = "네이버맵 사용을 위해서는 네이버맵 open api key가 있어야 합니다.\nopen api key를 관리자 > 위지윅에디터 > 네이버 지도 연동 컴포넌트 설정을 선택한 후 입력하여 주세요"; ?> diff --git a/modules/editor/components/naver_map/naver_map.class.php b/modules/editor/components/naver_map/naver_map.class.php index c380aeabe..86a775fd7 100644 --- a/modules/editor/components/naver_map/naver_map.class.php +++ b/modules/editor/components/naver_map/naver_map.class.php @@ -12,8 +12,8 @@ var $component_path = ''; // 네이버맵 openapi 키 값 - //var $open_api_key = '22b1f5391a6970e03935444897334066'; - var $open_api_key = ''; + //var $api_key = '22b1f5391a6970e03935444897334066'; + var $api_key = ''; /** * @brief upload_target_srl과 컴포넌트의 경로를 받음 @@ -30,7 +30,7 @@ // 템플릿을 미리 컴파일해서 컴파일된 소스를 return $tpl_path = $this->component_path.'tpl'; - if(!$this->open_api_key) $tpl_file = 'error.html'; + if(!$this->api_key) $tpl_file = 'error.html'; else $tpl_file = 'popup.html'; Context::set("tpl_path", $tpl_path); @@ -50,7 +50,7 @@ Context::loadLang($this->component_path."lang"); // 지정된 서버에 요청을 시도한다 - $query_string = iconv("UTF-8","EUC-KR",sprintf('/api/geocode.php?key=%s&query=%s', $this->open_api_key, $address)); + $query_string = iconv("UTF-8","EUC-KR",sprintf('/api/geocode.php?key=%s&query=%s', $this->api_key, $address)); $fp = fsockopen('maps.naver.com', 80, $errno, $errstr); if(!$fp) return new Object(-1, 'msg_fail_to_socket_open'); @@ -129,7 +129,7 @@ ''. ''. ''. - ''. + ''. ''. diff --git a/modules/editor/conf/module.xml b/modules/editor/conf/module.xml index 6e4022d22..a599f5e41 100644 --- a/modules/editor/conf/module.xml +++ b/modules/editor/conf/module.xml @@ -10,5 +10,6 @@ + diff --git a/modules/editor/editor.controller.php b/modules/editor/editor.controller.php index 8ed661e58..37a5a0703 100644 --- a/modules/editor/editor.controller.php +++ b/modules/editor/editor.controller.php @@ -103,6 +103,26 @@ $this->setMessage('success_updated'); } + /** + * @brief 컴포넌트 설정 + **/ + function procSetupComponent() { + $component_name = Context::get('component_name'); + $extra_vars = Context::getRequestVars(); + unset($extra_vars->component_name); + unset($extra_vars->module); + unset($extra_vars->act); + + $args->component_name = $component_name; + $args->extra_vars = serialize($extra_vars); + + $oDB = &DB::getInstance(); + $output = $oDB->executeQuery('editor.updateComponent', $args); + if(!$output->toBool()) return $output; + + $this->setMessage('success_updated'); + } + /** * @brief 컴포넌트에서 ajax요청시 해당 컴포넌트의 method를 실행 **/ diff --git a/modules/editor/editor.model.php b/modules/editor/editor.model.php index 6a2ee49bc..3e2662129 100644 --- a/modules/editor/editor.model.php +++ b/modules/editor/editor.model.php @@ -16,11 +16,16 @@ $class_file = sprintf('%s%s.class.php', $class_path, $component); if(!file_exists($class_file)) return new Object(-1, sprintf(Context::getLang('msg_component_is_not_founded'), $component)); + // 클래스 파일을 읽은 후 객체 생성 require_once($class_file); $eval_str = sprintf('$oComponent = new %s("%s","%s");', $component, $upload_target_srl, $class_path); @eval($eval_str); if(!$oComponent) return new Object(-1, sprintf(Context::getLang('msg_component_is_not_founded'), $component)); + // 설정 정보를 추가 + $component_info = $this->getComponent($component); + $oComponent->setInfo($component_info); + return $oComponent; } diff --git a/modules/editor/editor.view.php b/modules/editor/editor.view.php index 42b090253..ad7318b6e 100644 --- a/modules/editor/editor.view.php +++ b/modules/editor/editor.view.php @@ -36,7 +36,6 @@ $oEditorModel = &getModel('editor'); $component = $oEditorModel->getComponent($component_name); - debugPrint($component); Context::set('component', $component); $this->setTemplatePath($this->module_path.'tpl'); diff --git a/modules/editor/tpl/filter/setup_component.xml b/modules/editor/tpl/filter/setup_component.xml new file mode 100644 index 000000000..3b537e241 --- /dev/null +++ b/modules/editor/tpl/filter/setup_component.xml @@ -0,0 +1,8 @@ + +
+ + + + + + diff --git a/modules/editor/tpl/setup_component.html b/modules/editor/tpl/setup_component.html index 92e9c7537..d897bbaec 100644 --- a/modules/editor/tpl/setup_component.html +++ b/modules/editor/tpl/setup_component.html @@ -1,36 +1,40 @@ +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{$lang->component_name}{$component->component_name} ver. {$component->version}
{$lang->component_author}{$component->author->name}
{$lang->component_link}{$component->author->link}
{$lang->component_extra_vars}
{$val->title}
{$val->description}
- - -
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{$lang->component_name}{$component->component_name} ver. {$component->version}
{$lang->component_author}{$component->author->name}
{$lang->component_link}{$component->author->link}
{$lang->component_extra_vars}
{$val->title}
{$val->description}
+ + +
+