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 でもちょうど話題にあがっていたので,コメントフォームを生成しないプラグインを作成しました. コメントフォーム..