* v1.65 - Add Live BG mode setting
* v1.66 - Typo fix
* v1.67 - Bug fix
+ * v1.68 - Debug development
*
- * NP_PingJP.php ($Revision: 1.15 $)
- * $Id: NP_PingJP.php,v 1.15 2008-07-13 14:57:07 shizuki Exp $
+ * NP_PingJP.php ($Revision: 1.16 $)
+ * $Id: NP_PingJP.php,v 1.16 2008-07-16 13:24:37 shizuki Exp $
*/
var $debug = false;
var $bgping = false;
var $servers;
+var $faltMessageSet;
// {{{ function getName()
*/
function getVersion()
{
- return '1.67';
+ return '1.68';
}
// }}}
}
if ($background == 0) {
echo $logMsg . "<br />\n";
+ if ($results['error'] && $response->errno == 2 && $this->debug) {
+ $resultXML = $response->raw_data;
+ echo '-------------------- ' . $target . ' receive data --------------------<br />';
+ echo '<pre>' . htmlspecialchars($resultXML, ENT_NOQUOTES, _CHARSET, false) . '</pre>';
+ echo '-------------------- ' . $target . ' receive data --------------------<br />';
+ }
}
-/*
-echo $target."\n<pre>";
-print_r($response);
-echo '</pre>';
-*/
}
if ($GLOBALS['xmlrpc_internalencoding'] != $this->xmlrpc_internalencoding_org) {
$GLOBALS['xmlrpc_internalencoding'] = $this->xmlrpc_internalencoding_org;
}
+ $this->faltMessageSet = false;
}
// }}}
$this->xmlrpc_internalencoding_org = $GLOBALS['xmlrpc_internalencoding'];
$GLOBALS['xmlrpc_internalencoding'] = 'UTF-8';
}
+
+ if (!$this->faltMessageSet) {
+ $GLOBALS['xmlrpcstr']['unknown_method'] = _PINGJP_XMLRPCFAULT_UNKNOWN_METHOD;
+ $GLOBALS['xmlrpcstr']['invalid_return'] = _PINGJP_XMLRPCFAULT_INVALID_RETURN;
+ $GLOBALS['xmlrpcstr']['incorrect_params'] = _PINGJP_XMLRPCFAULT_INCORRECT_PARAMS;
+ $GLOBALS['xmlrpcstr']['introspect_unknown'] = _PINGJP_XMLRPCFAULT_INTROSPECT_UNKNOWN;
+ $GLOBALS['xmlrpcstr']['http_error'] = _PINGJP_XMLRPCFAULT_HTTP_ERROR;
+ $GLOBALS['xmlrpcstr']['no_data'] = _PINGJP_XMLRPCFAULT_NO_DATA;
+ $GLOBALS['xmlrpcstr']['no_ssl'] = _PINGJP_XMLRPCFAULT_NO_SSL;
+ $GLOBALS['xmlrpcstr']['curl_fail'] = _PINGJP_XMLRPCFAULT_CURL_FAIL;
+ $GLOBALS['xmlrpcstr']['invalid_request'] = _PINGJP_XMLRPCFAULT_INVALID_REQUEST;
+ $GLOBALS['xmlrpcstr']['no_curl'] = _PINGJP_XMLRPCFAULT_NO_CURL;
+ $GLOBALS['xmlrpcstr']['server_error'] = _PINGJP_XMLRPCFAULT_SERVER_ERROR;
+ $GLOBALS['xmlrpcstr']['multicall_error'] = _PINGJP_XMLRPCFAULT_MULTICALL_ERROR;
+
+ $GLOBALS['xmlrpcstr']['multicall_notstruct'] = _PINGJP_XMLRPCFAULT_MULTICALL_NOTSTRUCT;
+ $GLOBALS['xmlrpcstr']['multicall_nomethod'] = _PINGJP_XMLRPCFAULT_MULTICALL_NOMETHOD;
+ $GLOBALS['xmlrpcstr']['multicall_notstring'] = _PINGJP_XMLRPCFAULT_MULTICALL_NOTSTRING;
+ $GLOBALS['xmlrpcstr']['multicall_recursion'] = _PINGJP_XMLRPCFAULT_MULTICALL_RECURSION;
+ $GLOBALS['xmlrpcstr']['multicall_noparams'] = _PINGJP_XMLRPCFAULT_MULTICALL_NOPARAMS;
+ $GLOBALS['xmlrpcstr']['multicall_notarray'] = _PINGJP_XMLRPCFAULT_MULTICALL_NOTARRAY;
+
+ $GLOBALS['xmlrpcstr']['cannot_decompress'] = _PINGJP_XMLRPCFAULT_CANNOT_DECOMPRESS;
+ $GLOBALS['xmlrpcstr']['decompress_fail'] = _PINGJP_XMLRPCFAULT_DECOMPRESS_FAIL;
+ $GLOBALS['xmlrpcstr']['dechunk_fail'] = _PINGJP_XMLRPCFAULT_DECHUNK_FAIL;
+ $GLOBALS['xmlrpcstr']['server_cannot_decompress'] = _PINGJP_XMLRPCFAULT_SERVER_CANNOT_DECOMPRESS;
+ $GLOBALS['xmlrpcstr']['server_decompress_fail'] = _PINGJP_XMLRPCFAULT_SERVER_DECOMPRESS_FAIL;
+
+ $this->faltMessageSet = true;
+ }
+
$b =& $manager->getBlog($bid);
$name = $b->getName();
$burl = $this->getBlogOption($bid, 'pingjp_updateurl');
$data[] = new xmlrpcval($feedURL, 'string');
}
$message = new xmlrpcmsg($server['method'], $data);
+ if ($this->debug) {
+ $requestXML = htmlspecialchars(mb_convert_encoding($message->serialize('UTF-8'), _CHARSET, 'UTF-8'), ENT_NOQUOTES, _CHARSET, false);
+ echo '-------------------- ' . $server['name'] . ' send data --------------------<br />';
+ echo '<pre>' . $requestXML . '</pre>';
+ echo '-------------------- ' . $server['name'] . ' send data --------------------<br />';
+ }
$reqestId = $this->ahttp->setRequest($server['addr'], 'POST', $header, $message->serialize('UTF-8'));
return array($reqestId, &$message);
}
$targets[] = $target;
}
}
+// print_r($targets);
return $targets;
}
}
<?php
define('_PINGJP_DESC', 'This plugin can be used to ping many blog tracking services. - Don\'t forget to enable the option \'Ping weblog listing service on update\' in your blog settings!');
- define('_PINGJP_PINGOM', 'Ping-o-matic (need registration)');
+ define('_PINGJP_PINGOM', 'Ping-o-matic');
define('_PINGJP_WEBLOGS', 'weblogs.com');
define('_PINGJP_TECHNOR', 'Technorati');
define('_PINGJP_GOOGLE', 'Google Japan');
define('_PINGJP_ASK', 'ask');
define('_PINGJP_BLOGR', 'Blogrolling.com');
define('_PINGJP_BLOGS', 'Blo.gs (no longer works?)');
- define('_PINGJP_OTHER', 'Other ping servers.');
+ define('_PINGJP_WEBLOGUES', 'Weblogues (no longer works?)');
+ define('_PINGJP_BLOGGDE', 'Blogg.de (not working??)');
define('_PINGJP_BG', 'Ping from background when a future post first appears');
define('_PINGJP_UPDURL', 'Blog URI send to ping servers');
define('_PINGJP_UPDFEED', 'Feed URI send to ping servers(Ex:http://example.com/xml-rss2.php?blogid=2)');
define('_PINGJP_FORMEXTRA', 'Send ping when you edit ITEM ?');
define('_PINGJP_NON_DISPLAY', 'Sending WeblogsUpdatePing at non display mode.');
define('_PINGJP_BACKGROUND', 'Sending WeblogsUpdatePing at non background mode.');
-
+
+
+ define('_PINGJP_XMLRPCFAULT_UNKNOWN_METHOD', 'Unknown method');
+ define('_PINGJP_XMLRPCFAULT_INVALID_RETURN', 'Invalid return payload: enable debugging to examine incoming payload');
+ define('_PINGJP_XMLRPCFAULT_INCORRECT_PARAMS', 'Incorrect parameters passed to method');
+ define('_PINGJP_XMLRPCFAULT_INTROSPECT_UNKNOWN', "Can't introspect: method unknown");
+ define('_PINGJP_XMLRPCFAULT_HTTP_ERROR', "Didn't receive 200 OK from remote server.");
+ define('_PINGJP_XMLRPCFAULT_NO_DATA', 'No data received from server.');
+ define('_PINGJP_XMLRPCFAULT_NO_SSL', 'No SSL support compiled in.');
+ define('_PINGJP_XMLRPCFAULT_CURL_FAIL', 'CURL error');
+ define('_PINGJP_XMLRPCFAULT_INVALID_REQUEST', 'Invalid request payload');
+ define('_PINGJP_XMLRPCFAULT_NO_CURL', 'No CURL support compiled in.');
+ define('_PINGJP_XMLRPCFAULT_SERVER_ERROR', 'Internal server error');
+ define('_PINGJP_XMLRPCFAULT_MULTICALL_ERROR', 'Received from server invalid multicall response');
+
+ define('_PINGJP_XMLRPCFAULT_MULTICALL_NOTSTRUCT', 'system.multicall expected struct');
+ define('_PINGJP_XMLRPCFAULT_MULTICALL_NOMETHOD', 'missing methodName');
+ define('_PINGJP_XMLRPCFAULT_MULTICALL_NOTSTRING', 'methodName is not a string');
+ define('_PINGJP_XMLRPCFAULT_MULTICALL_RECURSION', 'recursive system.multicall forbidden');
+ define('_PINGJP_XMLRPCFAULT_MULTICALL_NOPARAMS', 'missing params');
+ define('_PINGJP_XMLRPCFAULT_MULTICALL_NOTARRAY', 'params is not an array');
+
+ define('_PINGJP_XMLRPCFAULT_CANNOT_DECOMPRESS', 'Received from server compressed HTTP and cannot decompress');
+ define('_PINGJP_XMLRPCFAULT_DECOMPRESS_FAIL', 'Received from server invalid compressed HTTP');
+ define('_PINGJP_XMLRPCFAULT_DECHUNK_FAIL', 'Received from server invalid chunked HTTP');
+ define('_PINGJP_XMLRPCFAULT_SERVER_CANNOT_DECOMPRESS', 'Received from client compressed HTTP request and cannot decompress');
+ define('_PINGJP_XMLRPCFAULT_SERVER_DECOMPRESS_FAIL', 'Received from client invalid compressed HTTP request');
define('_PINGJP_BACKGROUND', '¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥â¡¼¥É¤Ç ping ¤òÁ÷¿®¤·¤Þ¤·¤¿¡£');
+ define('_PINGJP_XMLRPCFAULT_UNKNOWN_METHOD', '¥á¥½¥Ã¥É¤¬ÉÔÌÀ¤Ç¤¹');
+ define('_PINGJP_XMLRPCFAULT_INVALID_RETURN', '¥µ¡¼¥Ð¤«¤é¤Î¥ì¥¹¥Ý¥ó¥¹¤¬ÉÔÀµ¤Ç¤¹: ¥Ç¥Ð¥Ã¥°¥â¡¼¥É¤ò͸ú¤Ë¤·¤Æ¡¢¼õ¿®¥Ç¡¼¥¿¤ò¸¡¾Ú¤·¤Æ¤¯¤À¤µ¤¤');
+ define('_PINGJP_XMLRPCFAULT_INCORRECT_PARAMS', '¥á¥½¥Ã¥É¤Ë¸í¤Ã¤¿¥Ñ¥é¥á¡¼¥¿¤¬ÅϤµ¤ì¤Þ¤·¤¿');
+ define('_PINGJP_XMLRPCFAULT_INTROSPECT_UNKNOWN', '²òÀÏÉÔǽ: ¥á¥½¥Ã¥É¤¬ÉÔÌÀ¤Ç¤¹');
+ define('_PINGJP_XMLRPCFAULT_HTTP_ERROR', '¥ê¥â¡¼¥È¥µ¡¼¥Ð¤«¤é\8e¢200 OK\8e£¤ò¼õ¿®¤·¤Þ¤»¤ó¤Ç¤·¤¿');
+ define('_PINGJP_XMLRPCFAULT_NO_DATA', '¥µ¡¼¥Ð¤«¤é¥Ç¡¼¥¿¤ò¼õ¿®¤·¤Þ¤»¤ó¤Ç¤·¤¿');
+ define('_PINGJP_XMLRPCFAULT_NO_SSL', 'SSL¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó');
+ define('_PINGJP_XMLRPCFAULT_CURL_FAIL', 'CURL¤Î¥¨¥é¡¼¤Ç¤¹');
+ define('_PINGJP_XMLRPCFAULT_INVALID_REQUEST', 'ÉÔÀµ¤Ê¥ê¥¯¥¨¥¹¥È¤Ç¤¹');
+ define('_PINGJP_XMLRPCFAULT_NO_CURL', 'CURL¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó');
+ define('_PINGJP_XMLRPCFAULT_SERVER_ERROR', '¥µ¡¼¥ÐÆâÉô¤Ç¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿');
+ define('_PINGJP_XMLRPCFAULT_MULTICALL_ERROR', '¥µ¡¼¥Ð¤«¤éÉÔÀµ¤Ê¥Þ¥ë¥Á¥³¡¼¥ë¥ì¥¹¥Ý¥ó¥¹¤ò¼õ¿®¤·¤Þ¤·¤¿');
+
+ define('_PINGJP_XMLRPCFAULT_MULTICALL_NOTSTRUCT', 'system.multicall expected struct');
+ define('_PINGJP_XMLRPCFAULT_MULTICALL_NOMETHOD', '¥á¥½¥Ã¥É̾¤¬¤¢¤ê¤Þ¤»¤ó');
+ define('_PINGJP_XMLRPCFAULT_MULTICALL_NOTSTRING', '¥á¥½¥Ã¥É̾¤¬Ê¸»úÎó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó');
+ define('_PINGJP_XMLRPCFAULT_MULTICALL_RECURSION', 'µ¢Ç¼Åªsystem.multicall¤Ï¶Ø¤¸¤é¤ì¤Æ¤¤¤Þ¤¹');
+ define('_PINGJP_XMLRPCFAULT_MULTICALL_NOPARAMS', '¥Ñ¥é¥á¡¼¥¿¤¬¤¢¤ê¤Þ¤»¤ó');
+ define('_PINGJP_XMLRPCFAULT_MULTICALL_NOTARRAY', '¥Ñ¥é¥á¡¼¥¿¤¬ÇÛÎó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó');
+
+ define('_PINGJP_XMLRPCFAULT_CANNOT_DECOMPRESS', '¥µ¡¼¥Ð¤«¤é°µ½Ì¤µ¤ì¤¿¥Ç¡¼¥¿¤ò¼õ¿®¤·¤Þ¤·¤¿¤¬¡¢Å¸³«¤¹¤ë»ö¤¬½ÐÍè¤Þ¤»¤ó');
+ define('_PINGJP_XMLRPCFAULT_DECOMPRESS_FAIL', '¼õ¿®¤·¤¿°µ½Ì¥Ç¡¼¥¿¤¬ÉÔÀµ¤Ç¤¹');
+ define('_PINGJP_XMLRPCFAULT_DECHUNK_FAIL', '¼õ¿®¤·¤¿¥Ç¡¼¥¿¤¬ÉÔÀµ¤Ç¤¹');
+ define('_PINGJP_XMLRPCFAULT_SERVER_CANNOT_DECOMPRESS', '¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥ê¥¯¥¨¥¹¥È¤È¤·¤Æ°µ½Ì¤µ¤ì¤¿¥Ç¡¼¥¿¤ò¼õ¿®¤·¤Þ¤·¤¿¤¬¡¢Å¸³«¤¹¤ë»ö¤¬½ÐÍè¤Þ¤»¤ó');
+ define('_PINGJP_XMLRPCFAULT_SERVER_DECOMPRESS_FAIL', '¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥ê¥¯¥¨¥¹¥È¤È¤·¤Æ¼õ¿®¤·¤¿°µ½Ì¥Ç¡¼¥¿¤¬ÉÔÀµ¤Ç¤¹');
+
+
+
+
define('_PINGJP_FORMEXTRA', '更新後 ping 送信しますか?');
define('_PINGJP_NON_DISPLAY', '非表示モードで ping を送信しました。');
define('_PINGJP_BACKGROUND', 'バックグラウンドモードで ping を送信しました。');
-
+
+
+ define('_PINGJP_XMLRPCFAULT_UNKNOWN_METHOD', 'メソッドが不明です');
+ define('_PINGJP_XMLRPCFAULT_INVALID_RETURN', 'サーバからのレスポンスが不正です: デバッグモードを有効にして、受信データを検証してください');
+ define('_PINGJP_XMLRPCFAULT_INCORRECT_PARAMS', 'メソッドに誤ったパラメータが渡されました');
+ define('_PINGJP_XMLRPCFAULT_INTROSPECT_UNKNOWN', '解析不能: メソッドが不明です');
+ define('_PINGJP_XMLRPCFAULT_HTTP_ERROR', 'リモートサーバから「200 OK」を受信しませんでした');
+ define('_PINGJP_XMLRPCFAULT_NO_DATA', 'サーバからデータを受信しませんでした');
+ define('_PINGJP_XMLRPCFAULT_NO_SSL', 'SSLはサポートされていません');
+ define('_PINGJP_XMLRPCFAULT_CURL_FAIL', 'CURLのエラーです');
+ define('_PINGJP_XMLRPCFAULT_INVALID_REQUEST', '不正なリクエストです');
+ define('_PINGJP_XMLRPCFAULT_NO_CURL', 'CURLはサポートされていません');
+ define('_PINGJP_XMLRPCFAULT_SERVER_ERROR', 'サーバ内部でエラーが発生しました');
+ define('_PINGJP_XMLRPCFAULT_MULTICALL_ERROR', 'サーバから不正なマルチコールレスポンスを受信しました');
+
+ define('_PINGJP_XMLRPCFAULT_MULTICALL_NOTSTRUCT', 'system.multicall expected struct');
+ define('_PINGJP_XMLRPCFAULT_MULTICALL_NOMETHOD', 'メソッド名がありません');
+ define('_PINGJP_XMLRPCFAULT_MULTICALL_NOTSTRING', 'メソッド名が文字列ではありません');
+ define('_PINGJP_XMLRPCFAULT_MULTICALL_RECURSION', '帰納的system.multicallは禁じられています');
+ define('_PINGJP_XMLRPCFAULT_MULTICALL_NOPARAMS', 'パラメータがありません');
+ define('_PINGJP_XMLRPCFAULT_MULTICALL_NOTARRAY', 'パラメータが配列ではありません');
+
+ define('_PINGJP_XMLRPCFAULT_CANNOT_DECOMPRESS', 'サーバから圧縮されたデータを受信しましたが、展開する事が出来ません');
+ define('_PINGJP_XMLRPCFAULT_DECOMPRESS_FAIL', '受信した圧縮データが不正です');
+ define('_PINGJP_XMLRPCFAULT_DECHUNK_FAIL', '受信したデータが不正です');
+ define('_PINGJP_XMLRPCFAULT_SERVER_CANNOT_DECOMPRESS', 'クライアントからリクエストとして圧縮されたデータを受信しましたが、展開する事が出来ません');
+ define('_PINGJP_XMLRPCFAULT_SERVER_DECOMPRESS_FAIL', 'クライアントからリクエストとして受信した圧縮データが不正です');
+
+