<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Thanks Eric - I was just using curl as a test as I am familiar with it. The requests in the live environment will actually be coming from a flash application but thanks for the heads-up on the IXR library.<div><br></div><div><br></div><div><div><div>On 14 May 2010, at 17:31, <a href="mailto:eric@eamann.com">eric@eamann.com</a> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">

<div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">You're certainly going about this the hard way.&nbsp; Why not just use the IXR library already bundled with WordPress?</div><p style="margin: 0px;">&nbsp;</p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">&lt;?php</div><p style="margin: 0px;">&nbsp;</p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">include_once(ABSPATH . WPINC . '/class-IXR.php');<br>
    <br>
    $rpc = new IXR_Client( "<a href="http://wpmu.localhost/xmlrpc.php">http://wpmu.localhost/xmlrpc.php</a>" );<br>
    $status = $rpc-&gt;query(<br>
    &nbsp;&nbsp;&nbsp; "wp.getComments",&nbsp;&nbsp; // method name<br>
    &nbsp;&nbsp;&nbsp; "2",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // blog id<br>
    &nbsp;&nbsp;&nbsp; "admin",&nbsp;&nbsp; // username<br>
    &nbsp;&nbsp;&nbsp; "disney75", // password</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">&nbsp;&nbsp;&nbsp; array(<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "status"&nbsp;&nbsp; =&gt; "approve"<br>
    &nbsp;&nbsp;&nbsp; )<br>
    );<br>
    <br>
    if( !$status ) {<br>
    &nbsp;&nbsp;&nbsp; print "Error ( " . $rpc-&gt;getErrorCode( ) . " ) : ";<br>
    &nbsp;&nbsp;&nbsp; print $rpc-&gt;getErrorMessage( ) . "\n";<br>
    &nbsp;&nbsp;&nbsp; exit;<br>
    }<br>
    <br>
    $response= $rpc-&gt;getResponse( );<br>
    print_r( $response );</div><p style="margin: 0px;">&nbsp;</p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">?&gt;</div><p style="margin: 0px;">&nbsp;</p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">This is a tested setup and should work regardless of any issue you might face instantiating a CURL request and setting your headers from scratch.<br>
    <span></span></div><div>&nbsp;<br class="webkit-block-placeholder"></div>

    <div style="margin: 5px 0px 5px 0px; font-family: monospace;">
      On May 14, 2010 at 3:57 PM Luke Mackenzie &lt;<a href="mailto:luke@lukem.co.uk">luke@lukem.co.uk</a>&gt; wrote:<br>
      <br>
      &gt; Thanks again,<br>
      &gt;<br>
      &gt; Can anyone confirm if the blog_id parameter should work in the wp.getComments call? This is what I'm doing to test it:<br>
      &gt;<br>
      &gt; I've tried passing the blog ID as both a string and an integer. Wordpress MU version is 2.9.2<br>
      &gt;<br>
      &gt; I always get the comments from the default blog.<br>
      &gt;<br>
      &gt; &lt;?php<br>
      &gt;<br>
      &gt; error_reporting(E_ALL);<br>
      &gt;<br>
      &gt; $method= 'wp.getComments';<br>
      &gt;<br>
      &gt; $username = 'admin';<br>
      &gt;<br>
      &gt; $password = 'disney75';<br>
      &gt;<br>
      &gt;<br>
      &gt; $blog_id = 2;<br>
      &gt;<br>
      &gt; $params = array($blog_id, $username, $password, array('status'=&gt;'approve'));<br>
      &gt;<br>
      &gt; $service_url = 'http://wpmu.localhost/xmlrpc.php';<br>
      &gt;<br>
      &gt; //Using the XML-RPC extension to format the XML package<br>
      &gt;<br>
      &gt; $request = xmlrpc_encode_request($method, $params);<br>
      &gt;<br>
      &gt; //var_dump($request);<br>
      &gt;<br>
      &gt; $req = curl_init($service_url);<br>
      &gt;<br>
      &gt; // Using the cURL extension to send it off,&nbsp; first creating a custom header block<br>
      &gt;<br>
      &gt; $headers = array();<br>
      &gt;<br>
      &gt; array_push($headers,"Content-Type: text/xml");<br>
      &gt;<br>
      &gt; array_push($headers,"Content-Length: ".strlen($request));<br>
      &gt;<br>
      &gt; array_push($headers,"\r\n");<br>
      &gt;<br>
      &gt; //URL to post to<br>
      &gt;<br>
      &gt; curl_setopt($req, CURLOPT_URL, $service_url);<br>
      &gt;<br>
      &gt; //Setting options for a secure SSL based xmlrpc server<br>
      &gt;<br>
      &gt; curl_setopt($req, CURLOPT_SSL_VERIFYPEER, false);<br>
      &gt;<br>
      &gt; curl_setopt($req, CURLOPT_SSL_VERIFYHOST, 2);<br>
      &gt;<br>
      &gt; curl_setopt( $req, CURLOPT_CUSTOMREQUEST, 'POST' );<br>
      &gt;<br>
      &gt; curl_setopt($req, CURLOPT_RETURNTRANSFER, 1 );<br>
      &gt;<br>
      &gt; curl_setopt($req, CURLOPT_HTTPHEADER, $headers );<br>
      &gt;<br>
      &gt; curl_setopt( $req, CURLOPT_POSTFIELDS, $request );<br>
      &gt;<br>
      &gt; //Finally run<br>
      &gt;<br>
      &gt; $response = curl_exec($req);<br>
      &gt;<br>
      &gt; //Close the cURL connection<br>
      &gt;<br>
      &gt; curl_close($req);<br>
      &gt;<br>
      &gt; //Decoding the response to be displayed<br>
      &gt;<br>
      &gt; var_dump($response);<br>
      &gt;<br>
      &gt;<br>
      &gt;<br>
      &gt; On 14 May 2010, at 15:51, <a href="mailto:eric@eamann.com">eric@eamann.com</a> wrote:<br>
      &gt;<br>
      &gt; &gt; You can define your own XML-RPC methods and the functions that handle those method calls.&nbsp; That's what I meant by the handler function.&nbsp; For example, I use XML-RPC in all my plug-ins to report back installation progress and errors - each plug-in makes an XML-RPC call to a custom handler (method) on my server.<br>
      &gt; &gt;&nbsp;<br>
      &gt; &gt; Basically, you can define your own version of wp.getComments (maybe wpCustom.getComments) that focuses on MU blogs in whatever way you choose (identifying one blog by blog ID or getting information universally).<br>
      &gt; &gt;&nbsp;<br>
      &gt; &gt; On May 14, 2010 at 2:42 PM Luke Mackenzie &lt;<a href="mailto:luke@lukem.co.uk">luke@lukem.co.uk</a>&gt; wrote:<br>
      &gt; &gt;<br>
      &gt; &gt; &gt; Could you expand on what you mean by the handler function?<br>
      &gt; &gt; &gt;<br>
      &gt; &gt; &gt; I'm trying this call as an example:<br>
      &gt; &gt; &gt;<br>
      &gt; &gt; &gt; <a href="http://codex.wordpress.org/XML-RPC/wp.getComments">http://codex.wordpress.org/XML-RPC/wp.getComments</a><br>
      &gt; &gt; &gt;<br>
      &gt; &gt; &gt; Altering the blog_id has no effect on the comments returned. I have read elsewhere that the blog_id parameter is ignored. Is that still the case?<br>
      &gt; &gt; &gt;<br>
      &gt; &gt; &gt; An alternative would be to use different endpoints per blog as I believe these are separate in MU?<br>
      &gt; &gt; &gt;<br>
      &gt; &gt; &gt;<br>
      &gt; &gt; &gt; Thanks again,<br>
      &gt; &gt; &gt;<br>
      &gt; &gt; &gt; Luke.<br>
      &gt; &gt; &gt;<br>
      &gt; &gt; &gt;<br>
      &gt; &gt; &gt; On 14 May 2010, at 14:26, Eric Mann wrote:<br>
      &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt; Luke,<br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt; I've worked with WordPress' XMLRPC system before (using a WP-Hive<br>
      &gt; &gt; &gt; &gt; installation with multiple separate blogs similar to a WPMU set-up).&nbsp; The<br>
      &gt; &gt; &gt; &gt; new approach you're using is definitely simpler and easier to implement (I<br>
      &gt; &gt; &gt; &gt; tried the 5ubliminal one as well the first time).<br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt; Whether or not you can distinguish between separate blogs in a MU<br>
      &gt; &gt; &gt; &gt; installation depends entirely on how you build your handler function.&nbsp; You<br>
      &gt; &gt; &gt; &gt; can build it to distinguish the separate blogs, to only function on specific<br>
      &gt; &gt; &gt; &gt; blogs, or to treat the entire system as a single WordPress site.&nbsp; It's all<br>
      &gt; &gt; &gt; &gt; up to you.<br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt; Yes, you can retrieve and post to custom fields.<br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt; Absolutely writing a plug-in is the way to go.&nbsp; The only other options are<br>
      &gt; &gt; &gt; &gt; to change core files (BAD idea) or to build it into your theme, in which<br>
      &gt; &gt; &gt; &gt; case it could ONLY be used on MU sites using that theme.&nbsp; Build it as a<br>
      &gt; &gt; &gt; &gt; site-wide MU plug-in that can be controlled on a site-by-site basis by the<br>
      &gt; &gt; &gt; &gt; global admin.<br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt; ~Eric<br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt; Eric Mann<br>
      &gt; &gt; &gt; &gt; <a href="http://www.eamann.com">www.eamann.com</a><br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt; -----Original Message-----<br>
      &gt; &gt; &gt; &gt; From: <a href="mailto:wp-xmlrpc-bounces@lists.automattic.com">wp-xmlrpc-bounces@lists.automattic.com</a><br>
      &gt; &gt; &gt; &gt; [mailto:wp-xmlrpc-bounces@lists.automattic.com] On Behalf Of Luke Mackenzie<br>
      &gt; &gt; &gt; &gt; Sent: Friday, May 14, 2010 5:52 AM<br>
      &gt; &gt; &gt; &gt; To: <a href="mailto:wp-xmlrpc@lists.automattic.com">wp-xmlrpc@lists.automattic.com</a><br>
      &gt; &gt; &gt; &gt; Subject: [wp-xmlrpc] XMLRPC for Wordpress Mu<br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt; Hi,<br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt; I have been tasked with creating an API for retrieving and adding content to<br>
      &gt; &gt; &gt; &gt; Wordpress from a flash application and legacy CMS (non-PHP). My plan is to<br>
      &gt; &gt; &gt; &gt; utilise the existing default xmlrpc endpoint and add any additional<br>
      &gt; &gt; &gt; &gt; functionality by creating a plugin which hooks into xmlrpc_methods.<br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt; A previous attempt had been made by another developer based on the following<br>
      &gt; &gt; &gt; &gt; code:<br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt; <a href="http://blog.5ubliminal.com/posts/remote-control-wordpress-blog-xmlrpc-api/">http://blog.5ubliminal.com/posts/remote-control-wordpress-blog-xmlrpc-api/</a><br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt; This code looks unwieldy and poorly documented to me and my preference would<br>
      &gt; &gt; &gt; &gt; be to use this approach:<br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt; <a href="http://kovshenin.com/archives/custom-xml-rpc-methods-in-wordpress/">http://kovshenin.com/archives/custom-xml-rpc-methods-in-wordpress/</a><br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt; I would be grateful if anyone with experience in this area could confirm<br>
      &gt; &gt; &gt; &gt; that:<br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt; - I will be able to distinguish between separate blogs in an MU installation<br>
      &gt; &gt; &gt; &gt; when both retrieving and posting data via XMLRPC<br>
      &gt; &gt; &gt; &gt; - I will be able to retrieve and post to custom fields<br>
      &gt; &gt; &gt; &gt; - writing a plugin is the way to go.<br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt; We do not have the option of using Wordpress 3 as it is still in Beta and we<br>
      &gt; &gt; &gt; &gt; are under time pressure.<br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt; I would greatly appreciate appreciate any input / advice.<br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt; Many thanks,<br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt; Luke.<br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt; _______________________________________________<br>
      &gt; &gt; &gt; &gt; wp-xmlrpc mailing list<br>
      &gt; &gt; &gt; &gt; <a href="mailto:wp-xmlrpc@lists.automattic.com">wp-xmlrpc@lists.automattic.com</a><br>
      &gt; &gt; &gt; &gt; <a href="http://lists.automattic.com/mailman/listinfo/wp-xmlrpc">http://lists.automattic.com/mailman/listinfo/wp-xmlrpc</a><br>
      &gt; &gt; &gt; &gt;<br>
      &gt; &gt; &gt; &gt; _______________________________________________<br>
      &gt; &gt; &gt; &gt; wp-xmlrpc mailing list<br>
      &gt; &gt; &gt; &gt; <a href="mailto:wp-xmlrpc@lists.automattic.com">wp-xmlrpc@lists.automattic.com</a><br>
      &gt; &gt; &gt; &gt; <a href="http://lists.automattic.com/mailman/listinfo/wp-xmlrpc">http://lists.automattic.com/mailman/listinfo/wp-xmlrpc</a><br>
      &gt; &gt; &gt;<br>
      &gt; &gt; &gt; _______________________________________________<br>
      &gt; &gt; &gt; wp-xmlrpc mailing list<br>
      &gt; &gt; &gt; <a href="mailto:wp-xmlrpc@lists.automattic.com">wp-xmlrpc@lists.automattic.com</a><br>
      &gt; &gt; &gt; <a href="http://lists.automattic.com/mailman/listinfo/wp-xmlrpc">http://lists.automattic.com/mailman/listinfo/wp-xmlrpc</a><br>
      &gt; &gt; _______________________________________________<br>
      &gt; &gt; wp-xmlrpc mailing list<br>
      &gt; &gt; <a href="mailto:wp-xmlrpc@lists.automattic.com">wp-xmlrpc@lists.automattic.com</a><br>
      &gt; &gt; <a href="http://lists.automattic.com/mailman/listinfo/wp-xmlrpc">http://lists.automattic.com/mailman/listinfo/wp-xmlrpc</a><br>
      &gt;<br>
    </div>
  </div>

_______________________________________________<br>wp-xmlrpc mailing list<br><a href="mailto:wp-xmlrpc@lists.automattic.com">wp-xmlrpc@lists.automattic.com</a><br>http://lists.automattic.com/mailman/listinfo/wp-xmlrpc<br></blockquote></div><br></div></body></html>