2006-04-12
_ コメントフォーム非表示プラグイン
tDiary では コメント spam 防止のために一定期間を過ぎた日記に対してのコメントは破棄する設定が可能です.ちょっと前に以前の日記でもコメントができるように設定変更しましたが,コメント非表示プラグインを作ってみたので,再度 1 年以上前の日記へのコメントは破棄する設定に戻しました.
#
# comment-hide plugin
#
if @mode == 'day' or @mode == 'month' and not bot? then
if @conf.options.include?('spamfilter.date_limit') &&
@conf.options['spamfilter.date_limit'] &&
/\A\d+\z/ =~ @conf.options['spamfilter.date_limit'].to_s
@date_limit = @conf.options['spamfilter.date_limit'].to_s.to_i
else
@date_limit = nil
end
if @date_limit
now = Time.now
today = Time.local(now.year, now.month, now.day)
limit = today - 24*60*60*@date_limit
if @date < limit
add_header_proc do
<<-STYLE
<style><!--
div.body+div.comment>div.caption,div.form{display:none !important;}
--></style>
STYLE
end
end
end
end
非表示とはいうものの CSS で非表示にしているだけで,フォーム自体は残っています.IE や Firefox などのブラウザでアクセスされた場合で,CSS が有効な場合には表示されませんが,w3m などのテキストブラウザや CSS を切った状態で見るとフォームは表示されます.実際にコメントをもらっても受け付けられないのですが…
コードの大部分は tDiary の spam.rb から流用したものなので,動きそのものは問題ないはず.
つづき: 2006-06-23
http://www.smallstyle.com/20060623.html#p02
SmallStyle
コメントフォーム非表示プラグイン
以前,CSS を利用したコメントフォーム非表示プラグインを書いたのですが,フォームそのものが残っているのは,あまり意味もないかなぁということで,ML でもちょうど話題にあがっていたので,コメントフォームを生成しないプラグインを作成しました. コメントフォーム..