Movable Typeの投稿コメントのメールアドレスを半角に変換する「CommentEmailByteChangerプラグイン」

Movable Typeの投稿コメントのメールアドレスを半角に変換する「CommentEmailByteChangerプラグイン」

Posted at July 8,2011 12:55 AM
Tag:[CommentEmailByteChanger, MovableType, Plugin]

Movable Typeの投稿コメントのメールアドレスを半角に変換する「CommentEmailByteChangerプラグイン」を公開します。

1.機能

前提として、MTのコメント投稿機能で、認証なしのコメントを受けつけ、さらに名前とメールアドレスの入力を必須にしている状態にします(下)。

登録/認証画面

この状態でコメントのメールアドレスを全角文字で入力して投稿した場合、次のようなエラーになります。

全角入力して投稿した場合のエラー
エラー

メールアドレスを全角文字での入力(誤った入力)は次のような感じです。

メールアドレスを全角で入力

下は半角文字での入力(正しい入力)です。

メールアドレスを半角で入力

本プラグインを利用すれば、全角文字で入力したメールアドレスを半角文字に変換するので、冒頭のエラーが出なくなります。全角と半角が混在していても大丈夫です。

下は実際に全角で投稿したコメントの編集画面です。メールアドレスが半角で登録されているのが分かります。

コメント編集画面

本プラグインはMT5.0以上で動作します。

注:プラグインという位置づけですが、プラグインを実行させるために、MTのプログラムに1行書き加える必要があります。

2.価格

価格:\3,000-(税別)/1インストールMT(購入前に必ず動作確認してください)

3.プラグインのダウンロード・インストール

下記のリンクをクリックして、プラグインアーカイブをダウンロードします。

CommentEmailByteChanger_0_01.zip

プラグインアーカイブを展開し、中にある CommentEmailByteChangerフォルダごと、Movable Type のアプリケーションディレクトリの plugins ディレクトリにアップロードします。

システム管理画面のプラグイン設定画面で、「CommentEmailByteChanger~」が表示されればインストール完了です。

プラグイン設定画面

4.プログラムの修正

lib/MT/App/Comments.pmを任意のエディタで開き、910行目付近に、青色で示す1行を追加します。ここではMT5.12現在のプログラムに手を加えていますが、他のバージョンでもこのあたりの処理は変わっていないと思います。ポイントは赤色で示した「_make_comment」で探して、その次の行に挿入することです。

変更前

…前略…
my ( $comment, $commenter ) = _make_comment( $app, $entry, $blog );
return $app->handle_error(
    $app->translate( "An error occurred: [_1]", $app->errstr() ) )
    unless $comment;
…後略…

変更後

…前略…
my ( $comment, $commenter ) = _make_comment( $app, $entry, $blog );
MT->run_callbacks( 'comment_pre_save', $app, $comment, $commenter );
return $app->handle_error(
    $app->translate( "An error occurred: [_1]", $app->errstr() ) )
    unless $comment;
…後略…
関連記事
トラックバックURL


コメント

MTQでの質問への対応ありがとうございました。無事動作しました。非常に助かりました。
MTをアップデートする際は気を付けないといけませんねえ。

[1] Posted by akira_maru : July 8, 2011 2:20 PM

>akira_maruさん
こんばんは。
コメントありがとうございました。
お役に立てたようでなによりです。
ではでは!

[2] Posted by yujiro logo : July 9, 2011 3:05 AM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)