NP_cles()

123456789101112131415161718192021222324252627282930

NP_TrackBack v2.01jp2 c3

 
投稿者:hsur 投稿日時:2006-02-25 - 18:55
カテゴリー:Plug-in - - トラックバック(2)- Views: 243

先日のc2からさらにバグフィックスを行ったバージョンc3をリリースします。

ダウンロードはこちら [NP_TrackBack v2.01 jp2 c3][256clicks]
※使い方についてはplugins:trackback [Nucleus CMS Japan Wiki]を参照してください。
Bugfix版のNP_TrackBack v2.0.3jp1をリリースしています。

直したのは下記の2つです
 ・管理画面のTB一覧でXMLのパースエラーが出る問題(フォーラムで指摘いただいた分を含む)
 ・トラックバックがひとつしかなくても「Show left 1 Trackbacks」と表示され、クリックすると同じものが表示される問題

XMLのパースエラー問題の解決方法は意外なところから

フォーラムでkosugiatkipsさんに指摘していただいた分はすぐに解決できたのですが、自分の所ではそれでもXMLのパースエラーが起きる場合があって困っていました。今日はちょっと時間があったので、DBに格納されているデータを精査してみたところ、パースエラーになっていると思われる部分に制御コードと思われる見えない文字が入っていることが分かりました。

とりあえずDBをいじってこのコードを取り除くと正常に表示されるので、制御コードを取り除くコードを書こうと思ったのですが・・・・・・このプログラミングをどうすればいいのかわからずちょっと困りました。

Googleでいろいろ探し回ったところ、pukiwikiのshowrss プラグインのchangelog中にXMLパーサが対応していない文字(制御文字など)を取り除くようにした。という一文を見つけたので、これを参考に制御文字を取り除くコードをNP_Trackbackに取り込んでみました。先人の知恵に感謝です。

制御コード削除処理

自分用メモ。

$buf = preg_replace("/[\x01-\x08\x0b\x0c\x0e-\x1f\x7f]+/","",$buf); $buf = str_replace("\0","",$buf);

    このエントリは役に立ちましたか?

      

    トラックバックについて [policy]

    Trackback URL:
    Trackbacks
    このブログですが、コメントスパムを大量にくらいました。 本日の午前2時あたりから約700件ほどスパムを撃たれまくりだったようです。 前の記事を書いて再構築したら、どうもおかしな表示になっていたので気づ...
    days (2006/03/07 15:03)
     このブログと JAFSA Weblog で使用している Nucleus CMS のトラックバック用プラグイン、NP_TrackBack を、最新の v2.01jp2 c3 に更新しました。 -NP_TrackBack v2.01jp2 c3 - NP_cles()
    ひろの日記帳@International Cafeteria (2006/02/27 04:04)

    Comments [policy]

    Z10 wrote:

    こんにちは、
    Show left 1 Trackbacks消えました。
    それと、バージョンの表記が「c2」のままでしたので、自分でc3と記載変更しました。

    2006-02-25 19:39 <%HatenaAuth()%> 

    hsur wrote:

    Z10さん

    バージョンの表記が「c2」のままでしたので

    ご指摘ありがとうございます。
    配布中のアーカイブは表記を修正しました。

    # 動作に支障がないので、いつも忘れちゃうんですよね。。。。

    2006-02-25 19:49 <%HatenaAuth()%> 

    桜枝 真央 wrote:

    お世話になっております。
    NP_TrackBack v2.01jp2 c2 でリンクなしトラックバックを block する機能がありましたが
    c3 を使った時、記事へのリンクがないトラックバックをそのまま通してしまうようです。
    「リンクなしトラックバックを block」というのは
    トラックバックをしてきた記事の中にトラックバックを受ける記事への
    リンクテキストが含まれていない場合保留扱いにする…という意味と理解しているのですが、
    もしかしたらそこから勘違いかなと心配になったので御助言頂けると幸いです。

    2006-03-07 07:31 <%HatenaAuth()%> 

    hsur wrote:

    桜枝さん

    「リンクなしトラックバックを block」というのはトラックバックをしてきた記事の中にトラックバックを受ける記事へのリンクテキストが含まれていない場合保留扱いにする…という意味と理解しているのですが、

    これについてはその通りで、僕の意図と相違はないです。

    ただし、この挙動は常にそうなるというわけではなく、設定に依存しています。

    ということで、一点だけ確認してほしいことがあるのですが、<%TrackBack(required)%>をスキンの個別アイテムページに書いて、リンクのないトラックバックを通してしまったエントリを表示させてみるとどうなるかということです。チェック機能がきちんと有効になっていれば、チェックに使うエントリのURLが表示されるはずです。URLが表示されないようであれば、NP_Trackbackのオプションが以下のようになっているかどうか確認してみてください。

    Blogオプション
     Link check ? が 「はい」
     Accept pings w/o link ? (blog default) が 「いいえ」
    エントリオプション
     Accept pings w/o link ? が 「default」 または「no」

    また、リンクのチェックがどのように行われたかについては「管理者操作履歴」にも出力されますので、そちらも見ていただけると確実だと思います。履歴の内容は以下のような感じで出力されているはずです。

    リンクが見つからなかった場合の例(blockになる)

    Trackback: LinkCheck NG. (itemid:1312 from: http://example.com/example cnt: 83 pat: {^http\://blog\.cles\.jp/item/999999}i )

    リンクが見つかった例

    Trackback: LinkCheck OK. (link: http://blog.cles.jp/item/1304 pat: {^http\://blog\.cles\.jp/item/1304}i )

    # 僕のところでは問題なくblockしているのですが、後でロジックもチェックしておきます。

    2006-03-07 19:59 <%HatenaAuth()%> 

    桜枝 真央 wrote:

    お返事どうも有難うございました。
    確認したところ、ブログオプションの「Accept pings w/o link ? (blog default)」が
    「はい」になっていました……これが原因ですね、申し訳ありません!
    私自身はこの辺の設定を変更した記憶がないので、デフォルトが「はい」になっているということですね。

    管理者操作履歴に全く記録がなく今までどういう状況なのか分からなかったのですが
    上記のブログオプションが「はい」の場合、link check が「はい」でも
    記録が残らないという理解で宜しいでしょうか?

    2006-03-07 21:03 <%HatenaAuth()%> 

    hsur wrote:

    桜枝さん

    解決しそうでなによりです。気にしないでください。

    上記のブログオプションが「はい」の場合、link check が「はい」でも
    記録が残らないという理解で宜しいでしょうか?

    はい。そうです。
    デフォルト設定に関しては、次回のリリースよりデフォルトでblockに見直しをしたいと思います。

    # 1.0との互換性を考えて、デフォルトではblockしないようにしていたんですが昨今のspamの状況を考えるとデフォルトでblockしたほうが良いんでしょうね。

    2006-03-07 21:13 <%HatenaAuth()%> 

    Add Comments

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン