コメントスパムの対策(スパム受けたことないけど。。)に画像内の数字を入力させる SCode plugin をインストールしようとしたところ、PluginManager があるとインストールが楽だよ、と言われたので、PluginManager plugin(ややこしい。。)を先にインストールしてみることにした。
以下、作業内容だけど、PluginManager のダウンロードページはメール送信しないと教えてくれないので、ここでは一応 [plugin manager download dir] としとく。
% cd [temporary dir] % wget [plugin manager download dir]/pm-install.txt % mv pm-install.txt [mt directory]/pm-install.cgi % wget [plugin manager download dir]/PluginManager-prereqs.tar.gz % cd [mt directory] % cp -pr exlib exlib.org % tar cvfz [temporary dir]/PluginManager-prereqs.tar.gz
これでいくつかのperlモジュールが [mt directory]/extlib に追加インストールされるが、File::Copy::Recursive だけバージョンが違う(デグレードしてしまう)。
diff -ur extlib.org/File/Copy/Recursive.pm extlib/File/Copy/Recursive.pm --- extlib.org/File/Copy/Recursive.pm Wed Jun 21 02:01:03 2006 +++ extlib/File/Copy/Recursive.pm Sun Apr 30 03:52:23 2006 @@ -10,7 +10,7 @@ require Exporter; our @ISA = qw(Exporter); our @EXPORT_OK = qw(fcopy rcopy dircopy fmove rmove dirmove pathmk pathrm pathempty pathrmdir); -our $VERSION = '0.23'; +our $VERSION = '0.21';
なので、それだけ元に戻す。
% cp extlib.org/File/Copy/Recursive.pm extlib/File/Copy/Recursive.pmこれで pm-install.cgi にアクセスすれば、インストールできる。でも
Error initializing Plugin Manager: no such table: mt_pluginmanager(1) at dbdimp.c line 269とか言われる。うむ。とりあえず MT管理画面に行ってみると、
以下のMovable Typeプラグインはアップグレードまたはインストールが必要です。 * Plugin Manager バージョン: 1.05
と言われるので、言われるままにアップグレード。DB内のテーブルの更新が必要だったようだ。これで無事使えるようになった。
pm-install.cgi は削除しておく。
% rm [mt directory]/pm-install.cgi
SCode はこの Plugin Manager を使ってURL入れるだけでインストール完了。
ここまでの作業時間考えたら、ダウンロードして手動でインストールした方が早かったような気もするが気にしない。気を取り直して、システム・メニューで scode plugin の設定。
次に、ブログの方のプラグイン設定で、scode plugin を有効にする。
そして、コメント投稿欄に以下のようなコードを追加。
<label for="scode">数字を入力してください:</label> <input type="hidden" id="code" name="code" value="<$MTSecurityCode$>" /> <img border="0" src="<$MTCGIPath$><$MTSecurityImage$>?code=<$MTSecurityCode$>" style="vertical-align: middle" /> <input id="scode" name="scode" />
これで数字を入力しないとコメントが投稿されないようにできるのだが、
<img src="[cite mt path]/plugins/SCode/mt-scode.cgi?code=2" />
という動的に生成する画像へのリンクが含まれるようになるため、エントリの固定リンクページにコメント欄が設置してあると、パフォーマンス的に好ましくないので、コメント投稿用の画面を別にした。
Plugin Manager をインストールできる人なら、他のプラグインを手動でインストールする方が簡単という気がしないでもないが、telnet/ssh できない環境の場合は相当便利だろうと思う。また、Plugin Manager を使ってインストールしたプラグインの更新確認がボタン一つで行えるようになるのもうれしいかもしれない。
Comments (2)
I am glad you figured out how to work around the "mt_pluginmanager table missing" bug. What version of Plugin Manager were you trying to install? Any recommendations for me on how my users can also work around this issue? (I *thought* I had fixed that bug!)
from Byrne Reese | 2007年01月11日 04:29
2007年01月11日 04:29
Hi, I am not sure what version of Plugin Manager I was trying to install, but probably 1.0.4, and then at the MT control page, I got a message that I had better to upgrade Plugin Manager to 1.0.5.
You already fixed the issue, and it was not critical because I recovered normal state easily.
from groundwalker | 2007年01月11日 22:02
2007年01月11日 22:02