6 * Make sure that HTTP_RAW_POST_DATA variable is available.
8 ini_set('always_populate_raw_post_data', TRUE);
18 if (!version_compare(phpversion(), "5.2.0", ">=")) {
19 die("PHP " . $version . ' or later is required.');
27 require_once 'irreco_webdb_log.php';
29 IrrecoLog
::phpLevel(2047);
30 //IrrecoLog::pearLevel(PEAR_LOG_NOTICE);
31 IrrecoLog
::$index->log('Start >>>>>>>>>>>>>>>>>>');
38 * Some versions of PHP have a bug with setting HTTP_RAW_POST_DATA variable.
40 if (!isset($GLOBALS['HTTP_RAW_POST_DATA'])) {
41 IrrecoLog
::$index->log('Fixing $HTTP_RAW_POST_DATA');
42 $GLOBALS['HTTP_RAW_POST_DATA'] = file_get_contents('php://input');
47 * Create XML-RPC server.
50 require_once 'irreco_webdb_database.php';
51 require_once 'irreco_webdb_server.php';
53 $database = new IrrecoWebdbDatabase('mysqli://irreco:abcd@localhost/irreco');
54 $server = new IrrecoWebdbServer($database);
60 if (array_key_exists("HTTP_USER_AGENT", $_SERVER)) {
61 $client = $_SERVER['HTTP_USER_AGENT'];
65 $database->addUserAgentData($client);
72 IrrecoLog
::$server->log("Request:\n". $GLOBALS['HTTP_RAW_POST_DATA']);
75 $options = array('encoding' => 'UTF-8');
76 $xmlrpc2 = XML_RPC2_Server
::create($server, $options);
77 $xmlrpc2->handleCall();
78 $response = ob_get_clean();
80 $len = strlen($response);
82 IrrecoLog
::$server->log("Response:\n". substr($response, 0, 200).
83 " ...Listing cut for brevity...");
86 IrrecoLog
::$server->log("Response:\n". $response);
91 IrrecoLog
::$index->log('End <<<<<<<<<<<<<<<<<<<<');