*update_ping.inc.php [#p2ea5d7f]
**概要 [#mc8b5123]
-更新ping(update ping)を送信するコマンドプラグイン
-XML-RPC weblogUpdates.pingの実装
***関連 [#r43e9a70]
-[[dev:BugTrack2/73]] weblogUpdates.ping送信の実装

***参考 [#d2affc33]
-http://weblogs.com/api.html
-http://www.xmlrpc.com/weblogsCom
-[[isnot.jp/wiki XML-RPC§更新Pingの送信>http://midnight.sakura.ne.jp/?p=XML-RPC%A1%F8%B9%B9%BF%B7Ping%A4%CE%C1%F7%BF%AE]]
-[[はっぴぃ・りなっくす>http://linux.ohwada.jp/]] / [[PHP WeblogUpdates.ping client>http://linux.ohwada.jp/modules/xfsection/article.php?articleid=298]] , [[応答メッセージ>http://linux.ohwada.jp/modules/xfsection/article.php?articleid=299]]
-http://blog.myrss.jp/archives/2007/04/24_rss_ping.html
----
**開発メモ [#ydd65f65]
***画面遷移(案) [#z8997ba1]
+管理者パスワード認証
+update ping送信先の選択(リスト+任意追加)
--checkboxでping serverを複数選択
--textareaで任意のping server を追記
--送信
+送信結果 兼 前画面と同等
--送信結果の表示

-1で認証したアクセスを2及び3の画面でも継続しなければならない。
--%%セッション処理を行う%%
--hiddenで$adminpassを持ってまわる(簡単!)
---暗号化(ハッシュ)後の$adminpassと言えど,そのままformにhiddenで埋め込むのは気持ちが悪いので細工(端末固有情報で再暗号化)する。

***制約/前提条件 [#lc6d3ea9]
-PHP関連
--[[XMLRPC 関数>http://www.php.net/manual/ja/ref.xmlrpc.php]]は使わない。
--[[HTTP 拡張モジュール>http://www.php.net/manual/ja/ref.http.php]]は使わない。
-PukiWiki本体
--pukiwiki.skin.phpで
 <link rel="alternate" type="application/rss+xml" title="RSS"
   href="<?php echo $link['rss'] ?>" />
が必ず出力されていなければならない。
---ping後に来るクローラーがRSSのURLを自動検知し,更新エントリを取得するため
--pukiwiki.ini.phpの$trackbackは0のままでも良い?
***PukiWiki本体の利用 [#kf8198f8]
[[GPL>http://www.gnu.org/licenses/gpl.html]]である本体を[[modification>http://www.gnu.org/licenses/gpl.html#SEC3]](改変)し再利用する
-lib/auth.php, v 1.19 2005/06/13 14:02:07 henoheno
--function pkwk_login
--function pkwk_hash_compute~
hiddenで持ちまわる$adminpassの細工(再暗号化)に改変し用いる。

-lib/proxy.php,	v 1.9  2005/06/28 14:03:29 henoheno
--function http_request~
かなりそのまま使いたい。。。が,methodがPOSTの場合,TrackBack ping用に最適化されているため利用できない。TrackBack ping用として「''Content-Type: application/x-www-form-urlencoded''」となっているが,weblogUpdates.pingでは「''Content-Type: text/xml''」としなければならない。proxy.phpをハックしたい気持ちを抑えて,function http_requestの改変版を用いる。

***送信メッセージ [#ee38b6dc]
 POST *1 HTTP/1.0
 User-Agent: *2
 Host: *3
 Content-Type: text/xml
 Content-length: *4
 
 <?xml version="1.0"?>
 <methodCall>
 <methodName>weblogUpdates.ping</methodName>
 <params>
 <param>
 <value>$page_title *5</value>
 </param>
 <param>
 <value>$script *6</value>
 </param>
 </params>
 </methodCall>

**todo [#nea6ec17]
-ファイルの入力処理を[[fgetcsv>http://jp.php.net/manual/ja/function.fgetcsv.php]]に?
-[[XMLパーサ関数>http://jp.php.net/manual/ja/ref.xml.php]]を使う?

**コメント [#z4e4e58f]
- pzXLBVrobYh -- [[vlmjlymt]] &new{2009/08/09 (日) 19:17:16};

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 下位頁新規  一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Valid XHTML 1.1 Valid CSS