diff --git a/wp-includes/class-xmlrpc.php b/wp-includes/class-xmlrpc.php index e5d967248c..5524eb4bea 100644 --- a/wp-includes/class-xmlrpc.php +++ b/wp-includes/class-xmlrpc.php @@ -775,7 +775,27 @@ class xmlrpcval { var $mytype=0; function xmlrpcval($val=-1, $type="") { - global $xmlrpcTypes; + global $xmlrpcTypes; + // but this doesn't work, so we redefine it. WEIRD BUG ALERT + $xmlrpcI4="i4"; + $xmlrpcInt="int"; + $xmlrpcBoolean="boolean"; + $xmlrpcDouble="double"; + $xmlrpcString="string"; + $xmlrpcDateTime="dateTime.iso8601"; + $xmlrpcBase64="base64"; + $xmlrpcArray="array"; + $xmlrpcStruct="struct"; + $xmlrpcTypes=array($xmlrpcI4 => 1, + $xmlrpcInt => 1, + $xmlrpcBoolean => 1, + $xmlrpcString => 1, + $xmlrpcDouble => 1, + $xmlrpcDateTime => 1, + $xmlrpcBase64 => 1, + $xmlrpcArray => 2, + $xmlrpcStruct => 3); + // print_r($xmlrpcTypes); $this->me=array(); $this->mytype=0; if ($val!=-1 || $type!="") { @@ -1058,7 +1078,7 @@ function iso8601_decode($idate, $utc=0) { ****************************************************************/ if (!function_exists('phpxmlrpc_decode')) { function phpxmlrpc_decode($xmlrpc_val) { - $kind = $xmlrpc_val->kindOf(); + $kind = @$xmlrpc_val->kindOf(); if($kind == "scalar") { return $xmlrpc_val->scalarval(); diff --git a/wp-includes/functions.php b/wp-includes/functions.php index b711c6225e..cc33126bb7 100644 --- a/wp-includes/functions.php +++ b/wp-includes/functions.php @@ -502,29 +502,31 @@ function weblog_ping($server = '', $path = '') { new xmlrpcval(get_settings('home') ,'string'))); $c = new xmlrpc_client($path, $server, 80); $r = $c->send($f); - - if ($debug) { - echo "
\n"; - print_r($r); - echo "\n"; - } - $v = @phpxmlrpc_decode($r->value()); - if (!$r->faultCode()) { - $result['message'] = "
";
- $result['message'] = $result['message'] . $v["message"] . "
\n";
- $result['message'] = $result['message'] . "
\n"; + print_r($r); + echo "\n"; + } - if ($debug) print '
' . $result['message'] . ''; + $v = @phpxmlrpc_decode($r->value()); + if (!$r->faultCode()) { + $result['message'] = "
";
+ $result['message'] = $result['message'] . $v["message"] . "
\n";
+ $result['message'] = $result['message'] . "
' . $result['message'] . ''; + } } function generic_ping($post_id = 0) {