writeback_updateプラグイン作成してみた
〔blosxom - plugins〕 13:45 No Comment ツイート
最近blosxomいじりばっかりです。楽しい? チョー楽しい。
Writeback、つまりblosxom語では「コメント&トラックバック」のことを「Writeback(ライトバック)」と言うわけなんですけれど、 blosxomのシステム上、あとWriteback(プラグイン)のシステム上、投稿データは記事単位に分割されて保存されており、 スパム投稿があった場合は、基本的にはFTPにアクセスしてファイルの内容を手動で削除する方法が主流 (と思っています。少なくともWeb上で削除を行うようなインターフェースは標準では実装されてないので)。
しかし、これを行うとつまり、[単純にテキストファイルを開く→問題の行を削除する→ 上書き保存したテキストファイルをFTPに上書きアップロード]しているだけの事になるので、 もちろんの事ながら「ファイルの更新日時」が変更される。これが変更されると、ある種のプラグイン、 具体的にはrecentwritebacks_treeプラグインで ちょっとした問題が発生する。
このrecentwritebacks_treeプラグインは、ファイルのModify-Timeを直接取得してファイルに順位をつけ、 最も新しいコメントが投稿されたファイルの順に「最新のWriteback」を表示する仕組みになっている。 つまり編集したファイルが先頭に来てしまい、なんというか困るのです。
そういう経緯もあり、先述のrecentwritebacks_treeのコードを一部利用したりなんかしながら、 必要な時に任意で動作させてファイルの更新日時を半ば強引に”正常化”する writeback_updateプラグインというものを作ってみた。 URLの後ろに”?update=1”で動作。ファイル内の投稿日時を取得してそれを”ファイルの更新日時”として書き換えてしまう。
大雑把に作ってみただけなので改良の余地がありまくりんぐ。