*/
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 */