*/ 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);
} // 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));