@define('PLUGIN_EVENT_WEBLOGPING_SUPERSEDES', '(supersedes %s)');
@define('PLUGIN_EVENT_WEBLOGPING_CUSTOM', 'カスタム ping サービス');
@define('PLUGIN_EVENT_WEBLOGPING_CUSTOM_BLAHBLA', '「,」で区切られた、一つ以上の特別な ping サービスです。「host.domain/path」のような書式で入力する必要があります。"*"がホスト名の初めに入力されれば、拡張 XML-RPC オプションは、そのホスト(ただもしホストに支援されれば)のもとへ送られるでしょう。"*"がホスト名の初めに入力されれば、拡張 XML-RPC オプションは、そのホスト(ただもしホストがサポートしていれば)のもとへ送られるでしょう。');
+ @define('PLUGIN_EVENT_WEBLOGPING_SEND_FAILURE', '失敗( 理由: %s)');
+ @define('PLUGIN_EVENT_WEBLOGPING_SEND_SUCCESS', '成功!!');
?>
<?php # $Id$
+require_once S9Y_INCLUDE_PATH . 'bundled-libs/HTTP/Request.php';
+
// Probe for a language include with constants. Still include defines later on, if some constants were missing
$probelang = dirname(__FILE__) . '/lang_' . $serendipity['lang'] . '.inc.php';
if (file_exists($probelang)) {
@define('PLUGIN_EVENT_WEBLOGPING_SUPERSEDES', '(supersedes %s)');
@define('PLUGIN_EVENT_WEBLOGPING_CUSTOM', 'Custom ping-services');
@define('PLUGIN_EVENT_WEBLOGPING_CUSTOM_BLAHBLA', 'One or more special ping services, seperated by ",". The entries need to be formatted like: "host.domain/path". If a "*" is entered at the beginning of the hostname, the extended XML-RPC options will be sent to that host (only if supported by the host).');
+ @define('PLUGIN_EVENT_WEBLOGPING_SEND_FAILURE', 'Failure(Reason: %s)');
+ @define('PLUGIN_EVENT_WEBLOGPING_SEND_SUCCESS', 'Success!!');
break;
}
$ms_host = $ms_parts[0];
unset($ms_party[0]);
+ array_shift( $ms_parts); // remove hostname.
$this->services[] = array(
'name' => $ms_name,
'host' => $ms_host,
- 'path' => implode('/', $ms_parts),
+ 'path' => '/'.implode('/', $ms_parts),
'extended' => $is_extended
);
}
}
}
}
-
foreach ($this->services as $index => $service) {
if (isset($serendipity['POST']['announce_entries_' . $service['name']])) {
- printf(PLUGIN_EVENT_WEBLOGPING_SENDINGPING . '...<br />', $service['host']);
+ printf(PLUGIN_EVENT_WEBLOGPING_SENDINGPING . '...', $service['host']);
flush();
# XXX append $serendipity['indexFile'] to baseURL?
);
# 15 second timeout may not be long enough for weblogs.com
- $result = $client->send($message, 15);
+ $message->createPayload();
+ $req = new HTTP_Request( "http://".$service['host'].$service['path']);
+ $req->setMethod(HTTP_REQUEST_METHOD_POST);
+ $req->addHeader( "Content-Type", "text/xml");
+ $req->addRawPostData( $message->payload);
+ $http_result = $req->sendRequest();
+ $http_response = $req->getResponseBody();
+ $xmlrpc_result = $message->parseResponse( $http_response);
+ if ( $xmlrpc_result->faultCode()) {
+ echo sprintf( PLUGIN_EVENT_WEBLOGPING_SEND_FAILURE . "<br />", htmlspecialchars( $xmlrpc_result->faultString()));
+ } else {
+ echo PLUGIN_EVENT_WEBLOGPING_SEND_SUCCESS . "<br />";
+ }
}
}
'name' => 'Myblog japan',
'host' => 'ping.myblog.jp',
'path' => '/',
- 'extended' => true
+ 'extended' => false
),
array(
'name' => 'BLOGGERS.JP',
'host' => 'ping.bloggers.jp',
'path' => '/rpc/',
- 'extended' => true
+ 'extended' => false
),
array(
'name' => 'blogpeople.net',
'host' => 'www.blogpeople.net',
- 'path' => '/weblogUpdates',
+ 'path' => '/servlet/weblogUpdates',
'extended' => true
),
'name' => 'ココログ',
'host' => 'ping.cocolog-nifty.com',
'path' => '/xmlrpc',
- 'extended' => true
+ 'extended' => true // false
),
array(
'name' => 'goo',
'host' => 'blog.goo.ne.jp',
'path' => '/XMLRPC',
- 'extended' => true
- ),
-
- array(
- 'name' => 'coreblog',
- 'host' => 'coreblog.org',
- 'path' => '/ping/',
- 'extended' => true
+ 'extended' => false
),
array(
'name' => 'bulkfeeds',
'host' => 'bulkfeeds.net',
'path' => '/rpc',
- 'extended' => true
+ 'extended' => true // false
),
array(
'name' => 'blogrolling',
'host' => 'rpc.blogrolling.com',
'path' => '/pinger/',
- 'extended' => true
+ 'extended' => false
),
array(
'name' => 'dontpushme.com',
'host' => 'www.dontpushme.com',
'path' => '/ft/XmlRpc/Daily.do',
- 'extended' => true
+ 'extended' => true // false
),
- array(
- 'name' => 'Excite エキサイト : ブログ(blog)',
- 'host' => 'ping.exblog.jp',
- 'path' => '/xmlrpc',
- 'extended' => true
- ),
+// array(
+// 'name' => 'Excite エキサイト : ブログ(blog)',
+// 'host' => 'ping.exblog.jp',
+// 'path' => '/xmlrpc',
+// 'extended' => true // false
+// ),
array(
'name' => 'blogdb.jp',
'host' => 'blogdb.jp',
'path' => '/xmlrpc',
- 'extended' => true
+ 'extended' => false
),
array(
'name' => 'BLOGOOGLE(ブログール) Pingサーバ',
'host' => 'www.blogoole.com',
'path' => '/ping/',
- 'extended' => true
+ 'extended' => false
)
+
);
?>