X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FLinkbackPlugin.php;h=f220fff8f652b9edfbce3adc19d0b65dfb0256ea;hb=22f02b35ad58030a093563a7df683962b4d165c5;hp=60f7a60c797f60e80b9914f20a1403eefdeb4aaa;hpb=b22fc5b74aecd505d4e2df01258171fc65d312cf;p=quix0rs-gnu-social.git diff --git a/plugins/LinkbackPlugin.php b/plugins/LinkbackPlugin.php index 60f7a60c79..f220fff8f6 100644 --- a/plugins/LinkbackPlugin.php +++ b/plugins/LinkbackPlugin.php @@ -59,7 +59,7 @@ class LinkbackPlugin extends Plugin parent::__construct(); } - function onEndNoticeSave($notice) + function onHandleQueuedNotice($notice) { if ($notice->is_local == 1) { // Try to avoid actually mucking with the @@ -129,18 +129,12 @@ class LinkbackPlugin extends Plugin } } - $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)"); - } else { - $response = xmlrpc_decode($file); + $request = HTTPClient::start(); + try { + $response = $request->post($endpoint, + array('Content-Type: text/xml'), + xmlrpc_encode_request('pingback.ping', $args)); + $response = xmlrpc_decode($response->getBody()); if (xmlrpc_is_fault($response)) { common_log(LOG_WARNING, "Pingback error for '$url' ($endpoint): ". @@ -150,6 +144,9 @@ class LinkbackPlugin extends Plugin "Pingback success for '$url' ($endpoint): ". "'$response'"); } + } catch (HTTP_Request2_Exception $e) { + common_log(LOG_WARNING, + "Pingback request failed for '$url' ($endpoint)"); } }