X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FLinkbackPlugin.php;h=93a0294c4ca9cbd23cd720c4909089b667494136;hb=cbdf8e51aa2826e11cc17c34bcbf568ca37e26ce;hp=1b5365100eb686c8687b1191073dc640221ea6e5;hpb=420c3613049bec1360cdeb1f50283b239adf23d3;p=quix0rs-gnu-social.git
diff --git a/plugins/LinkbackPlugin.php b/plugins/LinkbackPlugin.php
index 1b5365100e..93a0294c4c 100644
--- a/plugins/LinkbackPlugin.php
+++ b/plugins/LinkbackPlugin.php
@@ -99,18 +99,19 @@ class LinkbackPlugin extends Plugin
if (array_key_exists('X-Pingback', $result->headers)) {
$pb = $result->headers['X-Pingback'];
- } else if (preg_match('//',
+ } else if (preg_match('//',
$result->body,
$match)) {
$pb = $match[1];
}
- $tb = $this->getTrackback($result->body, $result->final_url);
-
- if (!empty($tb)) {
- $this->trackback($result->final_url, $tb);
- } else if (!empty($pb)) {
+ if (!empty($pb)) {
$this->pingback($result->final_url, $pb);
+ } else {
+ $tb = $this->getTrackback($result->body, $result->final_url);
+ if (!empty($tb)) {
+ $this->trackback($result->final_url, $tb);
+ }
}
return $orig;
@@ -120,6 +121,12 @@ class LinkbackPlugin extends Plugin
{
$args = array($this->notice->uri, $url);
+ if (!extension_loaded('xmlrpc')) {
+ if (!dl('xmlrpc.so')) {
+ common_log(LOG_ERR, "Can't pingback; xmlrpc extension not available.");
+ }
+ }
+
$request = xmlrpc_encode_request('pingback.ping', $args);
$context = stream_context_create(array('http' => array('method' => "POST",
'header' =>
@@ -140,7 +147,7 @@ class LinkbackPlugin extends Plugin
}
// Largely cadged from trackback_cls.php by
- // Ran Aroussi , GPL2
+ // Ran Aroussi , GPL2 or any later version
// http://phptrackback.sourceforge.net/
function getTrackback($text, $url)