/** * JSON 인코더 * @param array $val * @return string */ function kboard_json_encode($val) { if (function_exists('json_encode')) { return json_encode($val); } /* * http://kr1.php.net/json_encode#113219 */ if (is_string($val)) { return '"' . addslashes($val) . '"'; } if (is_numeric($val)) { return $val; } if ($val === null) { return 'null'; } if ($val === true) { return 'true'; } if ($val === false) { return 'false'; } $assoc = false; $i = 0; foreach ($val as $k => $v) { if ($k !== $i++) { $assoc = true; break; } } $res = array(); foreach ($val as $k => $v) { $v = kboard_json_encode($v); if ($assoc) { $k = '"' . addslashes($k) . '"'; $v = $k . ':' . $v; } $res[] = $v; } $res = implode(',', $res); return $assoc ? '{' . $res . '}' : '[' . $res . ']'; }
/** * 게시판 데이터를 JSON 형식으로 반환한다. */ public function getJsonList() { $list = $this->getList(); $data = array(); while ($content = $list->hasNext()) { $_data['uid'] = $content->uid; $_data['member_uid'] = $content->member_uid; $_data['member_display'] = $content->member_display; $_data['title'] = $content->title; $_data['content'] = $content->secret != 'true' ? $content->content : ''; $_data['date'] = $content->date; $_data['view'] = $content->view; $_data['comment'] = $content->comment; $_data['like'] = $content->like; $_data['thumbnail_file'] = $content->thumbnail_file; $_data['thumbnail_name'] = $content->thumbnail_name; $_data['category1'] = $content->category1; $_data['category2'] = $content->category2; $_data['secret'] = $content->secret; $_data['search'] = $content->search; $_data['attach'] = $content->attach; $_data['option'] = $content->option; $data[] = $_data; } return kboard_json_encode($data); }