if (array_key_exists('X-Pingback', $result->headers)) {
$pb = $result->headers['X-Pingback'];
- } else if (preg_match('/<link rel="pingback" href="([^"]+)" ?/?>/',
+ } else if (preg_match('/<link rel="pingback" href="([^"]+)" ?\/?>/',
$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;
{
$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' =>
}
// Largely cadged from trackback_cls.php by
- // Ran Aroussi <ran@blogish.org>, GPL2
+ // Ran Aroussi <ran@blogish.org>, GPL2 or any later version
// http://phptrackback.sourceforge.net/
function getTrackback($text, $url)