git-svn-id: http://xe-core.googlecode.com/svn/trunk@201 201d5d3c-b55e-5fd7-737f-ddc643e51545

This commit is contained in:
zero 2007-02-27 14:47:51 +00:00
parent eb5e1cf87d
commit 0463fa5b58
9 changed files with 265 additions and 138 deletions

View file

@ -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;

View file

@ -1,138 +1,138 @@
<?php
/**
* @file : common/lang/ko.lang.php
* @author : zero <zero@nzeo.com>
* @desc : 한국어 언어팩 (기본적인 내용만 수록)
**/
/**
* @file : common/lang/ko.lang.php
* @author : zero <zero@nzeo.com>
* @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 = '삭제하시겠습니까?';
?>

View file

@ -2,6 +2,6 @@
<module>
<grants />
<actions>
<action name="getSearchZipCode" type="model" index="true" standalone="true" />
<action name="getZipCodeList" type="model" index="true" standalone="true" />
</actions>
</module>

View file

@ -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';
}
?>

View file

@ -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));
}

View file

@ -0,0 +1,12 @@
<?php
/**
* @file : modules/krzip/lang/ko.lang.php
* @author : zero <zero@nzeo.com>
* @desc : 한국어 언어팩 (기본적인 내용만 수록)
**/
// 에러 메세지들
$lang->msg_not_exists_addr = "검색하려는 대상이 없습니다";
$lang->msg_fail_to_socket_open = "우편번호 검색 대상 서버 접속이 실패하였습니다";
$lang->msg_no_result = "검색 결과가 없습니다";
?>

View file

@ -9,7 +9,7 @@
<!--@end-->
</div>
<form action="./" method="get" onsubmit="return procFilter(this, insert)">
<form id="fo_insert_member" action="./" method="get" onsubmit="return procFilter(this, insert)">
<input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="member_srl" value="{$member_srl}" />
<!--@if($member_info->member_srl)-->
@ -120,24 +120,37 @@
{$val->column_title}
</th>
<td>
<!--@if($val->column_type == 'text')-->
<!-- 일반 text -->
<!--@if($val->column_type == 'text')-->
<input type="text" name="{$val->column_name}" value="{$val->value}" />
<!-- 홈페이지 주소 -->
<!--@elseif($val->column_type == 'homepage')-->
<input type="text" name="{$val->column_name}" value="{$val->value}" />
<!-- Email 주소 -->
<!--@elseif($val->column_type == 'email_address')-->
<input type="text" name="{$val->column_name}" value="{$val->value}" />
<!-- 전화번호 -->
<!--@elseif($val->column_type == 'tel')-->
<input type="text" name="{$val->column_name}" value="{$val->value[0]}" size="4" />-
<input type="text" name="{$val->column_name}" value="{$val->value[1]}" size="4" />-
<input type="text" name="{$val->column_name}" value="{$val->value[2]}" size="4" />
<!-- textarea -->
<!--@elseif($val->column_type == 'textarea')-->
<textarea name="{$val->column_name}">{$val->value}</textarea>
<!-- 다중 선택 -->
<!--@elseif($val->column_type == 'checkbox')-->
<!--@if($val->default_value)-->
<!--@foreach($val->default_value as $v)-->
<input type="checkbox" name="{$val->column_name}" value="{$v}" <!--@if(is_array($val->value)&&in_array($v, $val->value))-->checked="true"<!--@end-->/> {$v}
<!--@end-->
<!--@end-->
<!-- 단일 선택 -->
<!--@elseif($val->column_type == 'select')-->
<select name="{$val->column_name}">
<!--@if($val->default_value)-->
@ -146,10 +159,31 @@
<!--@end-->
<!--@end-->
</select>
<!-- 한국 주소 검색 -->
<!--@elseif($val->column_type == 'kr_zip')-->
<input type="text" name="{$val->column_name}" value="{$val->value}" />
<div id="zone_address_1_{$val->column_name}" style="display:<!--@if($val->value[0])-->inline<!--@else-->none<!--@end-->;">
<input type="text" name="{$val->column_name}" value="{$val->value[0]}" />
<input type="button" value="{$lang->cmd_cancel}" onclick="doHideKrZipList('{$val->column_name}'); return false;" />
</div>
<div id="zone_address_list_{$val->column_name}" style="display:none">
<select name="_tmp_address_list_{$val->column_name}" style="width:240px;"></select>
<input type="button" value="{$lang->cmd_select}" onclick="doSelectKrZip('{$val->column_name}'); return false;" />
<input type="button" value="{$lang->cmd_cancel}" onclick="doHideKrZipList('{$val->column_name}'); return false;" />
</div>
<div id="zone_address_search_{$val->column_name}" style="display:<!--@if($val->value[0])-->none<!--@else-->inline<!--@end-->;">
<input type="text" name="_tmp_address_search_{$val->column_name}" value="" />
<input type="button" value="{$lang->cmd_search}" onclick="doSearchKrZip('{$val->column_name}'); return false;" />
</div>
<div>
<input type="text" name="{$val->column_name}" value="{$val->value[1]}" />
</div>
<!-- 일본 주소 검색 -->
<!--@elseif($val->column_type == 'jp_zip')-->
<input type="text" name="{$val->column_name}" value="{$val->value}" />
<!--@end-->
</td>

View file

@ -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<address_list.length;i++) {
var opt = new Option(address_list[i],address_list[i],false,false);
sel_obj.options[i] = opt;
}
for(var i=address_list.length-1;i<sel_obj.options.length;i++) {
sel_obj.remove(i);
}
sel_obj.selectedIndex = 0;
zone_search_obj.style.display = 'none';
zone_addr1_obj.style.display = 'none';
zone_list_obj.style.display = 'inline';
}

View file

@ -43,7 +43,9 @@
<th>{$val->column_title}</th>
<td>
<!--@if($val->column_type=='tel')-->
{implode("-",$val->value)}
{$val->value[0]} - {$val->value[1]} - {$val->value[2]}
<!--@elseif($val->column_type=='kr_zip')-->
{$val->value[0]} {$val->value[1]}
<!--@elseif($val->column_type=='checkbox')-->
{implode(",",$val->value)}
<!--@else-->