]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/LinkbackPlugin.php
Revert "Rebuilt HTTPClient class as an extension of PEAR HTTP_Request2 package, addin...
[quix0rs-gnu-social.git] / plugins / LinkbackPlugin.php
index 0513687e9196026dbd3daa99d145996df7d50e66..60f7a60c797f60e80b9914f20a1403eefdeb4aaa 100644 (file)
@@ -129,25 +129,27 @@ class LinkbackPlugin extends Plugin
             }
         }
 
-        $request = new HTTPClient($endpoint, 'POST');
-        $request->setHeader('User-Agent', $this->userAgent());
-        $request->setHeader('Content-Type', 'text/xml');
-        $request->setBody(xmlrpc_encode_request('pingback.ping', $args));
-        try {
-            $response = $request->send();
-        } catch (HTTP_Request2_Exception $e) {
+        $request = xmlrpc_encode_request('pingback.ping', $args);
+        $context = stream_context_create(array('http' => array('method' => "POST",
+                                                               'header' =>
+                                                               "Content-Type: text/xml\r\n".
+                                                               "User-Agent: " . $this->userAgent(),
+                                                               'content' => $request)));
+        $file = file_get_contents($endpoint, false, $context);
+        if (!$file) {
             common_log(LOG_WARNING,
-                   "Pingback request failed for '$url' ($endpoint)");
-        }
-        $response = xmlrpc_decode($response->getBody());
-        if (xmlrpc_is_fault($response)) {
-            common_log(LOG_WARNING,
-                   "Pingback error for '$url' ($endpoint): ".
-                   "$response[faultString] ($response[faultCode])");
+                      "Pingback request failed for '$url' ($endpoint)");
         } else {
-            common_log(LOG_INFO,
-                   "Pingback success for '$url' ($endpoint): ".
-                   "'$response'");
+            $response = xmlrpc_decode($file);
+            if (xmlrpc_is_fault($response)) {
+                common_log(LOG_WARNING,
+                       "Pingback error for '$url' ($endpoint): ".
+                       "$response[faultString] ($response[faultCode])");
+            } else {
+                common_log(LOG_INFO,
+                       "Pingback success for '$url' ($endpoint): ".
+                       "'$response'");
+            }
         }
     }