pukiwikiプラグイン:tbsend

2017-02-25 (土) 18:16:18 (990d)
お名前:

表記、そんな感じのものを作ったので、一応公開しておきます。

プラグイン概要

pukiwiki に「トラックバックの送信」機能を追加するプラグインです。

インストール方法

  1. 本ページに添付されている下記ファイルをダウンロードし、pukiwiki の pluginフォルダに「tbsend.inc.php」の名前でおいてください。

使い方

tbsendプラグインは、インラインプラグインです。
パラメータの仕様は以下の通りです。

&tbsend( <url>[, <text> [, <sent_state>] );
  • <url> : トラックバックを送りたい、リンク先のURL
  • <text> : 画面表示用代替テキスト。省略可能、省略した場合 <url>をそのまま表示
  • <sent_state> : トラックバック送信記録。これはプラグインが勝手に出力するので、利用者は記載しなくてかまいません。

上記のように記載すると、画面上は以下のような表示となります:


はてな。


左側のリンク部分は、pukiwiki書式で以下のように記載したのと同じ内容です。

[[text>url]]

ボタン部分を押すと、url のページに対するトラックバック送信を行います。
その後、このボタン部分は非表示になります。

※注意
トラックバック送信を行うには、このプラグインが置かれたページに対する編集権限が必要です。
権限がない人物がボタンを押しても送信は行われませんし、ボタンも残ったままです。

通信結果

通信した結果は、プラグインの第3パラメータに記述されます。
正常に送信された場合、"_send"と記載されます。

技術的な話。

送信するデータと pageinfoプラグインとの連携

トラックバック送信では4つのパラメータが期待されています。
このプラグインでは、以下のようにこれらを決めています。

  • title : このプラグインが記載されているページの pukiwiki ファイル名
  • url :このプラグインが記載されている当該ページのURL
  • excerpt:このプラグインが記載されているページのwikiテキストの先頭200文字
  • blog_name:pukiwiki 内で $page_title で定義されるサイト名称。

ただし、拙作のpageinfoプラグインを導入している場合、titleおよび excerpt は pageinfo の仕様に準じます。

リスク:トラックバックスパムの発信基地となってしまう恐れ

本プラグインでは『一度送信するとボタンを消す』という仕組みによって、同じURLに対するトラックバックの連打が発生しないようにしています。
また『送信するには編集権限が必要』なため、上記に実例を示している通り、権限がない人間からのトラックバック送信は阻止しています。

ですが wikiシステムの都合上、wikiのいずれかのページを編集できる人間は当該ページを何度も編集することで、このプラグインを何度も記述・トラックバック送信することが可能です。
そのような恐れがある場合、このプラグインの導入を避けることを推奨します。

▼めんどくさい話。

コメント

ご意見などがあれば。


お名前:

お名前: