SmallStyle


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
本日のツッコミ(全1件) [ツッコミを入れる]
_ TrackBack (2006-06-23 09:27)

http://www.smallstyle.com/20060623.html#p02
SmallStyle
コメントフォーム非表示プラグイン
 以前,CSS を利用したコメントフォーム非表示プラグインを書いたのですが,フォームそのものが残っているのは,あまり意味もないかなぁということで,ML でもちょうど話題にあがっていたので,コメントフォームを生成しないプラグインを作成しました. コメントフォーム..


about me

いろいろと興味を持ったことを書いてます.ちょっとしたことは hb(@smallstyle) on Twitter で書いてます.

Archive

2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|12|