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

This commit is contained in:
zero 2007-02-27 13:30:47 +00:00
parent aff66fb54c
commit 8eccf0db7b
5 changed files with 64 additions and 85 deletions

View file

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

View file

@ -1,11 +0,0 @@
<?php
/**
* @class kr_zip
* @author zero (zero@nzeo.com)
* @brief 우편번호 검색 모듈인 kr_zip의 상위 클래스
**/
class kr_zip extends ModuleObject {
}
?>

View file

@ -1,73 +0,0 @@
<?php
/**
* @class kr_zip
* @author zero (zero@nzeo.com)
* @brief tag 모듈의 controller class
**/
class tagController extends tag {
/**
* @brief 초기화
**/
function init() {
}
/**
* @brief 태그 입력
* 태그 입력은 해당 글의 모든 태그를 삭제 입력하는 방식을 이용
**/
function insertTag($module_srl, $document_srl, $tags) {
// 해당 글의 tags를 모두 삭제
$this->deleteTag($document_srl);
if(!$tags) return;
// tags변수 정리
$tmp_tag_list = explode(',', $tags);
$tag_count = count($tmp_tag_list);
for($i=0;$i<$tag_count;$i++) {
$tag = trim($tmp_tag_list[$i]);
if(!$tag) continue;
$tag_list[] = $tag;
}
if(!count($tag_list)) return;
// DB 객체 생성
$oDB = &DB::getInstance();
// 다시 태그를 입력
$args->module_srl = $module_srl;
$args->document_srl = $document_srl;
$tag_count = count($tag_list);
for($i=0;$i<$tag_count;$i++) {
$args->tag = $tag_list[$i];
$oDB->executeQuery('tag.insertTag', $args);
}
return implode(',',$tag_list);
}
/**
* @brief 특정 문서의 태그 삭제
**/
function deleteTag($document_srl) {
// DB 객체 생성
$oDB = &DB::getInstance();
$args->document_srl = $document_srl;
return $oDB->executeQuery('tag.deleteTag', $args);
}
/**
* @brief 특정 모듈의 태그 삭제
**/
function deleteModuleTags($module_srl) {
// DB 객체 생성
$oDB = &DB::getInstance();
$args->module_srl = $module_srl;
return $oDB->executeQuery('tag.deleteModuleTags', $args);
}
}
?>

View file

@ -0,0 +1,15 @@
<?php
/**
* @class krzip
* @author zero (zero@nzeo.com)
* @brief 우편번호 검색 모듈인 krzip의 상위 클래스
**/
class krzip extends ModuleObject {
var $hostname = 'kr.zip.zeroboard.com';
var $port = 80;
var $query = '/server.php?addr=%s";
}
?>

View file

@ -0,0 +1,48 @@
<?php
/**
* @class krzipModel
* @author zero (zero@nzeo.com)
* @brief krzip 모듈의 model 클래스
**/
class krzipModel extends krzip {
/**
* @brief 초기화
**/
function init() {
}
/**
* @brief 우편 번호 검색
* 동이름을 입력받아서 지정된 서버에 우편번호 목록을 요청한다
**/
function getSearchZipCode() {
// 동네 이름을 받음
$addr = trim(Context::get('addr'));
if(!$addr) return new Object(-1,'error');
// 지정된 서버에 요청을 시도한다
$query_string = sprintf($this->query,urlencode($addr));
$fp = fsockopen($this->hostname, $this->port, $errno, $errstr);
if(!$fp) return new Object(-1, 'error');
fputs($fp, "GET {$query_string} HTTP/1.0\r\n");
fputs($fp, "Host: {$hostname}\r\n\r\n");
$buff = '';
while(!feof($fp)) {
$str = fgets($fp, 1024);
if(trim($str)=='') $start = true;
if($start) $buff .= $str;
}
fclose($fp);
$address_list = unserialize(base64_decode($buff));
$this->add('address_list', implode("\n",$address_list));
}
}
?>