RIGHT:&size(10){Category: [[RSS>:Category/RSS]]};~ *TrackBack受信件数が多く表示される [#vbabe4d3] -ページ: BugTrack -投稿者: [[bebebe]] -優先順位: 普通 -状態: 完了 -カテゴリー: プラグイン -投稿日: 2004-07-24 (土) 00:11:11 -バージョン: 1.4.3 ** 関連 [#e68993d0] - 同内容: [[BugTrack/603]] tb.inc.php の tb_save() で ping 受信時に件数が 10 件増える **メッセージ [#ne557ac6] 現象:goo BLOGよりTrackBackを受信した時に、標準スキンで出力するTrackBack受信件数が多く表示された。 確認事項:trackback/~~.txtファイル(EUC,改行LF)を確認すると改行のあるサマリ付きのTrackBackデータを受信している。 -trackback.phpのtb_count()では~~.txtの行数をデータ個数としている。 -保存処理をするtb.inc.phpのtb_save()で受信したTrackBack pingの改行を削除して保存するようにすれば良いのでしょうか。 trackback/~~.txtファイルの余分な改行を削除して、TrackBack1件を1行にすると正しくと表示されます。 ---- -自己フォローです。[[cvs:plugin/tb.inc.php?annotate=1.9]]のtb_save()のあたり104行目から foreach ($fields as $field) { $value = array_key_exists($field,$vars) ? $vars[$field] : ''; if (ereg("[,\"\n\r]",$value)) { $value = '"'.str_replace('"', '""', $value).'"'; } $items[$field] = $value; } このへんだと思うのですが。改行を除く処理をいれてやればよいのですよね(読めるけど書けないレベルなもので)。 -- [[bebebe]] &new{2004-07-26 (月) 02:43:28}; -[[BugTrack/603]] を参考に、修正してみました。自信はないので、お試しください。 -- [[henoheno]] &new{2004-07-31 (土) 22:41:55}; -- [[cvs:plugin/tb.inc.php]] (v1.4:1.12, 1.13) -仕様書などを確認しているわけではありません。これはPukiWiki上の保存フォーマット、および項目のカウント方法の問題であると認識しています。 -- [[henoheno]] &new{2004-07-31 (土) 22:45:35}; -対応ありがとうございます。plugin/tb.inc.php v1.13を用いて動作の確認を行いました。~ [[Wizbang Standalone Trackback Pinger>http://www.aylwardfamily.com/content/tbping.asp]]というTrackBack送信スクリプトからワタシの運営するPukiWikiへTrackBack送信テストをおこないまして、期待する動作をする事を確認しました。 --plugin/tb.inc.php v1.9では、Excerptフィールドの改行がそのまま保存され改行のあるだけTrackBack件数としてカウントされていました。TrackBack件数のリンクで表示される「ディスカッションの継続」というウィンドウでは、Excerptフィールドは改行が削除されて一行に表示されます。 --plugin/tb.inc.php v1.13では、Excerptフィールドの改行が削除され1件のTrackBackとしてカウントされました。 (同じようなBugTrackがあったとは・・・チェックしたつもりで見落としていました。) -- [[bebebe]] &new{2004-08-01 (日) 00:39:50}; -いえいえ、気にしないで下さい :) 検証ありがとうございました。これにて一旦「完了」とさせていただきます。なお、Excerptフィールドの改行を考慮したい場合、改行文字を消すのではなく、\nなどと置換しておいて、表示の際に <br/> に再置換する方法もあると思います。ただ、私にはそのニーズがあるのかどうかはわからないので、まずは現状ままとさせていただきます。 -- [[henoheno]] &new{2004-08-01 (日) 09:01:49}; #comment //#comment