スパムフィルタやreCaptchaを本体の変更なしで組み込めるようにする。
PukiWiki用のreCaptchaやスパムフィルタの実装が複数存在するが、 いずれもPukiWiki本体にパッチを当てる形で導入するようになっている。
ファイル名(プラグイン名)を pukiwiki.ini.php で指定するだけで、その他のファイルを追加するだけで、外部のフィルタを登録できるようにしたい。
架空の "myantispam"プラグイン
plugin/myantispam.inc.php
function plugin_myantispam_post_filter() { global $vars; // ...スパム判定・リジェクト処理 }
pukiwiki.ini.php
$plugin_post_filters = array( 'myantispam', );
とする。
PukiWikiコアロジックで、常に plugin_myantispam_post_filter() 関数が呼ばれるようにする。
lib/plugin.php lib/pukiwiki.php 辺りに変更を入れなくて済むようにしたい。