* improved: the testsuite has basic checks for the debugger and demo files
+* fixed: the debugger would fail sending a request with ISO-8859-1 payload
+
XML-RPC for PHP version 3.0.0 - 2014/6/15
}
}
} else {
- $msg[0]->payload = $msg[0]->xml_header() .
+ $msg[0]->payload = $msg[0]->xml_header($inputcharset) .
'<methodName>' . $method . "</methodName>\n<params>" .
$payload .
"</params>\n" . $msg[0]->xml_footer();
echo '<div class="dbginfo"><h2>Debug info:</h2>';
} /// @todo use ob_start instead
$resp = array();
- $mtime = explode(' ', microtime());
- $time = (float)$mtime[0] + (float)$mtime[1];
+ $time = microtime(true);
foreach ($msg as $message) {
// catch errors: for older xmlrpc libs, send does not return by ref
@$response = $client->send($message, $timeout, $httpprotocol);
break;
}
}
- $mtime = explode(' ', microtime());
- $time = (float)$mtime[0] + (float)$mtime[1] - $time;
+ $time = microtime(true) - $time;
if ($debug) {
echo "</div>\n";
}
$_GET = array_map('stripslashes_deep', $_GET);
}
+$preferredEncodings = 'UTF-8, ASCII, ISO-8859-1, UTF-7, EUC-JP, SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP';
+$inputcharset = mb_detect_encoding(urldecode($_SERVER['REQUEST_URI']), $preferredEncodings);
if (isset($_GET['usepost']) && $_GET['usepost'] === 'true') {
$_GET = $_POST;
+ /// @todo detect encoding, eg from from http headers?
+ // mb_detect_encoding(urldecode($_SERVER['...']), $preferredEncodings);
}
// recover input parameters