MovableType3.17-ja
定期的にコメントspamが大量に押し寄せてくる。
MT-Blockを導入しているので不本意な広告が表示される事は無いが、CPUが100%になってしまう。
バージョンを3に上げると効率良くspamを弾いてくれるのでCPUの負荷も下がる事を期待して、2.66からバージョンアップする事に。
2.66は無料だったが、3からは有料。
最近は同様の機能で無料のソフトも沢山あるが、使い慣れたものを使いたいのと、今まで便利に使わせてもらったので少しくらいお支払いしても良いかなという気持ちもあり、購入を決意。
ライセンスは個人無制限を選択。

2.66からのバージョンアップはスクリプトが用意されていて、実行するだけでOK!
しか~し、コメント機能にバグ。
どんなに設定を変更しても承認機能を解除できない。
ソースを修正して頑張ったが挫折。

この問題は新規インストールだと発生しないらしいので、諦めて現状のバックアップを取得し、新規インストール。
めでたく問題解消。

で、軽いカスタマイズ。

○ブログを跨った検索をしないように修正
search_templates/default.tmpl を修正
<input type="checkbox" name="CaseSearch" /> Match case <input type="checkbox" name="RegexSearch" /> Regex search<br/><br />
の下に、
<input type="hidden" name="IncludeBlogs" value="<$MTBlogID$>" />
を追加

○画像アップロードの際に align hsoace borderを自動挿入
lib/MT/App/CMS.pm を修正
一ヶ所目
my $link = $thumb ? qq(<img src="$thumb" width="$thumb_width" height="$thumb_height"  align=right HSPACE=5 border=0/>) : "View image";
二ヶ所目
<a href="$url"><img alt="$fname" src="$thumb" width="$thumb_width" height="$thumb_height" align=right HSPACE=5 border=0 />

○エントリー作成時にURLにtarget=_blankを自動挿入
mt.js を修正
setSelection(e, '<a href="' + my_link + '" target="_blank">' + str + '</a>');

○コメント文中のURLを新規ウインドウで開く
lib/MT/Util.pm を修正
sub munge_comment {
   my($text, $blog) = @_;
   unless ($blog->allow_comment_html) {
      $text = remove_html($text);
      if ($blog->autolink_urls) {
           $text =~ s!(http://S+)!<a href="$1" target="_blank">$1</a>!g;
      }
   }
   $text;
}

○スパム対策
mt-comments.cgi を mt-comments-任意の文字.cgi にリネーム
mt-tb.cgi を mt-tb-任意の文字.cgi にリネーム
mt.cfgを修正
 CommentScript mt-comments-任意の文字.cgi
 TrackbackScript mt-tb-任意の文字.cgi

○サムネイル作成にチェック
tmpl/cms/upload_complete.tmpl を修正
<label><input type="checkbox" name="thumb" value="1" checked="checked"

○コメント通知メールの件名文字化け対応
lib/MT/Mail.pm を修正(2行コメントアウト)
#    if ($mgr->DefaultLanguage eq 'ja') {
        my $enc = $mgr->PublishCharset;
        $body = MT::I18N::encode_text($body,$enc,'jis');
        $hdrs->{Subject} = MT::I18N::encode_text($hdrs->{Subject}, undef, 'jis');
        $hdrs->{Subject} = Jcode->new($hdrs->{Subject}, 'jis')->mime_encode;
        $hdrs->{Subject} =~ s/r?n/rn/g;
        $hdrs->{'Content-Type'} = qq(text/plain; charset="iso-2022-jp");
        $hdrs->{'Content-Transfer-Encoding'} = "7bit";
        $hdrs->{'MIME-Version'} = "1.0";
#    }

○カテゴリーアーカイブのリンク重複対応
lib/MT/Category.pm を修正
sub category_path {
    my $cat = shift;
#    my $result = MT::Util::dirify($cat->label) || ("cat" . $cat->id);
    my $result = ("cat" . $cat->id);
    do {
        $cat = $cat->parent ? __PACKAGE__->load($cat->parent) : undef;
#        $result = join "/", MT::Util::dirify($cat->label) || ("cat" . $cat->id), $result
        $result = join "/", ("cat" . $cat->id), $result
            if $cat;
    } while ($cat);
    return $result;
}

 

<>は半角に読み替えてね。