<input type="hidden" name="validated" value="<MTSHA1SaltHash><MTCommentPreviewBody convert_breaks='0'><$MTEntryID$><MTCommentPreviewIP> <$MTCommentPreviewAuthor$><$MTCommentPreviewEmail$>< $MTCommentPreviewURL$></MTSHA1SaltHash>" />コメント登録フォームの部分に追加するので、<MTIfCommentsAllowed> </MTIfCommentsAllowed>の間に追加する。(投稿ボタンとかプレビューボタンの記述場所)
1200行目過ぎくらい。(前後数行ずれると思いますので [if ($cookies && $cookies->{commenter_name} && ]などで検索するとすぐ見つかります)
if ($cookies && $cookies->{commenter_name} && $cookies->{commenter_name}->value()) {
$commenter_name = MT::I18N::encode_text($cookies->{commenter_name}->value(),'utf-8',undef);
}
と
if ($registration_allowed || $unregistered_allowed) {
$javascript = <<JAVASCRIPT;
の間。
require Digest::SHA1; my $sha1 = Digest::SHA1->new; $sha1->add( $entry_id . $ENV{'REMOTE_ADDR'} ); my $salt_file = MT::ConfigMgr->instance->PluginPath .'/salt.txt'; my $FH; open($FH, $salt_file) or die "cannot open file <$salt_file> ($!)"; $sha1->addfile($FH); close $FH; my $comment_validated = $sha1->b64digest . "=";
1300行目過ぎくらい。
<p><label for="text"><MT_TRANS phrase="Comments:"></label> $allow_comment_html_note<br />
<textarea tabindex="4" name="text" rows="10" cols="50" id="text">$comment_text</textarea></p>
と
<div align="center">
<input type="submit" name="preview" value=" <MT_TRANS phrase="Preview"> " />
<input style="font-weight: bold;" type="submit" name="post" value=" <MT_TRANS phrase="Post"> " />
</div>
の間に
<input type="hidden" name="validated" value="$comment_validated" />を記述し保存。
require Digest::SHA1; my $sha1 = Digest::SHA1->new; $sha1->add( $entry_id . $ENV{'REMOTE_ADDR'} ); my $salt_file = MT::ConfigMgr->instance->PluginPath .'/salt.txt'; my $FH; open($FH, $salt_file) or die "cannot open file <$salt_file> ($!)"; $sha1->addfile($FH); close $FH; my $digest = $sha1->b64digest . "="; if ($q->param('validated') ne $digest) { return $app->handle_error($app->translate( "Please preview your modified entry before posting it.")); }を記述して