OSDN Git Service

デバッグモードでの表示の変更
authorshizuki <shizuki@1ca29b6e-896d-4ea0-84a5-967f57386b96>
Wed, 16 Jul 2008 13:24:38 +0000 (13:24 +0000)
committershizuki <shizuki@1ca29b6e-896d-4ea0-84a5-967f57386b96>
Wed, 16 Jul 2008 13:24:38 +0000 (13:24 +0000)
・リクエストXMLの表示
・レスポンスXMLの表示(エラー時のみ)

git-svn-id: https://svn.sourceforge.jp/svnroot/nucleus-jp/plugin@666 1ca29b6e-896d-4ea0-84a5-967f57386b96

trunk/NP_PingJP/NP_PingJP.php
trunk/NP_PingJP/pingjp/language/english.php
trunk/NP_PingJP/pingjp/language/japanese-euc.php
trunk/NP_PingJP/pingjp/language/japanese-utf8.php

index 98f3512..610b592 100644 (file)
   *   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 $
   */
 
 
@@ -55,6 +56,7 @@ var $ahttp;
 var $debug   = false;
 var $bgping  = false;
 var $servers;
+var $faltMessageSet;
 
        // {{{ function getName()
 
@@ -108,7 +110,7 @@ var $servers;
         */
        function getVersion()
        {
-               return '1.67';
+               return '1.68';
        }
 
        // }}}
@@ -438,16 +440,18 @@ var $servers;
                        }
                        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;
        }
 
        // }}}
@@ -478,6 +482,37 @@ echo '</pre>';
                        $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');
@@ -500,6 +535,12 @@ echo '</pre>';
                        $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);
        }
@@ -604,6 +645,7 @@ echo '</pre>';
                                $targets[]        = $target;
                        }
                }
+//             print_r($targets);
                return $targets;
        }
 }
index ef60af0..4a5dfeb 100644 (file)
@@ -1,6 +1,6 @@
 <?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');
@@ -11,7 +11,8 @@
        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');
index e3be95d..ae97f0c 100644 (file)
        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',   '¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥ê¥¯¥¨¥¹¥È¤È¤·¤Æ¼õ¿®¤·¤¿°µ½Ì¥Ç¡¼¥¿¤¬ÉÔÀµ¤Ç¤¹');
+
+
+
+
index 7045521..c0604a9 100644 (file)
        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',   'クライアントからリクエストとして受信した圧縮データが不正です');
+
+