//$xml = Safe::file_get_contents('xml-rpc/blogger.getUserInfo.request.xml'); //$xml = Safe::file_get_contents('xml-rpc/blogger.getUserInfo.response.xml'); //$xml = Safe::file_get_contents('xml-rpc/blogger.newPost.fault.xml'); //$xml = Safe::file_get_contents('xml-rpc/blogger.newPost.request.xml'); //$xml = Safe::file_get_contents('xml-rpc/blogger.newPost.response.xml'); //$xml = Safe::file_get_contents('xml-rpc/blogger.getUsersBlogs.request.xml'); //$xml = Safe::file_get_contents('xml-rpc/blogger.getUsersBlogs.response.xml'); //$xml = Safe::file_get_contents('xml-rpc/blogger.getUsersBlogs.response.2.xml'); //$xml = Safe::file_get_contents('xml-rpc/metaWeblog.newPost.request.xml'); $xml = Safe::file_get_contents('xml-rpc/metaWeblog.newPost.request.2.xml'); //$xml = Safe::file_get_contents('xml-rpc/getTemplate.response.xml'); //echo "Request:\n".$xml."\n"; if (!trim($xml)) { return; } // parse parameters //$result = $codec->decode($xml); $result = $codec->import_request($xml); //$result = $codec->import_response($xml); $status = @$result[0]; $parameters = @$result[1]; // if it was a HEAD request, stop here if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] == 'HEAD') { return; } // parse has failed if (!$status) { echo "Error: " . $parameters . BR; } else { var_dump($parameters); }
// load a skin engine load_skin('services'); // process raw content $raw_data = file_get_contents("php://input"); // save the raw request if debug mode if (isset($context['debug_ping']) && $context['debug_ping'] == 'Y') { Logger::remember('services/ping.php: ping request', $raw_data, 'debug'); } // transcode to our internal charset if ($context['charset'] == 'utf-8') { $raw_data = utf8::encode($raw_data); } // load the adequate codec $codec = new xml_rpc_Codec(); // parse xml parameters $result = $codec->import_request($raw_data); $status = @$result[0]; $parameters = @$result[1]; // nothing to parse if (!$raw_data) { $response = array('faultCode' => 5, 'faultString' => 'Empty request, please retry'); // parse has failed } elseif (!$status) { $response = array('faultCode' => 5, 'faultString' => 'Impossible to parse parameters'); // dispatch the request } else { // remember parameters if debug mode if (isset($context['debug_ping']) && $context['debug_ping'] == 'Y') { Logger::remember('services/ping.php: ping ' . $parameters['methodName'], $parameters['params'], 'debug'); } elseif (isset($context['debug_trackback']) && $context['debug_trackback'] == 'Y' && $parameters['methodName'] == 'pingback.ping') { Logger::remember('services/ping.php: ping ' . $parameters['methodName'], $parameters['params'], 'debug');
// process raw content $raw_data = file_get_contents("php://input"); // save the raw request if debug mode if (isset($context['debug_rpc']) && $context['debug_rpc'] == 'Y') { Logger::remember('services/xml_rpc.php: xml_rpc request', rawurldecode($raw_data), 'debug'); } // transcode to our internal charset if ($context['charset'] == 'utf-8') { $raw_data = utf8::encode($raw_data); } // load the adequate codec include_once 'codec.php'; include_once 'xml_rpc_codec.php'; $codec = new xml_rpc_Codec(); // parse xml parameters -- use rawurldecode() instead urldecode(), else you will loose + signs $result = $codec->import_request(rawurldecode($raw_data)); $status = @$result[0]; $parameters = @$result[1]; // nothing to parse if (!$raw_data) { $response = array('faultCode' => 1, 'faultString' => 'Empty request, please retry'); // parse has failed } elseif (!$status) { $response = array('faultCode' => 1, 'faultString' => 'Impossible to parse parameters'); // dispatch the request } else { // remember parameters if debug mode if (isset($context['debug_rpc']) && $context['debug_rpc'] == 'Y') { Logger::remember('services/xml_rpc.php: xml_rpc ' . $parameters['methodName'], $parameters['params'], 'debug'); } // depending on method name