Example #1
0
 */
date_default_timezone_set('Asia/Seoul');
error_reporting(-1);
require_once dirname(__FILE__) . '/autoload.php';
// 검색 키워드, JSONP 콜백 함수명, 클라이언트 버전을 구한다.
$keywords = isset($_GET['q']) ? trim($_GET['q']) : (isset($argv[1]) ? trim($argv[1], ' "\'') : '');
$callback = isset($_GET['callback']) ? $_GET['callback'] : null;
$client_version = isset($_GET['v']) ? trim($_GET['v']) : POSTCODIFY_VERSION;
if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc()) {
    $keywords = stripslashes($keywords);
}
if (preg_match('/[^a-zA-Z0-9_.]/', $callback)) {
    $callback = null;
}
// 검색 서버를 설정한다.
$server = new Postcodify_Server();
$server->db_driver = POSTCODIFY_DB_DRIVER;
$server->db_dbname = POSTCODIFY_DB_DBNAME;
$server->db_host = POSTCODIFY_DB_HOST;
$server->db_port = POSTCODIFY_DB_PORT;
$server->db_user = POSTCODIFY_DB_USER;
$server->db_pass = POSTCODIFY_DB_PASS;
$server->cache_driver = defined('POSTCODIFY_CACHE_DRIVER') ? POSTCODIFY_CACHE_DRIVER : '';
$server->cache_host = defined('POSTCODIFY_CACHE_HOST') ? POSTCODIFY_CACHE_HOST : 'localhost';
$server->cache_port = defined('POSTCODIFY_CACHE_PORT') ? POSTCODIFY_CACHE_PORT : 11211;
$server->cache_ttl = defined('POSTCODIFY_CACHE_TTL') ? POSTCODIFY_CACHE_TTL : 86400;
// 검색을 수행하고 결과를 전송한다.
header('Content-Type: application/javascript; charset=UTF-8');
header('Cache-Control: private, must-revalidate, post-check=0, pre-check=0');
header('Expires: Sat, 01 Jan 2000 00:00:00 GMT');
$result = $server->search($keywords, 'UTF-8', $client_version);
Example #2
0
}
// JSONP 콜백 함수명과 클라이언트 버전을 구한다.
$callback = isset($_GET['callback']) ? $_GET['callback'] : null;
$client_version = isset($_GET['v']) ? trim($_GET['v']) : POSTCODIFY_VERSION;
if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc()) {
    $keywords = stripslashes($keywords);
}
if (preg_match('/[^a-zA-Z0-9_.]/', $callback)) {
    $callback = null;
}
// 검색을 수행한다.
header('Content-Type: application/javascript; charset=UTF-8');
header('Cache-Control: private, must-revalidate, post-check=0, pre-check=0');
header('Expires: Sat, 01 Jan 2000 00:00:00 GMT');
if (!isset($result) || !is_object($result)) {
    $server = new Postcodify_Server();
    $server->db_driver = POSTCODIFY_DB_DRIVER;
    $server->db_dbname = POSTCODIFY_DB_DBNAME;
    $server->db_host = POSTCODIFY_DB_HOST;
    $server->db_port = POSTCODIFY_DB_PORT;
    $server->db_user = POSTCODIFY_DB_USER;
    $server->db_pass = POSTCODIFY_DB_PASS;
    $result = $server->search($keywords, 'UTF-8');
}
// 검색 결과를 XE KRZIP API와 같은 포맷으로 변환한다.
if ($result->error) {
    $json = array('result' => false, 'msg' => "검색 서버와 통신 중 오류가 발생하였습니다.\n잠시 후 다시 시도해 주시기 바랍니다.\n\n" + $result->error);
} elseif (!count($result->results)) {
    $json = array('result' => false, 'msg' => "검색 결과가 없습니다. 정확한 도로명주소 또는 지번주소로 검색해 주시기 바랍니다.\n\n" + $result->error);
} else {
    $json = array('result' => true, 'values' => array('address' => array(), 'next' => -1));