pukiwikiプラグイン:tbrcv

2017-02-25 (土) 18:17:33 (996d)
お名前:

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

プラグイン概要

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

導入に当たっては、プラグインのインストール以外にスキンの書き換えを推奨します。

インストール方法

  1. 本ページに添付されている下記ファイルをダウンロードし、pukiwiki の pluginフォルダに「tbrcv.inc.php」の名前でおいてください。
  2. tbrcv.inc.php 内の先頭部分にある設定値を、運用環境に応じて変更してください。
    設定の詳細については後述します。
  3. pukiwiki に新規にトラックバック用のフォルダを作成してください。
    • 初期状態であれば、以下のような位置に trackback というフォルダを作成します。
      pukiwikiフォルダ
      +attach
      +backup
        :
      +skin
      +trackback  ←これ
      • フォルダ指定は、tbrcv.inc.php の先頭部分で定義されています。
  4. スキンの書き換えを行うことを推奨します。
    • 以下の内容を、スキンの任意ヶ所に記載してください。
      その場所に「現在表示されているページへのトラックバック数」と、詳細表示ページへのリンクが挿入されます。
      <?php
      require_once PLUGIN_DIR.'tbrcv.inc.php';
      echo plugin_tbrcv_init();
      ?>
      <?php
      echo plugin_tbrcv_get_link($page)
      ?>

使い方

上記インストールをすることで、自動的にトラックバックの受信処理が始まります。

以下、追加されている機能について説明します。

当該ページへのトラックバック状況の表示

上記手順4で実施したスキン書き換えの結果、画面内に以下のようなリンクが作られるようになります。

TrackBack(1)

このカッコ内の数字が、外部のページからそのページに対して行われているトラックバックの件数です。 この表示はリンクになっており、クリックすると以下のような一覧表が表示されます。

サイト名ページ名URL
友瀬のはてな出張所2017-02-05http://d.hatena.ne.jp/HarukaTomose/20170205

当該サイト全体でのトラックバック一覧

以下のように記載することで、サイト全体に対するトラックバックの一覧を得ることができます。

#tbrcv

以下のような表形式で表示されます。

ページ名変更時刻
Top Page.2017/02/25 15:27
Pukiwiki 関連。2017/02/21 06:38

ページ名部分はリンクになっています。それを操作することで、前述の「当該ページへのトラックバック状況」のページに移動できます。

プラグインファイル内の設定と動作の変化

一方的トラックバックの拒否

'TRACKBACKR_BAN_NOLINK' を '1' に設定することで、「トラックバックを受信したページURL」が記載されていないページからのトラックバックを拒否することができます。
いわゆる一方的なトラックバックスパムを拒絶できる、ということです。

管理者による「受入承認」

'TRACKBACKR_NEED_ADMIT' を '1' に設定することで、受信したトラックバックを「一時保留」するように動作が変更されます。
「一時保留」されたトラックバック要求は、まるで「受信していない」かのように表示されます: 例えば前述の「Trackback(1)」というような件数にカウントされませんし、一覧にも表示されません。

この「一時保留」に対しては、管理者が、後述の管理操作や trackbackフォルダのファイルを編集することで「承認」することが必要になります。

管理操作

'TRACKBACKR_ALLOW_EDIT' を '1' に設定することで、受信したトラックバックの「削除」と「承認」をpukiwiki 画面から操作できるようになります。
この設定にすると、前述の「当該ページへのトラックバック状況」において「[Goto ManagePage.]」というリンクが表示されるようになります。そちらで編集可能です。

※注意
管理操作による「承認」「削除」機能は、当該ページに対する「書き込み権限」のある人物が実施できます。
wikiシステムの特性上、「広く編集を許可している」ページにおいては容易に「削除」「承認」が可能になるので、注意してください。それが問題になるようなサイトでは、管理操作を有効にしないほうがよいでしょう。

技術的な話。

トラックバック受信の記録

受信したトラックバックは、trackback フォルダ内にテキストファイル形式で保存されています。
ファイル名は、当該ページの名前をエンコードしたものです。

テキスト1行につき、トラックバック1件。
各行はカンマ区切りのデータになっており、1つめのデータが「承認/未承認」のフラグです(承認なら1)。

▼めんどくさい話。

コメント

ご意見などがあれば。


お名前:

お名前:


添付ファイル: filetbrcv.inc.php 10件 [詳細]