*/ if(!defined('__XE__')) exit(); /** * @file ./addons/blogapi/blogapi.func.php * @author NAVER (developers@xpressengine.com) * @brief Function collections for the implementation of blogapi * */ // Error messages function getXmlRpcFailure($error, $message) { return sprintf( "\n\n\nfaultCode\n%d\n\n\nfaultString\n%s\n\n\n\n", $error, htmlspecialchars($message, ENT_COMPAT | ENT_HTML401, 'UTF-8', false) ); } // Display results function getXmlRpcResponse($params) { $buff = '' . "\n"; $buff .= _getEncodedVal($params); $buff .= "\n\n"; return $buff; } // Encoding function _getEncodedVal($val, $is_sub_set = false) { if(preg_match('/^\<\!\[CDATA\[/',$val)) { $buff = sprintf("%s", $val); } elseif(is_int($val)) { $buff = sprintf("%d", $val); } elseif(is_string($val) && preg_match('/^([0-9]+)T([0-9\:]+)$/', $val)) { $buff = sprintf("%s\n", $val); } elseif(is_double($val)) { $buff = sprintf("%f", $val); } elseif(is_bool($val)) { $buff = sprintf("%d", $val ? 1 : 0); } elseif(is_object($val)) { $values = get_object_vars($val); $val_count = count($values); $buff = ""; foreach($values as $k => $v) { $buff .= sprintf("\n%s\n%s\n", htmlspecialchars($k, ENT_COMPAT | ENT_HTML401, 'UTF-8', false), _getEncodedVal($v, true)); } $buff .= "\n"; } elseif(is_array($val)) { $val_count = count($val); $buff = "\n"; for($i = 0; $i < $val_count; $i++) { $buff .= _getEncodedVal($val[$i], true); } $buff .= "\n"; } else { $buff = sprintf("%s\n", $val); } if(!$is_sub_set) { return sprintf("\n%s", $buff); } return $buff; } // Display the result function printContent($content) { header("Content-Type: text/xml; charset=UTF-8"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); print $content; Context::close(); exit(); } /* End of file blogapi.func.php */ /* Location: ./addons/blogapi/blogapi.func.php */