- Patch #297860 by sun: fixed XML-RPC error handling.

merge-requests/26/head
Dries Buytaert 2009-12-18 16:49:10 +00:00
parent 0ec5405705
commit 5f069ef95a
1 changed files with 12 additions and 1 deletions

View File

@ -342,7 +342,7 @@ EOD;
}
function xmlrpc_error($code = NULL, $message = NULL) {
function xmlrpc_error($code = NULL, $message = NULL, $reset = FALSE) {
static $xmlrpc_error;
if (isset($code)) {
$xmlrpc_error = new stdClass();
@ -350,6 +350,9 @@ function xmlrpc_error($code = NULL, $message = NULL) {
$xmlrpc_error->code = $code;
$xmlrpc_error->message = $message;
}
elseif ($reset) {
$xmlrpc_error = NULL;
}
return $xmlrpc_error;
}
@ -441,6 +444,7 @@ function xmlrpc_base64_get_xml($xmlrpc_base64) {
function _xmlrpc() {
$args = func_get_args();
$url = array_shift($args);
xmlrpc_clear_error();
if (is_array($args[0])) {
$method = 'system.multicall';
$multicall_args = array();
@ -494,3 +498,10 @@ function xmlrpc_error_msg() {
$error = xmlrpc_error();
return ($error != NULL ? $error->message : NULL);
}
/**
* Clears any previous error.
*/
function xmlrpc_clear_error() {
xmlrpc_error(NULL, NULL, TRUE);
}