]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/ping.php
fixed a %d that should be a %s in an error message
[quix0rs-gnu-social.git] / lib / ping.php
index 2797c1b2d23d823b7ae636bfdd3a03cdbdaa98c4..be2933ae34016fb8dd17901e320ca86f6596c5be 100644 (file)
@@ -21,7 +21,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
 
 function ping_broadcast_notice($notice) {
 
-       if (!$notice->is_local) {
+       if ($notice->is_local != Notice::LOCAL_PUBLIC && $notice->is_local != Notice::LOCAL_NONPUBLIC) {
                return true;
        }
 
@@ -44,10 +44,16 @@ function ping_broadcast_notice($notice) {
                                                                                                                                array('nickname' => $profile->nickname)),
                                                                                           $tags));
 
-            $request = new HTTPClient($notify_url, HTTP_Request2::METHOD_POST);
-            $request->setHeader('Content-Type', 'text/xml');
-            $request->setBody($req);
-            $httpResponse = $request->send();
+            $request = HTTPClient::start();
+            $request->setConfig('connect_timeout', common_config('ping', 'timeout'));
+            $request->setConfig('timeout', common_config('ping', 'timeout'));
+            try {
+                $httpResponse = $request->post($notify_url, array('Content-Type: text/xml'), $req);
+            } catch (Exception $e) {
+                common_log(LOG_ERR,
+                           "Exception pinging $notify_url: " . $e->getMessage());
+                continue;
+            }
 
             if (!$httpResponse || mb_strlen($httpResponse->getBody()) == 0) {
                 common_log(LOG_WARNING,
@@ -117,4 +123,4 @@ function ping_notice_tags($notice) {
                return implode('|', $tags);
        }
        return NULL;
-}
\ No newline at end of file
+}