diff --git a/common/js/xml_js_filter.js b/common/js/xml_js_filter.js index 45cf536a9..fff69ece7 100644 --- a/common/js/xml_js_filter.js +++ b/common/js/xml_js_filter.js @@ -116,6 +116,13 @@ function XmlJsFilterGetValue(target_name) { default : if(length>0 && target_type_list[target_name]) { switch(target_type_list[target_name]) { + case 'kr_zip' : + var val1 = obj[0].value; + var val2 = obj[1].value; + if(val1&&val2) { + value = val1+'|@|'+val2; + } + break; case 'tel' : var val1 = obj[0].value; var val2 = obj[1].value; diff --git a/common/lang/ko.lang.php b/common/lang/ko.lang.php index 94da9de4a..6196cf813 100644 --- a/common/lang/ko.lang.php +++ b/common/lang/ko.lang.php @@ -1,138 +1,138 @@ - * @desc : 한국어 언어팩 (기본적인 내용만 수록) - **/ + /** + * @file : common/lang/ko.lang.php + * @author : zero + * @desc : 한국어 언어팩 (기본적인 내용만 수록) + **/ - // 기본적으로 사용되는 action 언어 - $lang->cmd_write = '쓰기'; - $lang->cmd_reply = '답글'; - $lang->cmd_delete = '삭제'; - $lang->cmd_modify = '수정'; - $lang->cmd_list = '목록'; - $lang->cmd_prev = '이전'; - $lang->cmd_next = '다음'; - $lang->cmd_send_trackback = '엮인글발송'; - $lang->cmd_registration = '등록'; - $lang->cmd_insert = '추가'; - $lang->cmd_save = '저장'; - $lang->cmd_input = '입력'; - $lang->cmd_search = '검색'; - $lang->cmd_cancel = '취소'; - $lang->cmd_back = '돌아가기'; - $lang->cmd_vote= '추천'; - $lang->cmd_login = '로그인'; - $lang->cmd_logout = '로그아웃'; - $lang->cmd_signup = '가입'; - $lang->cmd_leave = '탈퇴'; - $lang->cmd_move = '이동'; - $lang->cmd_move_up = '위로'; - $lang->cmd_move_down = '아래로'; - $lang->cmd_management = '관리'; - $lang->cmd_make = "생성"; - $lang->cmd_select_all = "모두선택"; - $lang->cmd_unselect_all = "모두해제"; + // 기본적으로 사용되는 action 언어 + $lang->cmd_write = '쓰기'; + $lang->cmd_reply = '답글'; + $lang->cmd_delete = '삭제'; + $lang->cmd_modify = '수정'; + $lang->cmd_list = '목록'; + $lang->cmd_prev = '이전'; + $lang->cmd_next = '다음'; + $lang->cmd_send_trackback = '엮인글발송'; + $lang->cmd_registration = '등록'; + $lang->cmd_insert = '추가'; + $lang->cmd_save = '저장'; + $lang->cmd_input = '입력'; + $lang->cmd_search = '검색'; + $lang->cmd_cancel = '취소'; + $lang->cmd_back = '돌아가기'; + $lang->cmd_vote= '추천'; + $lang->cmd_login = '로그인'; + $lang->cmd_logout = '로그아웃'; + $lang->cmd_signup = '가입'; + $lang->cmd_leave = '탈퇴'; + $lang->cmd_move = '이동'; + $lang->cmd_move_up = '위로'; + $lang->cmd_move_down = '아래로'; + $lang->cmd_management = '관리'; + $lang->cmd_make = "생성"; + $lang->cmd_select = "선택"; + $lang->cmd_select_all = "모두선택"; + $lang->cmd_unselect_all = "모두해제"; - $lang->enable = '가능'; - $lang->disable = '불가능'; + $lang->enable = '가능'; + $lang->disable = '불가능'; - // 기본 단어 - $lang->no = '번호'; - $lang->notice = '공지'; - $lang->secret = '비밀'; - $lang->category = '분류'; - $lang->document_srl = '문서번호'; - $lang->user_id = '아이디'; - $lang->author = '작성자'; - $lang->password = '비밀번호'; - $lang->password1 = '비밀번호'; - $lang->password2 = '비밀번호 확인'; - $lang->admin_id = '관리자ID'; - $lang->user_name = '이름'; - $lang->nick_name = '닉네임'; - $lang->email_address = '이메일 주소'; - $lang->homepage = '홈페이지'; - $lang->browser_title = '브라우저 제목'; - $lang->title = '제목'; - $lang->title_content = '제목+내용'; - $lang->content = '내용'; - $lang->document = '게시물'; - $lang->comment = '댓글'; - $lang->description = '설명'; - $lang->trackback = '엮인글'; - $lang->tag = '태그'; - $lang->about_tag = '태그 입력시 , (쉼표)를 이용하시면 복수 등록이 가능합니다'; - $lang->allow_comment = '댓글허용'; - $lang->lock_comment = '댓글잠금'; - $lang->allow_trackback = '엮인글허용'; - $lang->uploaded_file = '첨부파일'; - $lang->grant = "권한"; - $lang->target = "대상"; + // 기본 단어 + $lang->no = '번호'; + $lang->notice = '공지'; + $lang->secret = '비밀'; + $lang->category = '분류'; + $lang->document_srl = '문서번호'; + $lang->user_id = '아이디'; + $lang->author = '작성자'; + $lang->password = '비밀번호'; + $lang->password1 = '비밀번호'; + $lang->password2 = '비밀번호 확인'; + $lang->admin_id = '관리자ID'; + $lang->user_name = '이름'; + $lang->nick_name = '닉네임'; + $lang->email_address = '이메일 주소'; + $lang->homepage = '홈페이지'; + $lang->browser_title = '브라우저 제목'; + $lang->title = '제목'; + $lang->title_content = '제목+내용'; + $lang->content = '내용'; + $lang->document = '게시물'; + $lang->comment = '댓글'; + $lang->description = '설명'; + $lang->trackback = '엮인글'; + $lang->tag = '태그'; + $lang->about_tag = '태그 입력시 , (쉼표)를 이용하시면 복수 등록이 가능합니다'; + $lang->allow_comment = '댓글허용'; + $lang->lock_comment = '댓글잠금'; + $lang->allow_trackback = '엮인글허용'; + $lang->uploaded_file = '첨부파일'; + $lang->grant = "권한"; + $lang->target = "대상"; - $lang->document_url = '게시글 주소'; - $lang->trackback_url = '엮인글 주소'; - $lang->blog_name = '블로그이름'; - $lang->excerpt = '발췌'; + $lang->document_url = '게시글 주소'; + $lang->trackback_url = '엮인글 주소'; + $lang->blog_name = '블로그이름'; + $lang->excerpt = '발췌'; - $lang->document_count = '글수'; - $lang->page_count = '페이지수'; - $lang->readed_count = '조회수'; - $lang->voted_count = '추천수'; - $lang->member_count = '회원수'; - $lang->date = '날짜'; - $lang->regdate = '등록일'; - $lang->last_update = '최근수정일'; - $lang->last_login = '최종로그인'; - $lang->first_page = '첫페이지'; - $lang->last_page = '끝페이지'; - $lang->search_target = '검색대상'; - $lang->search_keyword = '검색어'; - $lang->is_default = "기본"; + $lang->document_count = '글수'; + $lang->page_count = '페이지수'; + $lang->readed_count = '조회수'; + $lang->voted_count = '추천수'; + $lang->member_count = '회원수'; + $lang->date = '날짜'; + $lang->regdate = '등록일'; + $lang->last_update = '최근수정일'; + $lang->last_login = '최종로그인'; + $lang->first_page = '첫페이지'; + $lang->last_page = '끝페이지'; + $lang->search_target = '검색대상'; + $lang->search_keyword = '검색어'; + $lang->is_default = "기본"; - $lang->use = "사용"; - $lang->notuse = "미사용"; + $lang->use = "사용"; + $lang->notuse = "미사용"; - // xml filter에서 사용되는 javascript용 alert msg - $lang->filter->isnull = '%s의 값을 입력해주세요'; - $lang->filter->outofrange = '%s의 글자 길이를 맞추어 주세요.'; - $lang->filter->equalto = '%s의 값이 잘못 되었습니다.'; - $lang->filter->invalid_email = '%s의 형식이 잘못되었습니다. (예: zb5@zeroboard.com)'; - $lang->filter->invalid_user_id = $lang->filter->invalid_userid = "%s의 형식이 잘못되었습니다.\\n영문,숫자와 _로 만드실 수 있으며 제일 앞은 영문이어야 합니다"; - $lang->filter->invalid_homepage = '%s의 형식이 잘못되었습니다. (예: http://www.zeroboard.com)'; - $lang->filter->invalid_korean = '%s의 형식이 잘못되었습니다. 한글로만 입력해주셔야 합니다'; - $lang->filter->invalid_korean_number = '%s의 형식이 잘못되었습니다. 한글과 숫자로만 입력해주셔야 합니다'; - $lang->filter->invalid_alpha = '%s의 형식이 잘못되었습니다. 영문으로만 입력해주셔야 합니다'; - $lang->filter->invalid_alpha_number = '%s의 형식이 잘못되었습니다. 영문과 숫자로만 입력해주셔야 합니다'; - $lang->filter->invalid_number = '%s의 형식이 잘못되었습니다. 숫자로만 입력해주셔야 합니다'; + // xml filter에서 사용되는 javascript용 alert msg + $lang->filter->isnull = '%s의 값을 입력해주세요'; + $lang->filter->outofrange = '%s의 글자 길이를 맞추어 주세요.'; + $lang->filter->equalto = '%s의 값이 잘못 되었습니다.'; + $lang->filter->invalid_email = '%s의 형식이 잘못되었습니다. (예: zb5@zeroboard.com)'; + $lang->filter->invalid_user_id = $lang->filter->invalid_userid = "%s의 형식이 잘못되었습니다.\\n영문,숫자와 _로 만드실 수 있으며 제일 앞은 영문이어야 합니다"; + $lang->filter->invalid_homepage = '%s의 형식이 잘못되었습니다. (예: http://www.zeroboard.com)'; + $lang->filter->invalid_korean = '%s의 형식이 잘못되었습니다. 한글로만 입력해주셔야 합니다'; + $lang->filter->invalid_korean_number = '%s의 형식이 잘못되었습니다. 한글과 숫자로만 입력해주셔야 합니다'; + $lang->filter->invalid_alpha = '%s의 형식이 잘못되었습니다. 영문으로만 입력해주셔야 합니다'; + $lang->filter->invalid_alpha_number = '%s의 형식이 잘못되었습니다. 영문과 숫자로만 입력해주셔야 합니다'; + $lang->filter->invalid_number = '%s의 형식이 잘못되었습니다. 숫자로만 입력해주셔야 합니다'; - // 메세지 관련 - $lang->msg_call_server = '서버에 요청중입니다. 잠시만 기다려주세요.'; - $lang->msg_db_not_setted = 'DB설정이 되어 있지 않습니다'; - $lang->msg_invalid_queryid = 'Query ID값이 잘못 지정되었습니다'; - $lang->msg_not_permitted = '권한이 없습니다'; - $lang->msg_input_password = '비밀번호를 입력하여 주세요'; - $lang->msg_invalid_document = '잘못된 문서번호입니다'; - $lang->msg_invalid_request = '잘못된 요청입니다'; - $lang->msg_invalid_password = '비밀번호가 올바르지 않습니다'; - $lang->msg_error_occured = '오류가 발생하였습니다'; - $lang->msg_not_founded = '대상을 찾을 수 없습니다'; + // 메세지 관련 + $lang->msg_call_server = '서버에 요청중입니다. 잠시만 기다려주세요.'; + $lang->msg_db_not_setted = 'DB설정이 되어 있지 않습니다'; + $lang->msg_invalid_queryid = 'Query ID값이 잘못 지정되었습니다'; + $lang->msg_not_permitted = '권한이 없습니다'; + $lang->msg_input_password = '비밀번호를 입력하여 주세요'; + $lang->msg_invalid_document = '잘못된 문서번호입니다'; + $lang->msg_invalid_request = '잘못된 요청입니다'; + $lang->msg_invalid_password = '비밀번호가 올바르지 않습니다'; + $lang->msg_error_occured = '오류가 발생하였습니다'; + $lang->msg_not_founded = '대상을 찾을 수 없습니다'; - $lang->msg_module_is_not_exists = '요청하신 모듈을 찾을 수 없습니다'; - $lang->msg_module_is_not_standalone = '요청하신 모듈은 독립적으로 동작할 수가 없습니다'; + $lang->msg_module_is_not_exists = '요청하신 모듈을 찾을 수 없습니다'; + $lang->msg_module_is_not_standalone = '요청하신 모듈은 독립적으로 동작할 수가 없습니다'; - $lang->success_registed = '등록되었습니다'; - $lang->success_updated = '수정되었습니다'; - $lang->success_deleted = '삭제되었습니다'; - $lang->success_voted = '추천되었습니다'; - $lang->success_moved = '이동되었습니다'; + $lang->success_registed = '등록되었습니다'; + $lang->success_updated = '수정되었습니다'; + $lang->success_deleted = '삭제되었습니다'; + $lang->success_voted = '추천되었습니다'; + $lang->success_moved = '이동되었습니다'; - $lang->failed_voted = '추천하실 수 없습니다'; - $lang->fail_to_delete_have_children = '답글이 있어서 삭제할 수 없습니다'; - - $lang->confirm_submit = '등록하시겠습니까?'; - $lang->confirm_logout = '로그아웃하시겠습니까?'; - $lang->confirm_vote = '추천하시겠습니까?'; - $lang->confirm_delete = '삭제하시겠습니까?'; + $lang->failed_voted = '추천하실 수 없습니다'; + $lang->fail_to_delete_have_children = '답글이 있어서 삭제할 수 없습니다'; + $lang->confirm_submit = '등록하시겠습니까?'; + $lang->confirm_logout = '로그아웃하시겠습니까?'; + $lang->confirm_vote = '추천하시겠습니까?'; + $lang->confirm_delete = '삭제하시겠습니까?'; ?> diff --git a/modules/krzip/conf/module.xml b/modules/krzip/conf/module.xml index 69f17497e..20d6bac9b 100644 --- a/modules/krzip/conf/module.xml +++ b/modules/krzip/conf/module.xml @@ -2,6 +2,6 @@ - + diff --git a/modules/krzip/krzip.class.php b/modules/krzip/krzip.class.php index b9543621d..1f034f553 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?addr=%s"; + var $query = '/server.php?addr3=%s'; } ?> diff --git a/modules/krzip/krzip.model.php b/modules/krzip/krzip.model.php index 53c958aa9..76f39e154 100644 --- a/modules/krzip/krzip.model.php +++ b/modules/krzip/krzip.model.php @@ -17,30 +17,31 @@ * @brief 우편 번호 검색 * 동이름을 입력받아서 지정된 서버에 우편번호 목록을 요청한다 **/ - function getSearchZipCode() { + function getZipCodeList() { // 동네 이름을 받음 $addr = trim(Context::get('addr')); - if(!$addr) return new Object(-1,'error'); + if(!$addr) return new Object(-1,'msg_not_exists_addr'); // 지정된 서버에 요청을 시도한다 $query_string = sprintf($this->query,urlencode($addr)); $fp = fsockopen($this->hostname, $this->port, $errno, $errstr); - if(!$fp) return new Object(-1, 'error'); + if(!$fp) return new Object(-1, 'msg_fail_to_socket_open'); fputs($fp, "GET {$query_string} HTTP/1.0\r\n"); - fputs($fp, "Host: {$hostname}\r\n\r\n"); + fputs($fp, "Host: {$this->hostname}\r\n\r\n"); $buff = ''; while(!feof($fp)) { - $str = fgets($fp, 1024); - if(trim($str)=='') $start = true; - if($start) $buff .= $str; + $str = fgets($fp, 1024); + if(trim($str)=='') $start = true; + if($start) $buff .= $str; } fclose($fp); $address_list = unserialize(base64_decode($buff)); + if(!$address_list) return new Object(-1, 'msg_no_result'); $this->add('address_list', implode("\n",$address_list)); } diff --git a/modules/krzip/lang/ko.lang.php b/modules/krzip/lang/ko.lang.php new file mode 100644 index 000000000..2605c381e --- /dev/null +++ b/modules/krzip/lang/ko.lang.php @@ -0,0 +1,12 @@ + + * @desc : 한국어 언어팩 (기본적인 내용만 수록) + **/ + + // 에러 메세지들 + $lang->msg_not_exists_addr = "검색하려는 대상이 없습니다"; + $lang->msg_fail_to_socket_open = "우편번호 검색 대상 서버 접속이 실패하였습니다"; + $lang->msg_no_result = "검색 결과가 없습니다"; +?> diff --git a/modules/member/tpl.admin/insert_member.html b/modules/member/tpl.admin/insert_member.html index 4279a01b1..fef79c490 100644 --- a/modules/member/tpl.admin/insert_member.html +++ b/modules/member/tpl.admin/insert_member.html @@ -9,7 +9,7 @@ -
+ @@ -120,24 +120,37 @@ {$val->column_title} - + + + + + + + + - - + + + + value)&&in_array($v, $val->value))-->checked="true"/> {$v} + + + + - +
+ + +
+ +
+ + +
+ +
+ +
+ + + diff --git a/modules/member/tpl.admin/js/admin.js b/modules/member/tpl.admin/js/admin.js index b64937eef..507768889 100644 --- a/modules/member/tpl.admin/js/admin.js +++ b/modules/member/tpl.admin/js/admin.js @@ -179,5 +179,76 @@ function doEditDefaultValue(obj, cmd) { } xGetElementById('fo_join_form').default_value.value = value_list.join('|@|'); - +} + +/* 한국 우편 번호 관련 */ +function doHideKrZipList(column_name) { + var zone_list_obj = xGetElementById('zone_address_list_'+column_name); + var zone_search_obj = xGetElementById('zone_address_search_'+column_name); + var zone_addr1_obj = xGetElementById('zone_address_1_'+column_name); + var addr1_obj = xGetElementById('fo_insert_member')[column_name][0]; + var field_obj = xGetElementById('fo_insert_member')['_tmp_address_search_'+column_name]; + + zone_addr1_obj.style.display = 'none'; + zone_list_obj.style.display = 'none'; + zone_search_obj.style.display = 'inline'; + addr1_obj.value = ''; + field_obj.focus(); +} + +function doSelectKrZip(column_name) { + var zone_list_obj = xGetElementById('zone_address_list_'+column_name); + var zone_search_obj = xGetElementById('zone_address_search_'+column_name); + var zone_addr1_obj = xGetElementById('zone_address_1_'+column_name); + var sel_obj = xGetElementById('fo_insert_member')['_tmp_address_list_'+column_name]; + var value = sel_obj.options[sel_obj.selectedIndex].value; + var addr1_obj = xGetElementById('fo_insert_member')[column_name][0]; + var addr2_obj = xGetElementById('fo_insert_member')[column_name][1]; + addr1_obj.value = value; + zone_search_obj.style.display = 'none'; + zone_list_obj.style.display = 'none'; + zone_addr1_obj.style.display = 'inline'; + addr2_obj.focus(); +} + +function doSearchKrZip(column_name) { + var field_obj = xGetElementById('fo_insert_member')['_tmp_address_search_'+column_name]; + var addr = field_obj.value; + if(!addr) return; + + var params = new Array(); + params['addr'] = addr; + params['column_name'] = column_name; + + var response_tags = new Array('error','message','address_list'); + exec_xml('krzip', 'getZipCodeList', params, completeSearchKrZip, response_tags, params); +} + +function completeSearchKrZip(ret_obj, response_tags, callback_args) { + if(!ret_obj['address_list']) { + alert(alert_msg['address']); + return; + } + var address_list = ret_obj['address_list'].split("\n"); + var column_name = callback_args['column_name']; + + var zone_list_obj = xGetElementById('zone_address_list_'+column_name); + var zone_search_obj = xGetElementById('zone_address_search_'+column_name); + var zone_addr1_obj = xGetElementById('zone_address_1_'+column_name); + var sel_obj = xGetElementById('fo_insert_member')['_tmp_address_list_'+column_name]; + + for(var i=0;i{$val->column_title} - {implode("-",$val->value)} + {$val->value[0]} - {$val->value[1]} - {$val->value[2]} + + {$val->value[0]} {$val->value[1]} {implode(",",$val->value)}