diff --git a/addons/rainbow_link/js/rainbow.js b/addons/rainbow_link/js/rainbow.js
index fb9b35727..a4239c6bd 100644
--- a/addons/rainbow_link/js/rainbow.js
+++ b/addons/rainbow_link/js/rainbow.js
@@ -41,6 +41,14 @@ var clrOrg; // A color before the change
var TimerID; // Timer ID
+if(xIE4Up) {
+ xAddEventListener(document, 'mouseover', doRainbowAnchor);
+ xAddEventListener(document, 'mouseout', stopRainbowAnchor);
+} else {
+ xAddEventListener(document, 'mouseover', Mozilla_doRainbowAnchor);
+ xAddEventListener(document, 'mouseout', Mozilla_stopRainbowAnchor);
+}
+/*
if (document.all) {
document.onmouseover = doRainbowAnchor;
document.onmouseout = stopRainbowAnchor;
@@ -50,6 +58,7 @@ else if (document.getElementById) {
document.onmouseover = Mozilla_doRainbowAnchor;
document.onmouseout = Mozilla_stopRainbowAnchor;
}
+*/
//=============================================================================
@@ -128,14 +137,15 @@ function stopRainbowAnchor()
// Mozilla_doRainbowAnchor(for Netscape6 and Mozilla browser)
// This function begins to change a color. (of a anchor, automatically)
//=============================================================================
-function Mozilla_doRainbowAnchor(e)
+function Mozilla_doRainbowAnchor(evt)
{
+ var e = new xEvent(evt);
if (act == 0) {
obj = e.target;
while (obj.nodeName != 'A' && obj.nodeName != 'BODY') {
obj = obj.parentNode;
- if (obj.nodeName == 'A' || obj.nodeName == 'BODY')
- break;
+ if(typeof(obj)=='undefined'||!obj) return;
+ if (obj.nodeName == 'A' || obj.nodeName == 'BODY') break;
}
if (obj.nodeName == 'A' && obj.href != '') {
diff --git a/addons/rainbow_link/rainbow_link.addon.php b/addons/rainbow_link/rainbow_link.addon.php
index 931f2d66d..61cc57db8 100644
--- a/addons/rainbow_link/rainbow_link.addon.php
+++ b/addons/rainbow_link/rainbow_link.addon.php
@@ -10,6 +10,14 @@
* rainbow.js는 http://www.dynamicdrive.com에서 제작하였으며 저작권을 가지고 있습니다.
**/
+ // admin 모듈의 경우 무조건 패스
+ /*
+ if(Context::get('module') == 'admin') {
+ $this->rainbow_link_is_called = true;
+ return;
+ }
+ */
+
// 한번이라도 요청이 되었다면 패스
if($this->rainbow_link_is_called) return;
$this->rainbow_link_is_called = true;
diff --git a/modules/krzip/conf/module.xml b/modules/krzip/conf/module.xml
index 20d6bac9b..685353430 100644
--- a/modules/krzip/conf/module.xml
+++ b/modules/krzip/conf/module.xml
@@ -2,6 +2,8 @@
+
+
diff --git a/modules/krzip/krzip.class.php b/modules/krzip/krzip.class.php
index 1f034f553..f815fc64e 100644
--- a/modules/krzip/krzip.class.php
+++ b/modules/krzip/krzip.class.php
@@ -9,7 +9,7 @@
var $hostname = 'kr.zip.zeroboard.com';
var $port = 80;
- var $query = '/server.php?addr3=%s';
+ var $query = '/server.php?addr3=';
}
?>
diff --git a/modules/krzip/krzip.controller.php b/modules/krzip/krzip.controller.php
new file mode 100644
index 000000000..6042e5f5b
--- /dev/null
+++ b/modules/krzip/krzip.controller.php
@@ -0,0 +1,33 @@
+krzip_server_hostname) $args->krzip_server_hostname = $this->hostname;
+ if(!$args->krzip_server_port) $args->krzip_server_port = $this->port;
+ if(!$args->krzip_server_query) $args->krzip_server_query = $this->query;
+
+ // module Controller 객체 생성하여 입력
+ $oModuleController = &getController('module');
+ $output = $oModuleController->insertModuleConfig('krzip',$args);
+ return $output;
+ }
+
+ }
+?>
diff --git a/modules/krzip/krzip.model.php b/modules/krzip/krzip.model.php
index 76f39e154..b0ce3ceea 100644
--- a/modules/krzip/krzip.model.php
+++ b/modules/krzip/krzip.model.php
@@ -18,12 +18,19 @@
* 동이름을 입력받아서 지정된 서버에 우편번호 목록을 요청한다
**/
function getZipCodeList() {
+ // 설정 정보를 받아옴 (module model 객체를 이용)
+ $oModuleModel = &getModel('module');
+ $config = $oModuleModel->getModuleConfig('krzip');
+ if($args->krzip_server_hostname) $this->hostname = $args->krzip_server_hostname;
+ if($args->krzip_server_port) $this->port = $args->krzip_server_port;
+ if($args->krzip_server_query) $this->query = $args->krzip_server_query;
+
// 동네 이름을 받음
$addr = trim(Context::get('addr'));
if(!$addr) return new Object(-1,'msg_not_exists_addr');
// 지정된 서버에 요청을 시도한다
- $query_string = sprintf($this->query,urlencode($addr));
+ $query_string = $this->query.urlencode($addr);
$fp = fsockopen($this->hostname, $this->port, $errno, $errstr);
if(!$fp) return new Object(-1, 'msg_fail_to_socket_open');
diff --git a/modules/krzip/krzip.view.php b/modules/krzip/krzip.view.php
new file mode 100644
index 000000000..0fe41e628
--- /dev/null
+++ b/modules/krzip/krzip.view.php
@@ -0,0 +1,32 @@
+setTemplatePath($this->module_path.'tpl.admin');
+ }
+
+ /**
+ * @brief 애드온 목록을 보여줌
+ **/
+ function dispConfig() {
+ // 설정 정보를 받아옴 (module model 객체를 이용)
+ $oModuleModel = &getModel('module');
+ $config = $oModuleModel->getModuleConfig('krzip');
+ Context::set('config',$config);
+
+ // 템플릿 파일 지정
+ $this->setTemplateFile('index');
+ }
+
+
+ }
+?>
diff --git a/modules/krzip/lang/ko.lang.php b/modules/krzip/lang/ko.lang.php
index 2605c381e..d01c9959e 100644
--- a/modules/krzip/lang/ko.lang.php
+++ b/modules/krzip/lang/ko.lang.php
@@ -5,6 +5,16 @@
* @desc : 한국어 언어팩 (기본적인 내용만 수록)
**/
+ // 일반 단어들
+ $lang->krzip_server_hostname = "우편번호 검사 서버의 이름";
+ $lang->krzip_server_port = "우편번호 검사 서버 포트";
+ $lang->krzip_server_query = "우편번호 검사 서버 경로";
+
+ // 설명문
+ $lang->about_krzip_server_hostname = "우편번호를 검사하여 결과 목록을 가져올 서버의 도메인을 입력해주세요";
+ $lang->about_krzip_server_port = "우편번호를 검사서버의 포트 번호를 입력해주세요";
+ $lang->about_krzip_server_query = "우편번호를 검사서버에 요청할 query url을 입력해 주세요";
+
// 에러 메세지들
$lang->msg_not_exists_addr = "검색하려는 대상이 없습니다";
$lang->msg_fail_to_socket_open = "우편번호 검색 대상 서버 접속이 실패하였습니다";
diff --git a/modules/krzip/tpl.admin/filter/insert_config.xml b/modules/krzip/tpl.admin/filter/insert_config.xml
new file mode 100644
index 000000000..838f14be7
--- /dev/null
+++ b/modules/krzip/tpl.admin/filter/insert_config.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
diff --git a/modules/krzip/tpl.admin/index.html b/modules/krzip/tpl.admin/index.html
new file mode 100644
index 000000000..77ca9874d
--- /dev/null
+++ b/modules/krzip/tpl.admin/index.html
@@ -0,0 +1,33 @@
+
+
+