]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/ping.php
Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x
[quix0rs-gnu-social.git] / lib / ping.php
index 3de541e9aaf721ec8cbac4e65aabdfbc34d727c9..5698c403875e52b584b80a5fd5f86d8b93a4699f 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /*
- * Laconica - a distributed open-source microblogging tool
- * Copyright (C) 2009, Control Yourself, Inc.
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2009, StatusNet, Inc.
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Affero General Public License as published by
@@ -17,7 +17,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-if (!defined('LACONICA')) { exit(1); }
+if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
 
 function ping_broadcast_notice($notice) {
 
@@ -44,22 +44,18 @@ function ping_broadcast_notice($notice) {
                                                                                                                                array('nickname' => $profile->nickname)),
                                                                                           $tags));
 
-            $context = stream_context_create(array('http' => array('method' => "POST",
-                                                                   'header' =>
-                                                                   "Content-Type: text/xml\r\n".
-                                                                   "User-Agent: Laconica/".LACONICA_VERSION."\r\n",
-                                                                   'content' => $req)));
-            $file = file_get_contents($notify_url, false, $context);
+            $request = HTTPClient::start();
+            $httpResponse = $request->post($notify_url, array('Content-Type: text/xml'), $req);
 
-            if ($file === false || mb_strlen($file) == 0) {
+            if (!$httpResponse || mb_strlen($httpResponse->getBody()) == 0) {
                 common_log(LOG_WARNING,
                            "XML-RPC empty results for ping ($notify_url, $notice->id) ");
                 continue;
             }
 
-            $response = xmlrpc_decode($file);
+            $response = xmlrpc_decode($httpResponse->getBody());
 
-            if (xmlrpc_is_fault($response)) {
+            if (is_array($response) && xmlrpc_is_fault($response)) {
                 common_log(LOG_WARNING,
                            "XML-RPC error for ping ($notify_url, $notice->id) ".
                            "$response[faultString] ($response[faultCode])");
@@ -81,11 +77,11 @@ function ping_broadcast_notice($notice) {
 
             if ($type === 'get') {
                 $result = $fetcher->get($notify_url . '?' . http_build_query($args),
-                                        array('User-Agent: Laconica/'.LACONICA_VERSION));
+                                        array('User-Agent: StatusNet/'.STATUSNET_VERSION));
             } else {
                 $result = $fetcher->post($notify_url,
                                          http_build_query($args),
-                                         array('User-Agent: Laconica/'.LACONICA_VERSION));
+                                         array('User-Agent: StatusNet/'.STATUSNET_VERSION));
             }
             if ($result->status != '200') {
                 common_log(LOG_WARNING,