<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', TRUE);
ini_set('track_errors', TRUE);
function Foo ($method_name, $params, $app_data)
{
return TRUE;
}
function Bar ($method_name, $params, $app_data)
{
return FALSE;
}
// Hier werden alle Funktionen eingetragen, welche ueber
XML-RPC aufrufbar
// sein sollen. Wird kein zweiter Wert (Value) angegeben oder ist dieser
// NULL, so wird die Funktion mit dem selben Methodennamen registriert.
$defined_functions = array(
'Foo' => NULL,
'Bar' => NULL
);
//
XML-RPC Server erstellen
if(($server = xmlrpc_server_create()) !== FALSE)
{
// Funktion registrieren
foreach($defined_functions as $method => $func)
{
$func = empty($func) ? $method : $func;
if(xmlrpc_server_register_method($server, $method, $func) === FALSE)
die('Error: method could not be registered');
}
$output = xmlrpc_server_call_method(
$server,
$HTTP_RAW_POST_DATA,
'',
array(
'output_type' => '
xml',
'encoding' => 'utf-8'
)
);
header('Content-Type: text/
xml');
echo $output;
if(xmlrpc_server_destroy($server) === FALSE)
die('Error: could not destroy
xml-rpc server');
}
else die('Error: could not create
xml-rpc server');
?>