Movable Typeの投稿コメントのメールアドレスを半角に変換する「CommentEmailByteChangerプラグイン」
Movable Typeの投稿コメントのメールアドレスを半角に変換する「CommentEmailByteChangerプラグイン」を公開します。
1.機能
前提として、MTのコメント投稿機能で、認証なしのコメントを受けつけ、さらに名前とメールアドレスの入力を必須にしている状態にします(下)。
この状態でコメントのメールアドレスを全角文字で入力して投稿した場合、次のようなエラーになります。
全角入力して投稿した場合のエラー
メールアドレスを全角文字での入力(誤った入力)は次のような感じです。
下は半角文字での入力(正しい入力)です。
本プラグインを利用すれば、全角文字で入力したメールアドレスを半角文字に変換するので、冒頭のエラーが出なくなります。全角と半角が混在していても大丈夫です。
下は実際に全角で投稿したコメントの編集画面です。メールアドレスが半角で登録されているのが分かります。
本プラグインはMT5.0以上で動作します。
注:プラグインという位置づけですが、プラグインを実行させるために、MTのプログラムに1行書き加える必要があります。
2.価格
価格:\3,000-(税別)/1インストールMT(購入前に必ず動作確認してください)
3.プラグインのダウンロード・インストール
下記のリンクをクリックして、プラグインアーカイブをダウンロードします。
プラグインアーカイブを展開し、中にある 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;
…後略…
- Movable Typeのコメント投稿者にメールを自動返信する「CommentAutoReplyプラグイン」
- Movable Typeで指定文字列を含むコメントを拒否する「CustomizedCommentfilterプラグイン」
- TwitterのOAuth認証でMovable Typeにコメント投稿できる「TwitComment」プラグイン
MTQでの質問への対応ありがとうございました。無事動作しました。非常に助かりました。
MTをアップデートする際は気を付けないといけませんねえ。
>akira_maruさん
こんばんは。
コメントありがとうございました。
お役に立てたようでなによりです。
ではでは!