From c9ad4c94379f9ca024952182f88594fefff42b66 Mon Sep 17 00:00:00 2001 From: michelvaldrighi Date: Fri, 14 May 2004 17:31:54 +0000 Subject: [PATCH] merging fixes by Mark Ghosh for service pings git-svn-id: http://svn.automattic.com/wordpress/trunk@1279 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/class-xmlrpc.php | 24 ++++++++++++++++++-- wp-includes/functions.php | 44 +++++++++++++++++++----------------- 2 files changed, 45 insertions(+), 23 deletions(-) diff --git a/wp-includes/class-xmlrpc.php b/wp-includes/class-xmlrpc.php index e5d967248..5524eb4be 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 b711c6225..cc33126bb 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 "

Response Object Dump:

-
\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'] . "

"; - } else { - $result['err'] = $r->faultCode(); - $result['message'] = "\n"; - } + if ('0' != $r) { + if ($debug) { + echo "

Response Object Dump:

+
\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'] . "

"; + } else { + $result['err'] = $r->faultCode(); + $result['message'] = "\n"; + } + + if ($debug) print '
' . $result['message'] . '
'; + } } function generic_ping($post_id = 0) {