]> git.mjollnir.org Git - s9y.git/commitdiff
o update service database for japan.
authorelf2000 <elf2000>
Mon, 27 Jun 2005 16:32:16 +0000 (16:32 +0000)
committerelf2000 <elf2000>
Mon, 27 Jun 2005 16:32:16 +0000 (16:32 +0000)
o supported HTTP 1.1.

plugins/serendipity_event_weblogping/lang_ja.inc.php
plugins/serendipity_event_weblogping/serendipity_event_weblogping.php
plugins/serendipity_event_weblogping/servicesdb_ja.inc.php

index 9d737c71ecc7a2ee8e0a394f881c82e2b51c471d..8037939e397d081660c3978ce455ac7c7ee2f70a 100644 (file)
@@ -19,5 +19,7 @@
         @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', '成功!!');
 
 ?>
index dcf9d9c8c4580b28f649775bc8486e4c9dc94842..6e4e9de5cdd7863fb3ee959352de154860abf2f0 100644 (file)
@@ -1,5 +1,7 @@
 <?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)) {
@@ -27,6 +29,8 @@ switch ($serendipity['lang']) {
         @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;
 }
 
@@ -76,10 +80,11 @@ class serendipity_event_weblogping extends serendipity_event
                     $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
                     );
                 }
@@ -169,10 +174,9 @@ class serendipity_event_weblogping extends serendipity_event
                             }
                         }
                     }
-
                     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?
@@ -212,7 +216,19 @@ class serendipity_event_weblogping extends serendipity_event
                             );
 
                             # 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 />";
+                            }
                         }
                     }
 
index 89f8dac864f72a861c392b588c7ee1dd474bef4f..45655c7e8b8da880938ad95f91436c73fc093345 100644 (file)
               '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
             )
+
         );
 ?>